def to_data_frame(self, answers: List[Answer], queries: List[RegionQuery], level_kind: LevelKind) -> DataFrame: places = PlacesDataFrameBuilder(level_kind) geometry = [] for query, answer in _zip_answers(queries, answers): for feature in answer.features: places.append_row(query, feature) geometry.append(self._geo_parse_geometry(feature.boundary)) return _create_geo_data_frame(places.build_dict(), geometry=geometry)
def to_data_frame(self, answers: List[Answer], queries: List[RegionQuery], level_kind: LevelKind) -> DataFrame: places = PlacesDataFrameBuilder(level_kind) for query, answer in _zip_answers(queries, answers): for feature in answer.features: places.append_row(query, feature) self._lons.append(feature.centroid.lon) self._lats.append(feature.centroid.lat) geometry = [ShapelyPoint(pnt[0], pnt[1]) for pnt in zip(self._lons, self._lats)] return _create_geo_data_frame(places.build_dict(), geometry)
def to_data_frame(self, answers: List[Answer], queries: List[RegionQuery], level_kind: LevelKind) -> DataFrame: assert len(answers) == len(queries) places = PlacesDataFrameBuilder(level_kind) for query, answer in _zip_answers(queries, answers): for feature in answer.features: rects: List[GeoRect] = self._read_rect(feature) for rect in rects: places.append_row(query, feature) self._lonmin.append(rect.min_lon) self._latmin.append(rect.min_lat) self._lonmax.append(rect.max_lon) self._latmax.append(rect.max_lat) geometry = [RectGeoDataFrame.limit2geometry(lmt[0], lmt[1], lmt[2], lmt[3]) for lmt in zip(self._lonmin, self._latmin, self._lonmax, self._latmax)] return _create_geo_data_frame(places.build_dict(), geometry=geometry)