我在 GeoDjango 的管理界面中显示了错误的 PointField。
这是我的模型:
模型.py
1 class FOO(models.Model):
2 name = models.CharField(max_length=100)
3 point = models.PointField(srid=4326)
5 objects = models.GeoManager()
但是当我创建一个像这样的点时:
from django.contrib.gis.geos import Point
p = Point(43.620416,7.065491)
foo = FOO(.. , point=p)
foo.save()
它在数据库中的格式不正确,在本例中,它在 OSM 的显示屏上类似于 (4856153.76879, 788079.64711),也就是说与我输入的内容完全不同。有人有办法解释这种行为吗?
提前致谢
最佳答案
我的猜测是你调换了纬度和经度。查看您提供的坐标,我假设您希望纬度为 43.620416,经度为 7.065491,因此该点位于法国。然而,according to the doc ,GeoDjango 期望第一个值是经度,第二个值是纬度。
切换这两个坐标可能会导致 GeoDjqngo 迷失您所提供的值。 (4856153.76879, 788079.64711) 可能是您给出的观点的一些内部表示。
关于python - 在 GeoDjango 界面中显示 PointFields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18276961/