Python django rest framework gis GeoFeatureModelSerializer在序列化时返回更改/不正确的坐标
目前,我有一个Python django rest framework gis GeoFeatureModelSerializer在序列化时返回更改/不正确的坐标,python,gis,geodjango,geos,django-rest-framework-gis,Python,Gis,Geodjango,Geos,Django Rest Framework Gis,目前,我有一个GeometryField,其中包含一个Polygon,这是一个geometry。我打印多边形的坐标,它们看起来很好,就在我指定的位置。然后,我保存模型的实例,然后使用GeoFeatureModelSerializer反序列化,结果发现我的多边形坐标已更改为非常小且接近赤道的坐标 这是最初存储在数据库中的GeometryField中存储的geometry POLYGON ((-79.94751781225206 40.44287206073545, -79.9
GeometryField
,其中包含一个Polygon
,这是一个geometry
。我打印多边形的坐标,它们看起来很好,就在我指定的位置。然后,我保存模型的实例,然后使用GeoFeatureModelSerializer
反序列化,结果发现我的多边形坐标已更改为非常小且接近赤道的坐标
这是最初存储在数据库中的GeometryField
中存储的geometry
POLYGON ((-79.94751781225206 40.44287206073545,
-79.94751781225206 40.44385187931003,
-79.94502872228624 40.44385187931003,
-79.94502872228624 40.44287206073545,
-79.94751781225206 40.44287206073545))
然后,使用GeoFeatureModelSerializer
序列化并返回
[[-0.000718176362453, 0.000363293553554],
[-0.000718176362453, 0.000363316438548],
[-0.000718135112337, 0.000363316438548],
[-0.000718135112337, 0.000363293553554],
[-0.000718176362453, 0.000363293553554]]
我不知道是什么原因造成的
非常感谢。通过指定SRID解决了这一问题。根据Django文档,SRID是 <>选择合适的SRID是开发者应该慎重考虑的一个重要决定。SRID是一个整数说明符,对应于将用于解释空间数据库中数据的投影系统。()
我对具有特定SRID的多边形执行操作,并返回具有不同SRID的另一个多边形。我只需使用
GEOSGeometry(polygon,SRID=some_值)
将要返回的多边形“投射”到我想要的SRID。基本上,我返回的多边形正在投影到我不想要的其他格式。请详细说明您在何处使用了线GEOSGeometry(多边形,srid=some_值)
?您知道这是否也会反过来工作,即当使用DRF将几何图形从客户端发布到DB时?