问题标签 [postgis]

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.

0 投票
1 回答
1738 浏览

django - 如何将纬度/经度数据导入 PostgreSQL

PostgreSQL / Django / 新手在这里。

我有一堆带有场地和纬度/经度信息的 JSON 数据,我希望将其导入我的数据库。到目前为止,我已经编写了一个脚本来将我的 JSON 格式化为 SQL 语句,因此我可以使用大量的 INSERT 语句来导入它们。

但是当我尝试使用 ST_PointFromText('POINT(lon lat)') 语法时,我的“位置”字段(PointField)让我很伤心。具体来说:

错误:关系“finder_venue”的新行违反检​​查约束“enforce_srid_location”

那么如何生成正确的 SRID?

或者,鉴于 Django 的轻松,我不禁觉得我在这里犯了编程异端。有人能指出我更聪明的方向吗?

谢谢,

乔恩

0 投票
1 回答
791 浏览

geocoding - 如何将英国国家电网参考作为 WKT 提供给 GeoDjango?

我正在尝试将一些 National Grid 引用插入到定义如下的 Django PointField 中:

但是,我不知道如何在 WKT 中正确格式化它们。如果我尝试简单地使用基本的国家电网参考,这就是我得到的TR3241

如果我(在阅读了 WKT 后疯狂猜测!)使用,这就是我得到的POINT(TR3241)

如何正确格式化网格参考?

0 投票
2 回答
204 浏览

postgresql - 如何提高 Postgresql 中的 UPDATE 查询结果时间?

我有以下查询运行了 3 小时以上:

eop 表有 300k+ 条记录,gi 表有 100k+ 条记录。

cp7 字段在两个表中都有索引,这需要太多时间才能完成。

我做错了吗?我该如何改进呢?

0 投票
3 回答
3634 浏览

python - 需要使用 GeoDjango 在 postGIS 上的性能

这是我第一次将 GeoDjango 与 postGIS 一起使用。在安装和一些运行良好的测试之后,我担心表行会增长时的查询性能。

我正在保存从 Google 地理编码(WGS84 或 SRID 4326)获得的几何点经度和纬度。我的问题是距离操作在我的应用程序中非常常见。我经常需要靠近地标的位置。几何数学非常复杂,所以即使我有空间索引,将来在附近区域拥有超过 1000 个点也可能需要很长时间。

那么有什么方法可以投影这种几何类型以更快地进行距离操作?有谁知道可以呈现包含其中一些点的 Google 地图的 Django 库?

关于如何加快 GeoDjango 空间查询的任何建议?

0 投票
3 回答
1671 浏览

ruby-on-rails - 使用 Rails 构建 PostGIS 查询

我正在使用带有 Rails (3.0.0rc) 和 Google Map (v3) 的 PostGIS (1.5.1),并且我正在寻找一种方法来查询数据库以检索多边形内的所有点(特别是边界地图视口)。目前我正在将边界坐标发送到服务器,如下所示:

然后在我的控制器中:

我的查询基于此示例,但它的行为并不像预期的那样 - 当地图缩小时会显示大多数点,但不会显示靠近国际日期变更线的点(即在澳大利亚和新西兰) . 当地图放大时,对于全球的任何区域,这些点根本不会显示。我读过一些关于 PostGIS 的地理类型更适合这种查询的内容,但我认为GeoRuby 不支持这种类型(它由 GeoDjango 支持)。我的控制台针对此类请求的输出如下:

构建这样一个查询的最佳方法是什么?我在我的项目中使用了 GeoRuby 和 spatial_adapter gem,但我很难找到很多关于使用它们的信息,如上所述。距离查询可能是更好的方法吗?谢谢!

编辑:我的迁移如下:

0 投票
1 回答
128 浏览

gis - tinyows fid 返回为 table_name.null?

