Beispiel #1
0
 def test_geometry_value_annotation_different_srid(self):
     p = Point(1, 1, srid=32140)
     point = City.objects.annotate(p=Value(p, GeometryField(
         srid=4326))).first().p
     self.assertTrue(
         point.equals_exact(p.transform(4326, clone=True), 10**-5))
     self.assertEqual(point.srid, 4326)
 def test_geography_value(self):
     p = Polygon(((1, 1), (1, 2), (2, 2), (2, 1), (1, 1)))
     area = (
         City.objects.annotate(
             a=functions.Area(Value(p, GeometryField(srid=4326, geography=True)))
         )
         .first()
         .a
     )
     self.assertAlmostEqual(area.sq_km, 12305.1, 0)
 def test_geometry_value_annotation(self):
     p = Point(1, 1, srid=4326)
     point = City.objects.annotate(p=Value(p, GeometryField(srid=4326))).first().p
     self.assertEqual(point, p)