python - 在 GeoDjango 界面中显示 PointFields

标签 python geodjango

我在 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/

相关文章:

python - 使用 win32com 和/或 active_directory,如何按名称访问电子邮件文件夹?

python - Discord.py 检测 react

python - 插值 PANDAS df

database - 将 GeoDjango 集成到现有的 Django 项目中

django - 在 AWS Elastic Beanstalk 上部署 Geodjango 应用程序

json - django fixture 中 PointField 的格式是什么?

python - 简单数据集 regplot 中的 keyerror - AttributeError : 'str' object has no attribute 'conjugate'

python - 有没有更优雅的方法来初始化空数据帧

python - Django用动态半径过滤位置距离

postgresql - 使用管道配置数据库时,如何在 Heroku 上自动运行扩展安装命令?