From b32ed5df8445c54094d870f8031b312c1816e89d Mon Sep 17 00:00:00 2001 From: QuentinAndre Date: Tue, 6 Jul 2021 18:58:53 +0200 Subject: test + geo_get_items --- ishtar_common/models_common.py | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'ishtar_common/models_common.py') diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py index bb1fd4e19..1462d538e 100644 --- a/ishtar_common/models_common.py +++ b/ishtar_common/models_common.py @@ -2849,20 +2849,23 @@ class GeoItem(models.Model): def get_geo_items(self, get_polygons=False, rounded=True): dict = {} - if get_polygons and self.multi_polygon: + if self.multi_polygon: i = 0 - for polygon in self.multi_polygon: - i += 1 - for linearRing in range(len(polygon)): - if linearRing == 0: - key = "external" - else: - key = "internal" - key += "Polygon" + str(i) - dict[key] = [] - for coords in polygon[linearRing]: - point_2d = GEOSGeometry("POINT({} {})".format(coords[0], coords[1]), srid=self.multi_polygon.srid) - dict[key].append(self.convert_coordinates(point_2d, rounded)) + if get_polygons: + for polygon in self.multi_polygon: + i += 1 + for linearRing in range(len(polygon)): + if linearRing == 0: + key = "external" + else : + key = "internal" + key += "Polygon" + str(i) + dict[key] = [] + for coords in polygon[linearRing]: + point_2d = GEOSGeometry("POINT({} {})".format(coords[0], coords[1]), srid=self.multi_polygon.srid) + dict[key].append(self.convert_coordinates(point_2d, rounded)) + else: + dict["centroid"] = self.convert_coordinates(self.multi_polygon.centroid, rounded) else: dict["centroid"] = self.display_coordinates return dict -- cgit v1.2.3