diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-04-09 14:06:55 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-04-24 19:42:35 +0200 |
commit | 1a07bdf0755d88648322de17d608bc57e96e3a6e (patch) | |
tree | db20abceb00537bce3595c93fcbaff9843259a00 /archaeological_finds/tests.py | |
parent | ef4f8dd67767ea83e73d5d1455cab14dd6928c42 (diff) | |
download | Ishtar-1a07bdf0755d88648322de17d608bc57e96e3a6e.tar.bz2 Ishtar-1a07bdf0755d88648322de17d608bc57e96e3a6e.zip |
Geom: more tests
Diffstat (limited to 'archaeological_finds/tests.py')
-rw-r--r-- | archaeological_finds/tests.py | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index 4713f2bcd..3c9995632 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -1655,7 +1655,7 @@ class GeomaticTest(FindInit, TestCase): '((6 3,9 2,9 4,6 3)))' cr = ContextRecord.objects.get(pk=base_find.context_record.pk) t = cr.town - t.center ='SRID=4326;' + center + t.center = 'SRID=4326;' + center t.limit = 'SRID=4326;' + limit t.save() cr = ContextRecord.objects.get(pk=base_find.context_record.pk) @@ -1684,6 +1684,31 @@ class GeomaticTest(FindInit, TestCase): self.assertEqual(base_find.point_source_item, unicode(ContextRecord._meta.verbose_name)) + # geom from context record + center = 'POINT(8 6)' + cr = ContextRecord.objects.get(pk=base_find.context_record.pk) + cr.point_2d = 'SRID=4326;' + center + cr.point_source = 'P' + cr.point_source_item = unicode(ContextRecord._meta.verbose_name) + cr.save() + cr = ContextRecord.objects.get(pk=base_find.context_record.pk) + cr.x = cr.point_2d.x + cr.y = cr.point_2d.y + cr.save() + cr = ContextRecord.objects.get(pk=base_find.context_record.pk) + base_find = models.BaseFind.objects.get(pk=base_find.pk) + base_find.save() + base_find = models.BaseFind.objects.get(pk=base_find.pk) + bfp = GEOSGeometry(base_find.point_2d.ewkt) + bfp.transform(4326) + tp = GEOSGeometry(cr.point_2d.ewkt) + tp.transform(4326) + self.assertTrue(bfp.distance(tp) < 0.0001) + self.assertEqual(base_find.multi_polygon, cr.multi_polygon) + self.assertEqual(base_find.point_source, 'P') # precise + self.assertEqual(base_find.point_source_item, + unicode(ContextRecord._meta.verbose_name)) + # overload of coordinates by form base_find = models.BaseFind.objects.get(pk=base_find.pk) base_find.x = 5 @@ -1741,6 +1766,24 @@ class GeomaticTest(FindInit, TestCase): self.assertIsNotNone(base_find.point_2d) self.assertEqual(base_find.point_source, 'M') # from multi polygon + # geom from context record + limit = 'MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2)),' \ + '((6 3,9 2,9 4,6 3)))' + cr = ContextRecord.objects.get(pk=base_find.context_record.pk) + cr.multi_polygon = 'SRID=4326;' + limit + cr.multi_polygon_source = 'P' + cr.multi_polygon_source_item = unicode(ContextRecord._meta.verbose_name) + cr.save() + cr = ContextRecord.objects.get(pk=base_find.context_record.pk) + base_find = models.BaseFind.objects.get(pk=base_find.pk) + base_find.multi_polygon_source_item = "hop" + base_find.save() + base_find = models.BaseFind.objects.get(pk=base_find.pk) + self.assertEqual(base_find.multi_polygon, cr.multi_polygon) + self.assertEqual(base_find.multi_polygon_source, 'P') # precise + self.assertEqual(base_find.multi_polygon_source_item, + unicode(ContextRecord._meta.verbose_name)) + base_find = models.BaseFind.objects.get(pk=base_find.pk) base_find.point_source = None base_find.spatial_reference_system = srs |