问题标签 [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.
django - 如何将纬度/经度数据导入 PostgreSQL
PostgreSQL / Django / 新手在这里。
我有一堆带有场地和纬度/经度信息的 JSON 数据,我希望将其导入我的数据库。到目前为止,我已经编写了一个脚本来将我的 JSON 格式化为 SQL 语句,因此我可以使用大量的 INSERT 语句来导入它们。
但是当我尝试使用 ST_PointFromText('POINT(lon lat)') 语法时,我的“位置”字段(PointField)让我很伤心。具体来说:
错误:关系“finder_venue”的新行违反检查约束“enforce_srid_location”
那么如何生成正确的 SRID?
或者,鉴于 Django 的轻松,我不禁觉得我在这里犯了编程异端。有人能指出我更聪明的方向吗?
谢谢,
乔恩
geocoding - 如何将英国国家电网参考作为 WKT 提供给 GeoDjango?
我正在尝试将一些 National Grid 引用插入到定义如下的 Django PointField 中:
但是,我不知道如何在 WKT 中正确格式化它们。如果我尝试简单地使用基本的国家电网参考,这就是我得到的TR3241
:
如果我(在阅读了 WKT 后疯狂猜测!)使用,这就是我得到的POINT(TR3241)
:
如何正确格式化网格参考?
postgresql - 如何提高 Postgresql 中的 UPDATE 查询结果时间?
我有以下查询运行了 3 小时以上:
eop 表有 300k+ 条记录,gi 表有 100k+ 条记录。
cp7 字段在两个表中都有索引,这需要太多时间才能完成。
我做错了吗?我该如何改进呢?
python - 需要使用 GeoDjango 在 postGIS 上的性能
这是我第一次将 GeoDjango 与 postGIS 一起使用。在安装和一些运行良好的测试之后,我担心表行会增长时的查询性能。
我正在保存从 Google 地理编码(WGS84 或 SRID 4326)获得的几何点经度和纬度。我的问题是距离操作在我的应用程序中非常常见。我经常需要靠近地标的位置。几何数学非常复杂,所以即使我有空间索引,将来在附近区域拥有超过 1000 个点也可能需要很长时间。
那么有什么方法可以投影这种几何类型以更快地进行距离操作?有谁知道可以呈现包含其中一些点的 Google 地图的 Django 库?
关于如何加快 GeoDjango 空间查询的任何建议?
ruby-on-rails - 使用 Rails 构建 PostGIS 查询
我正在使用带有 Rails (3.0.0rc) 和 Google Map (v3) 的 PostGIS (1.5.1),并且我正在寻找一种方法来查询数据库以检索多边形内的所有点(特别是边界地图视口)。目前我正在将边界坐标发送到服务器,如下所示:
然后在我的控制器中:
我的查询基于此示例,但它的行为并不像预期的那样 - 当地图缩小时会显示大多数点,但不会显示靠近国际日期变更线的点(即在澳大利亚和新西兰) . 当地图放大时,对于全球的任何区域,这些点根本不会显示。我读过一些关于 PostGIS 的地理类型更适合这种查询的内容,但我认为GeoRuby 不支持这种类型(它由 GeoDjango 支持)。我的控制台针对此类请求的输出如下:
构建这样一个查询的最佳方法是什么?我在我的项目中使用了 GeoRuby 和 spatial_adapter gem,但我很难找到很多关于使用它们的信息,如上所述。距离查询可能是更好的方法吗?谢谢!
编辑:我的迁移如下:
gis - tinyows fid 返回为 table_name.null?
我正在尝试在我的应用程序中将 tinyows 与 openlayers 和 postgis 一起用于 wfs-t。我正在使用 osm 表和 myown 表来存储 geom。tinyows 可以很好地处理 osm 故事,但返回 table_name.(null) 作为请求功能的fid 。所以我无法在我的桌子上做 wfs-t。如何解决这个错误,我的错误在哪里?任何帮助都深表感谢。
谢谢。
django - GeoDjango中的地理模式距离 - PostGIS 1.5
我在模型中存储了一个名为“坐标”的 PointField 字段。
然后,我在命令解释器中查询与给定实例最近的实例,并打印其名称和距离(以 km 为单位)。
问题是,当“坐标”字段是几何图形时,它工作得很好。但是,如果我包含选项“geography=True”以获得更好的精度,它会返回一个小得多的值,即使我表示要像以前一样以公里为单位打印它。
我怎样才能得到正确的地理计算?
谢谢
gis - 我想编辑来自 openlayers 的向量的相应 postgresql 数据 - 怎么做?
当用户单击/鼠标悬停在向量上时,我想通过 openlayres 编辑向量的相应文本/数字数据类型列。喜欢,
http://dev4.mapgears.com/bdga/bdgaWFS-T.html#
任何教程页面如何做到这一点?看完了,从它的js代码我很难理解。
-张贴在 gis.stackexchange
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_defssrid 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
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 进行了一些开发,但如有必要我可以更改。