2

我在 GeoDjango 的管理界面中的 PointFields 显示错误。

这是我的模型:

模型.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),也就是说与我输入的完全不同。有谁知道解释这种行为?

提前致谢

4

1 回答 1

2

我的猜测是您切换了纬度和经度。查看您提供的坐标,我假设您希望纬度为 43.620416,经度为 7.065491,因此该点位于法国。但是,根据文档,GeoDjango 期望第一个值是经度,第二个值是纬度。

切换这两个坐标可能导致 GeoDjqngo 迷失了您提供的值。(4856153.76879, 788079.64711) 可能是您给出的观点的一些内部表示。

于 2013-08-19T21:54:17.207 回答