问题标签 [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 回答
272 浏览

postgresql - PostgreSQL+PostGIS 函数,为一对(纬度,经度)点提供角度分离

我写了以下代码(花了几个小时试图让引用正确):

此功能有效,但不幸的是,它的精度是可怕的。似乎应该有一个更简单的方法来做到这一点。我只想将值传递给函数并将它们传递给 ST 函数。如果不先将它们转换为字符串,我完全找不到这样做的方法,这可能是精度损失的原因。

我这样做完全搞砸了吗?

0 投票
1 回答
1916 浏览

postgresql - 将 EXECUTE 授予许多 PostGIS 功能

我有一个基于 MapServer 的 Web 应用程序,它使用 PostGIS 作为底层数据库扩展。现在我想要一个用于 MapServer 的专用数据库角色,因为我不想通过 postgres 超级用户访问数据库。这个角色应该只对公共表有 SELECT 权限(这很容易实现)和对公共 PostGIS 函数的 EXECUTE 权限。

出现了几个问题:是否所有 PostGIS 相关功能都存储在数据库的公共模式中,还是还有其他需要考虑的?

如何从数据库的 information_schema 或 pg_catalog 中提取所有函数信息 - 即函数名称、参数数量和名称?!对于 MapServerUser 语句的函数(args)上的 GRANT EXECUTE,我需要此信息!

先感谢您!!!

0 投票
2 回答
6596 浏览

sql - PostGIS:多面体的边界框

在此示例中,“mytable”包含两列:“ id ”是行的唯一 id 编号,“ area ”是每行包含一个MULTIPOLYGON的几何字段。


这适用于仅包含一个多边形的多面体,但有些行的多边形非常分散,因此当多面体包含一个在欧洲的多边形和一个在加拿大的多边形时,边界框不相关。

所以我需要一种方法来为每个多边形的每个多边形获得一个 box2d,但我还没有找到如何做到的。更准确地说,我的目标是每行返回一个多多边形,每个多边形包含一个 box2d。


第一个例子

  • 编号:123
  • area : 在澳大利亚只包含一个椭圆形多边形的多多边形
  • 因此bbox应该返回一个在澳大利亚只包含一个矩形(边界框)的多边形

第二个例子

  • 编号:321
  • area : 一个多面体,在巴黎有一个圆,在多伦多有一个圆
  • 因此bbox应该返回一个多面体,其中包含一个在巴黎的矩形,一个在多伦多的矩形
0 投票
1 回答
3001 浏览

postgresql - 对 mongodb 和 postgis 的地理空间支持比较

我正在创建一个面向消费者的基于位置的移动应用程序,该应用程序将非常需要 GIS 支持。我已将数据库范围缩小到 Postgres (PostGIS) 和 mongodb。

我想知道在这两个方面都有经验的人如何评价地理空间支持,特别是在以下领域:

  1. 表现
  2. 查询可表达性
  3. 精确

请讨论利弊、陷阱和限制。

0 投票
2 回答
7508 浏览

sql - PostGIS:注册一个没有 AddGeometryColumn 的“几何”列

创建几何列的常用方法是AddGeometryColumn,但是我必须使用预先存在的列,所以我不能使用该函数(据我所知)。

感谢PostGIS 文档,我已经可以在“ geometry_columns ”表中注册该列,但是AddGeometryColumn似乎不仅仅是创建一个列在 geometry_columns 中添加一行,例如它添加了对列的检查。


所以我的问题是:除了在geometry_columns 中添加一行之外,我还需要做什么来手动注册该列?

(例如,是否存在适用于现有列的修改版本AddGeometryColumn ?)

0 投票
2 回答
965 浏览

oracle - 坐标转换

我正在使用 OpenLayers、Google Maps 和另一个专有资源来处理一个用于在地图上显示多边形的 Web 门户的小组件。

用户在 PSAD56 (UTM) 基准中有点,我需要将其更改为 WGS84 才能与 Google 地图一起使用。我手头有没有空间扩展的 Oracle 9i 和 postgis。Oracle 定位器或 Postgis 可以进行这种转换吗?或者有没有开源可以做到这一点?

0 投票
1 回答
110 浏览

gis - 向多条记录添加数据

我有一个包含各个部分的项目......其中之一是计算地图上所有多边形的面积。当我运行查询“select st_area(nycpp.the_geom) from nycpp;”时 我得到了所有区域的列表。

接下来,我尝试使用 UPDATE nycpp SET area_sizes = (select st_area(nycpp.the_geom) from nycpp); 将查询结果添加到 nycpp 表中。但得到错误 - “用作表达式的子查询返回多行”

我想通了为什么我会收到错误...我想不通的是如何编写一个脚本来更新所有 12K+ 记录....

有人可以举个例子或链接到更新多条记录的信息吗

我使用的数据库是 PostGIS

谢谢克里斯

0 投票
1 回答
1031 浏览

postgresql - 使用 PostgreSQL 和 Postgis 计算两个端口之间的距离

我将 PostgreSQL 与 PostGis 一起使用,并加载了所有国家/地区的形状。

如何计算两个港口之间的最短航线(不与国家形状相交)

有“标准解决方案”吗?

0 投票
1 回答
135 浏览

gis - 另一个向 PostGIS 表中的多条记录添加数据

Nicklas,感谢您对我上一个问题的回答....

请原谅我的无知和问一些可能很简单的问题,但数据库不是我的专业领域。

给我每个 percinct 中的崩溃次数的 select 语句: SELECT P.precinct, count(C) FROM nycpp P, nyccrash C WHERE _st_contains(P.the_geom, C.crashpoint) GROUP BY P.precinct ORDER BY P.precinct ;

我只想将计数添加到我的 nycpp 表中,保存计数的变量是 number_of crashs....

再次感谢协助

克里斯

0 投票
1 回答
349 浏览

postgis - osm2pgsql 对多面体的数据不正确

我尝试将欧洲 OSM 数据转换为我的 postgis 数据库,并观察到某些国家(如希腊或俄罗斯)导入不正确。

似乎它只占用了它们几何形状的一部分。例如,osm2pgsql 导入后,我的数据库中只有两个独立的希腊岛。

这很奇怪。我尝试使用不同的参数并得到相同的结果。我使用来自 SVN 0.69-23858 的最新版本 osm2pgsql 和来自Geofabrik的 osm 文件。