问题标签 [geodjango]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - Django:GeoDjango 是否适合我的网站?
我正在 Django 中建立一个房地产网站,并有一个 Home 模型,它存储包括地址在内的各种信息。数据库后端使用 MySQL。
想要创建类似Yelp的搜索。
用户可以在其中输入邮政编码或城市名称的搜索,然后在该区域中获取主页结果。
用户还可以选择该点的半径(5 英里、10 英里...)并获得更多/更少的结果。
搜索结果将在谷歌地图上,用户可以放大/缩小以在地图中获得新的搜索结果。
Geo Django适合在这里吗?估计没有太多人使用 GeoDjango,因为我找不到很多文档来解决上面提到的问题。
在查看了它的官方文档 大约几个小时后,我真的找不到与我的问题相关的示例,并且不确定它与使用 MySQL 的现有网站的集成程度如何。也许对于我简单的位置使用来说太复杂了?
我真的很好奇 Geo Django 是否适合,如果适合..那么我会更积极、更深入地研究它。如果没有,我会尝试自己构建它。
任何有关 GeoDjango 或如何构建系统的指导或提示都将非常有帮助,将不胜感激。
database - 将 GeoDjango 集成到现有的 Django 项目中
我有一个包含多个应用程序的 Django 项目。他们都与engine = django.db.backends.postgresql_psycopg2
. 现在我想要一些功能GeoDjango
并决定将它集成到我现有的项目中。我通读了教程,看起来我必须为 GeoDjango 创建一个单独的空间数据库。我想知道周围是否有任何东西。我尝试在不更改数据库设置的情况下将其添加到我的一个应用程序的 models.py 中:
但是当我运行syncdb时,我得到了这个错误。
python - 地理 Django mac OS X
我正在尝试在 mac os 上使用 Geodjango,我使用 postgresql 并安装了 GEOS,但出现此错误:
任何的想法?
谢谢
geometry - 将几何转换为几何表单字段的 SRID 时出错
我正在研究 geodjango,postgis,并在使用开放街道地图从 OSMGeoAdmin 保存位置时发现了一个问题。地图相应显示,但是当我想保存一个位置时,它显示为红色错误“将几何转换为 SRID 时发生错误几何表单字段。”....请帮助我。
提前致谢
django - GeoDjango:加速 GEOS 的几何运算
我正在使用 GeoDjango + PostGIS 开发空间排名应用程序。基本上它的作用是检索查询边界框中的所有几何图形,使用我创建的自定义函数计算相似度得分,然后返回得分最高的形状。
目前,每个查询的往返时间非常慢。运行分析器显示瓶颈是由我的相似函数内部threadsafe.py
的GEOSGeometry
操作(即相交、联合、包含等)调用的。这是来自单个查询的示例分析器结果。看起来线程安全的性质GEOSGeometry
是导致性能问题的原因。单独来说,耗时 40 毫秒的操作似乎没什么大不了的,但因为要与查询进行比较的形状数量通常很大,即约 1000 个形状,所以 40 毫秒的操作加起来需要 40 秒。
因此,我的问题是如何优化功能以最小化周转时间。我最初的一些想法是:
- 关闭/避免 的安全性检查
GEOSGeometry
,因为这些对象是瞬态的,不与任何其他线程共享。如果可能的话,这将是理想的情况,因为现在花费的大部分时间都在threadsafe.py
- 使用另一个不安全的几何 API。
在 PostGIS 级别而不是对象级别执行空间操作。不过,这会使代码看起来很难看。(更新:此选项不起作用。仅 SQL 查询的开销会使操作变得更慢。)
你有什么想法?
python - 使用 GeoDjango 在坐标系之间转换
我正在尝试将坐标信息添加到我的数据库中,从而django.contrib.gis
为我的应用程序添加支持。我正在编写一个south
数据迁移,它从数据库中获取地址,并向谷歌询问坐标(到目前为止,我认为我最好的选择是使用geopy
它)。
接下来,我需要将返回的坐标从WGS84:4326
Google 的坐标系转换为WGS84:22186
我的坐标系。
我迷失在 GeoDjango 文档中,试图找到一种方法来做到这一点。到目前为止,我认为我需要这样做:
但是,我不知道如何使用该CoordTransform
对象..似乎被GDAL的数据对象使用,但这对于我想做的事情来说太过分了..
django - 在 GeoDjango 中使用距离()的数据库错误
给定以下(简化的)模型:
暂时忘记应该将 Place 中的 lat/lng 移动到 a PointField()
,我试图浏览所有的Places
并找到最近的城市。目前,我正在做:
这会导致以下错误:
假设 SRID 没有默认为 4326,我srid=4326
在上面的代码中包含并验证了所有城市City.center
的 SRID 为 4326:
关于可能导致这种情况的任何想法?
更新:
sql 查询的创建方式似乎存在问题。报错后,查看sql显示:
看起来 django 正在将 的point
参数distance()
转换为 Extended Well-Known Binary。 如果我然后更改ST_GeomFromEWKB
为ST_GeomFromText
一切正常。 例子:
我在文档中找不到任何关于如何GeoQuerySet.distance()
翻译成 SQL 的内容。我当然可以在查询中使用原始 SQL 来让事情正常工作,但我更愿意将所有内容都很好地保存在 Django 框架中。
django - 使用 GeoDjango 的嵌套查询出错
我在使用GeoDjango中的in
字段查找构建嵌套查询时遇到问题。下面的代码演示了这个问题:
使用上面的代码,会发生以下异常:
(这是完整的堆栈跟踪)
只要内部查询包含空间过滤器,就会出现错误。以下嵌套查询可以正常工作:
知道是什么导致了问题吗?
python - GeoDjango 距离查询返回不正确的结果
我刚刚在我的开发机器上启动并运行了 GeoDjango。问题是我无法让距离查询正常工作。无论我使用什么 SRID,距离结果都是完全关闭的。这是一个例子。
问题是这些地方距离 1m 远point
。
我试着玩弄它,但运气不佳。这是另一个 SRID 的示例。
我有一种感觉,我只是选择了错误的 SRID,但我在网上遇到的任何一个都没有工作,或者给出的任何响应都没有,甚至是适度有用的。
任何帮助是极大的赞赏!
python - 具有 Mysql 坐标/多边形精度的 Geodjango
我创建了一个使用 MySQL 的 geodjango 数据库。
我的问题是,当我使用 PolygonField 添加一条新记录,然后检查一个点是否在该多边形内时,我得到了错误的结果(应该有更多的点)。我[Location.objects.filter(shape__contains='POINT(-0.058188 51.504289)')]
用来检查多边形形状内的点。
我的模型是:
要将我的形状添加到我使用的数据库中:
请看这张图片http://i.stack.imgur.com/qRSnX.png 即使在 geodjango admin 的地图上,我们也可以看到这个多边形的边界不是正确的。
我正在使用这样一个简单的 python 脚本来将我的结果与 geodjango 进行比较:http: //geospatialpython.com/2011/01/point-in-polygon.html
感谢您的帮助