def _tile(cls, data): t = Tile(data["lat"], data["lon"]) t.bottom = data["substance"][0] t.layers = [Layer(l["rock"], l["thickness"]) for l in data["substance"][1]] t.limit() if data["climate"] is not None: t.climate = ClimateInfo( data["climate"]["temperature"], data["climate"]["precipitation"], data["climate"]["koeppen"] ) else: t.climate = None return t