- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在某个点的 5000 米范围内获取 N 个点。我的数据库是 Postgres(PostGis)。我有一个这样的模型:
class Theatre(models.Model):
geom = models.PointField(srid=4326, blank=True, null=True, default=None)
objects = models.GeoManager()
然后我在 django shell 中运行了几行:
Theatre.objects.filter(geom__dwithin=(GEOSGeometry('POINT(30.111199 -97.309990)'), D(m=5000)))
然后出现错误:
ValueError: Only numeric values of degree units are allowed on geographic DWithin queries.
我在 here 中找到了文档它说计算几何距离..
请帮忙..非常感谢!!
最佳答案
派对迟到了一点,但是......
根据 Django's source code如果使用 PostGIS 并且您要查询的字段是“大地测量”(其 SRID 对应于使用非投影单位(例如,纬度/经度)的坐标系)(definition from the docs),则会引发此错误——在这种情况下,您需要传递度数单位的数值而不是 D
对象,如错误消息所示。
不幸的是,这不是一个简单的转换,取决于距赤道的距离;见How do I convert kilometres to degrees in Geodjango/GEOS?
关于django - GeoDjango:在地理 DWithin 查询中只允许使用度数单位的数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23382484/
我正在寻找的解决方案是为 DWITHIN 请求将千米转换为度数的准确方法,或者让 GeoServer 识别请求中指定的单位以便能够直接以千米为单位传递。 我正在向 GeoServer 发出 WFS 请
我试图在某个点的 5000 米范围内获取 N 个点。我的数据库是 Postgres(PostGis)。我有一个这样的模型: class Theatre(models.Model): geom
首先,我是 Geoserver 和 Openlayers 的新手。我一直在尝试使用 Layer 预览页面在 Geoserver 端进行此操作,以使用 Openlayer 查看器查看我的图层。最后,我会
使用geoDjango,有什么区别 myObj.objects.filter(point__dwithin(...etc.)) 和 myObj.objects.filter(point__dist
我将 Django Haystack 与 Elasticsearch 一起使用。 ElasticSearch 可以执行距离查询并针对 5 英里半径返回 11 个结果,而 Haystack 的 dwit
首先:RHEL 6.5 上的 Python 2.7.6、Django 1.6.5、Postgres 9.3.4、PostGIS 2.1.3、psycopg2 2.5.3 这是相关模型: class L
我是一名优秀的程序员,十分优秀!