From 670ce3fb9c575dbac398a4887f749504a1f73088 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 19 Feb 2019 20:12:56 +0100 Subject: Geom: fi x, y overload by form - geo tests --- ishtar_common/utils.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'ishtar_common/utils.py') diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index a263f3640..c9b53c5ee 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -499,8 +499,15 @@ def post_save_geo(sender, **kwargs): current_source = unicode(instance.__class__._meta.verbose_name) if instance.point_source_item and \ instance.point_source_item != current_source: # refetch + csrs = instance.spatial_reference_system + + if instance.x and instance.y: + new_point = GEOSGeometry( + 'POINT({} {})'.format(instance.x, instance.y), srid=csrs.srid) + proj_point = instance.point_2d.transform(csrs.srid, clone=True) + if new_point.distance(proj_point) < 0.0001: + instance.x, instance.y = None, None instance.point, instance.point_2d = None, None - instance.x, instance.y = None, None instance.point_source = None point = instance.point -- cgit v1.2.3