【发布时间】:2021-02-08 11:58:33
【问题描述】:
我正在制作一个基于位置的 Web 应用程序,为此我正在使用 geoDjango 和 postgis。问题是每当我尝试在孟加拉国达卡周围存储一些位置(纬度/经度)时,它会自动更改经度。在做了一些调试后,我发现,每当经度超过 90.00 时,geoDjango 将经度保存为 89.something 。
我的模特:
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)
例子:
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.010106,则add[0].geoLocation.y 的输出变为89.989894,但应该是90.010106
谁能告诉我哪里做错了?
【问题讨论】:
标签: django postgresql geolocation postgis geodjango