Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django rest framework gis GeoFeatureModelSerializer在序列化时返回更改/不正确的坐标_Python_Gis_Geodjango_Geos_Django Rest Framework Gis - Fatal编程技术网

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时?