首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >geoDjango自动更改经度

geoDjango自动更改经度
EN

Stack Overflow用户
提问于 2020-10-26 16:18:41
回答 1查看 105关注 0票数 0

我正在制作一个基于位置的web应用程序,为此我使用了geoDjango和postgis。问题是,每当我尝试存储孟加拉国达卡周围的某个位置(纬度/经度)时,它会自动更改经度。在做了一些调试之后,我发现只要经度超过90.00,geoDjango就会将经度保存为89.thing。

我的模型:

代码语言:javascript
复制
from django.db import models
from django.contrib.gis.db import models as locationModels

class Advertise(models.Model):
        house_name = models.CharField(max_length=100, null=True)
        geoLocation = locationModels.PointField(geography=True, null=True)

示例:

代码语言:javascript
复制
from django.contrib.gis.geos import Point
lat, lng = 23.724609, 88.882694
pnt = Point(lat, lng)
add = models.Advertise(geoLocation=pnt,house_name='test1')
add.save()

add = models.Advertise.objects.filter(house_name='test1')

add[0].geoLocation.y的输出为88.882694

如果我将lat,lng的值更改为23.777976, 90.010106add[0].geoLocation.y的输出将变成89.989894,但它应该是90.010106

谁能告诉我我哪里做错了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-26 21:18:05

您正在交换纬度和经度。必须先指定经度(x),然后指定纬度(y)。

不幸的是,PostGIS不会抛出错误,而是会尝试解释越界的值,比如在地球的另一边移动,或者在纬度> 90度的情况下从极点“往回移动”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64533550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档