我正在尝试在我的应用程序中将 tinyows 与 openlayers 和 postgis 一起用于 wfs-t。我正在使用 osm 表和 myown 表来存储 geom。tinyows 可以很好地处理 osm 故事,但返回 table_name.(null) 作为请求功能的fid 。所以我无法在我的桌子上做 wfs-t。如何解决这个错误,我的错误在哪里?任何帮助都深表感谢。

谢谢。

0 投票
1 回答
260 浏览

django - GeoDjango中的地理模式距离 - PostGIS 1.5

我在模型中存储了一个名为“坐标”的 PointField 字段。

然后,我在命令解释器中查询与给定实例最近的实例,并打印其名称和距离(以 km 为单位)。

问题是,当“坐标”字段是几何图形时,它工作得很好。但是,如果我包含选项“geography=True”以获得更好的精度,它会返回一个小得多的值,即使我表示要像以前一样以公里为单位打印它。

我怎样才能得到正确的地理计算?

谢谢

0 投票
1 回答
319 浏览

gis - 我想编辑来自 openlayers 的向量的相应 postgresql 数据 - 怎么做?

当用户单击/鼠标悬停在向量上时,我想通过 openlayres 编辑向量的相应文本/数字数据类型列。喜欢,

http://dev4.mapgears.com/bdga/bdgaWFS-T.html#

任何教程页面如何做到这一点?看完了,从它的js代码我很难理解。

-张贴在 gis.stackexchange

0 投票
2 回答
3069 浏览

gis - postgis / proj 900913 到 Y 坐标的 4326 投影问题

这是一个老歌,但我似乎找不到解决方案。

当我想对 900913 坐标到 4326 系统进行 st_transform 时,y 坐标会发生变化。

例子:

SELECT AsText(变换(变换(GeomFromText('POINT(449760.25168159 6790560.4594059)',900913),4326),900913))

这里原来的 900913 声明点是 st_stransformed 到 4326 并返回到 900913。结果不是原来的点,y 不同。(我稍后会插入结果,我这里没有)。

我尝试将 proj4text 更改为 4326,添加 +nadgrids=@null 就像我在某处读到的一样

srid 4326 的 proj4text 目前是:

"从 srid=4326 的 spatial_ref_sys 中选择 proj4text" +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs

srid 900913 的 proj4text 当前为:

"从 srid=900913 的 spatial_ref_sys 中选择 proj4text" +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@空 +no_defs

我还尝试从 900913 投影到另一个投影到 4326,但我得到的点与从 900913 到 4326 的直接转换完全相同。

有人有什么想法吗?

EJ

0 投票
5 回答
51158 浏览

mysql - GIS:PostGIS/PostgreSQL vs. MySql vs. SQL Server?

编辑:几个月来我一直在使用 Postgres 和 PostGIS,我很满意。

我需要分析几百万条地理编码记录,每条记录都有纬度和经度。这些记录包括至少三种不同类型的数据,我将尝试查看每组数据是否会相互影响。

哪个数据库最适合所有这些数据的底层数据存储?这是我的愿望:

  • 我熟悉 DBMS。我对 PostgreSQL 最薄弱,但如果其他一切都检查出来,我愿意学习。
  • 它适用于 GIS 查询。谷歌搜索表明 PostgreSQL + PostGIS 可能是最强的?至少很多产品似乎都在使用它。MySql 的空间扩展似乎比较少?
  • 低成本。尽管 SQL Server Express 2008 R2 中有 10GB 的数据库限制,但我不确定我是否愿意接受免费版本的这个限制和其他限制。
  • 与 Microsoft .NET Framework 不冲突。感谢 Connector/Net 6.3.4,MySql 可以很好地运行 C# 和 .NET Framework 4 程序。它完全支持 .NET 4 的实体框架。尽管我不反对为 Devart 的 dotConnect for PostgreSQL 专业版支付 180 美元,但我找不到任何非商业的 PostgreSQL 等价物。
  • 与 R 兼容。似乎所有这 3 个都可以使用 ODBC 与 R 对话,因此可能不是问题。

我已经使用 MySql 进行了一些开发,但如有必要我可以更改。