问题标签 [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 & Postgis:使用 ST_Distance_sphere 进行距离查找
在 Django文档中,我读到:
在除 dwithin 之外的每个距离查找中,可以包含一个可选的第三个元素“椭球体”,以告诉 GeoDjango 在具有大地坐标系的字段上使用更准确的椭球体距离计算函数(例如,将使用 ST_Distance_Spheroid 代替 ST_Distance_Sphere)。
但是,当我尝试在 Postgis 1.5 数据库上使用“distance_lte”执行距离查找时,查询是使用“ST_Distance”而不是“ST_Distance_sphere”执行的。为什么 ?我是不是忘记了什么?
打印这个:
谢谢
django - geoDjango - 强制转换为 Unicode:需要字符串或缓冲区,找到 LineString
我正在使用 geoDjango 运行 Django 安装,并创建了这样的模型:
这行得通,我能够在终端中创建线串对象,并且诚然我从来没有让它们真正显示出来,但这更多是因为我的显示还没有完全完成。
但后来我看到了一个截屏视频,虽然是从 2008 年开始,geodjango 的创建者 - bronn,他在管理页面上获得了一个 openlayer 开放街道地图接口,我按照他的说明添加了一个带有 OSMGeoAdmin 的 admin.py,结果如下:
这也可以正常工作 - 我得到一张可以在其上绘制线串的地图,但是当我尝试保存它时 - 或者如果我已经创建了一个 Route 对象并尝试在管理页面上查看 Route 列表 - 我得到一个错误。更具体地说,“强制转换为 Unicode:需要字符串或缓冲区,找到 LineString”,据我了解,这来自于尝试对没有 __ unicode__ 函数(或类似函数)的对象进行 unicode 编码。
所以我检查了线串对象定义并且没有 unicode 函数所以我做了一个微弱的尝试添加一个,但没有运气。
所以我在这里,难住了。任何人都知道我可以如何解决这个问题?
编辑堆栈跟踪:
mapping - Geodjango:从 OSGB_1936 导入数据,在 WGS84 中显示?
我有一些多边形数据保存在 PostGIS 数据库中,投影 SRID 为 27700。
我想在 OpenStreetMap 上显示形状,即使用 SRID 900913(我认为?)。
所以,两个问题:
- 如何更改下面的代码以使用 OpenStreetMap 的正确 SRID 输出?
- 如何更改下面的 Django 代码以给我一个漂亮的 json 对象,准备显示为多边形?
如果这个问题没有意义,我深表歉意——我对 GeoDjango 很陌生。
postgresql - GeoDjango 设置:错误:无法访问文件“$libdir/postgis-1.5”:没有这样的文件或目录
更新:以为我已经解决了,但我没有……请参见下文。
我在 Mac OSX 上安装 GeoDjango。我按照Mac 安装说明进行操作,一切顺利,现在正在为 PostGIS 创建空间数据库模板。
但是,当我尝试加载 PostGIS SQL 例程时,我得到ERROR: could not access file "$libdir/postgis-1.5": No such file or directory
:
出了什么问题,我该如何解决?
我从 postgis IRC 找到了这些说明,但我认为我正在运行正确版本的 pg_config 等:
我从KyngChaos安装了 postgres 及其 PostGIS 扩展。如果我查看/usr/local/pgsql/lib
,那里有一个名为的文件postgis-1.5.so
,所以我不明白为什么找不到它。
postgresql - GeoDjango: editing the standard PostGIS template to include OSGB36
I've just installed GeoDjango (yay) and now I'm trying to follow these instructions to set up an existing GeoDjango project, which needs OSGB36:
However. If I connect to the postgis_template created as part of the GeoDjango install, it doesn't appear to have any rows or columns at all:
How do I make the edits necessary to update SRID 27700 and SRID 29902 as described here? Have I created template_postgis wrong? I didn't see any errors during install.
postgis - 如何使用 PostGIS 高效查询大型多面体
我正在使用似乎过于分散而无法有效查询的无线电地图。当我询问单个点是否在多面体中时,响应时间为 20-40 秒(我已经测试了“内部”/“包含”/“重叠”)。我使用 PostGIS 和 GeoDjango 来抽象查询。
多多边形列有一个 GiST 索引,我尝试过 VACUUM ANALYZE。我使用 PostgreSQL 8.3.7。和 Django 1.2。
这些地图覆盖了广阔的地理区域。它们最初是由地形感知无线电工具生成的,因此无线电单元/多边形是碎片化的。
我的目标是查询多面体中的点(即信号可能覆盖也可能不覆盖的房屋)。
所有的无线电地图都由 100.000 到 300.000 个顶点(总计)组成,多边形的数量变化很大。有些地图的多边形少于 10 个。从那里它跳到 10.000 到 30.000 个多边形之间。多边形与顶点的比率似乎对完成查询所花费的时间影响不大。
我使用投影坐标系,并为房屋和无线电部门使用相同的系统。Qgis 显示无线电扇区和地图正确放置在地形中。
我的测试查询在一张无线电地图中一次只针对一所房子。我已经测试过像“within”/“contains”/“overlaps”这样的查询,结果是一样的:
如果房子“远离”无线电地图,则亚秒级响应(我猜这是因为它位于查询中自动使用的边界框之外)。
如果房屋/点靠近或在无线电地图内,则响应时间为 20-40 秒。
我是否有其他方法来优化查询,或者我必须以某种方式更改/简化源材料?任何建议表示赞赏。
django - 如何将纬度/经度数据导入 PostgreSQL
PostgreSQL / Django / 新手在这里。
我有一堆带有场地和纬度/经度信息的 JSON 数据,我希望将其导入我的数据库。到目前为止,我已经编写了一个脚本来将我的 JSON 格式化为 SQL 语句,因此我可以使用大量的 INSERT 语句来导入它们。
但是当我尝试使用 ST_PointFromText('POINT(lon lat)') 语法时,我的“位置”字段(PointField)让我很伤心。具体来说:
错误:关系“finder_venue”的新行违反检查约束“enforce_srid_location”
那么如何生成正确的 SRID?
或者,鉴于 Django 的轻松,我不禁觉得我在这里犯了编程异端。有人能指出我更聪明的方向吗?
谢谢,
乔恩
mysql - 来自 GeoDjango PointField 的 Mysql 中不可读的数据
我正在将 GeoDjango 与 MySQL 一起使用。我使用了一个models.PointField(srid=4326)
对象,一切正常,数据已正确保存并从数据库中检索,但是当我select * from table
从 MySQL 命令行执行操作时,PointField
字段数据显示不可读的字符,而不是POINT(x,y)
我预期的表单。
这是正常行为吗?
geocoding - 如何将英国国家电网参考作为 WKT 提供给 GeoDjango?
我正在尝试将一些 National Grid 引用插入到定义如下的 Django PointField 中:
但是,我不知道如何在 WKT 中正确格式化它们。如果我尝试简单地使用基本的国家电网参考,这就是我得到的TR3241
:
如果我(在阅读了 WKT 后疯狂猜测!)使用,这就是我得到的POINT(TR3241)
:
如何正确格式化网格参考?
python - 需要使用 GeoDjango 在 postGIS 上的性能
这是我第一次将 GeoDjango 与 postGIS 一起使用。在安装和一些运行良好的测试之后,我担心表行会增长时的查询性能。
我正在保存从 Google 地理编码(WGS84 或 SRID 4326)获得的几何点经度和纬度。我的问题是距离操作在我的应用程序中非常常见。我经常需要靠近地标的位置。几何数学非常复杂,所以即使我有空间索引,将来在附近区域拥有超过 1000 个点也可能需要很长时间。
那么有什么方法可以投影这种几何类型以更快地进行距离操作?有谁知道可以呈现包含其中一些点的 Google 地图的 Django 库?
关于如何加快 GeoDjango 空间查询的任何建议?