Questions tagged «postgis»

PostGIS是PostgreSQL对象关系数据库的扩展,增加了对地理对象的支持。

3
如何将附近和平行的道路线(例如,双行车道)合并/折叠为一条直线?
我有一个来自OSM的shapefile,其中包含城市中的所有道路。较大的道路(如双行车道)似乎有2条平行线。我想将它们折叠/合并为1行,以便可以在外部3D应用程序中很好地导出和渲染它们(两条重叠的路很复杂,在3D中看起来很奇怪)。 如何使用QGIS或PostGIS实现呢?我不担心精度会略有下降(在几米之内),我希望最终的单条线位于当前平行线之间(理想情况下为中心)。 谢谢。 (这是我要合并的两条道路的示例)
23 qgis  postgis  line  road 

4
具有ST_Distance,kNN的PostGIS最近点
我需要在一个表上的每个元素上获取另一个表的最接近点。第一个表包含交通标志,第二个表包含城镇的入口大厅。事实是我不能使用ST_ClosestPoint函数,而必须使用ST_Distance函数并获取min(ST_distance)记录,但是我非常想建立查询。 CREATE TABLE traffic_signs ( id numeric(8,0) ), "GEOMETRY" geometry, CONSTRAINT traffic_signs_pkey PRIMARY KEY (id), CONSTRAINT traffic_signs_id_key UNIQUE (id) ) WITH ( OIDS=TRUE ); CREATE TABLE entrance_halls ( id numeric(8,0) ), "GEOMETRY" geometry, CONSTRAINT entrance_halls_pkey PRIMARY KEY (id), CONSTRAINT entrance_halls_id_key UNIQUE (id) ) WITH ( OIDS=TRUE ); 我需要获取每个traffic_sign中最接近的entrnce_hall的ID。 到目前为止我的查询: SELECT …

4
合并所有相邻多边形
我想在宗地(多边形)层上进行邻接测试,并在它们符合特定条件(可能是大小)的情况下合并它们。根据下面的图片,我想合并多边形1、2、3和4,但不合并5。 我有两个问题: ST_TOUCHES如果仅接触角而不是线段,则返回TRUE。我想我需要ST_RELATE检查共享的线段。 理想情况下,我想将所有相邻的多边形合并为一个,但是我不确定如何缩放到两个以上,例如在一轮中合并1,2,3和4(可能合并更多的实际数据)。 我现在拥有的结构基于上的自我联接ST_TOUCHES。 玩具数据 CREATE TABLE testpoly AS SELECT 1 AS id, ST_PolyFromText('POLYGON ((0 0, 10 0, 10 20, 00 20, 0 0 ))') AS geom UNION SELECT 2 AS id, ST_PolyFromText('POLYGON ((10 0, 20 0, 20 20, 10 20, 10 0 ))') AS geom UNION SELECT 3 …
22 postgis  merge  union 

3
在PostGIS中执行边界框查询?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为地理信息系统堆栈交换的主题。 去年关闭。 我有一个PostgreSQL表,几乎有200万行,coordinates其形式为long 字段POINT(-73.4938 33.2405)。 假设在该字段上有一个地理空间索引,那么在任意边界框内选择所有行的最有效,最快的方法是什么? 盒子就像SW long-lat: -74.0042 40.7688,NE long-lat: -73.8809 40.7984。

3
几何列命名约定-'geom'或'the_geom'?
我正在开始我的第一个PostGIS项目,在各种书籍和教程中,我看到了标有'geom'或'the_geom'的geometry列。一个比另一个更传统吗? 此外,是否有充分的理由为几何列使用'geom'/'the_geom'而不是更具描述性的名称?(例如,“ centre_point”表示要素的中心点。)我们不将常规数据库列标记为“ the_int”或“ the_string”,那么为什么要用这种方式标记几何列呢?

1
地理编码解决方案的比较(例如Gisgraphy和PostGIS 2.0)[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我相信许多人都知道,PostGIS最终发布了2.0版,并且在该版本中,他们还构建了一个地址解析器(请参阅:http : //postgis.net/docs/Extras.html)。 尽管我知道V2刚刚发布,但我很想知道是否有人有机会比较其他开源解决方案,例如gisgraphy.com。 我个人有兴趣了解速度,功能/选项,准确性以及使用自己的数据集的难易程度方面的差异。

1
QGIS中Postgis 2.0拓扑支持的状态如何?
这篇文章与一个快速变化的事件有关。 在过去6个月中,随着Postgis的发展,我注意到许多功能似乎非常酷,尤其是在拓扑结构领域以及与相交,捕捉,...等相关的计算相关的方面。 我要弄清楚的是,是否有人在开发任何插件,或者正在使用任何插件将这些功能转换为qgis中的本机控件?
22 postgis  qgis  topology 

4
在PostGIS中创建圈?
我正在使用SRID:900913中的几何图形的PostGIS 1.5.2。我需要创建一个以点列表为中心的圆,半径为600公里。我正在使用此查询: INSERT INTO circles (geom) ( SELECT ST_Buffer(point, 600000, 'quad_segs=8') FROM points ); 但是创建的圆的半径不超过600公里(半径接近此长度,但不完全相同)。 还有其他在PostGIS中创建圆的方法吗? 注意:所代表的信息来自西班牙。正确的投影是4326,但是客户端使用Google栅格,因此我将数据存储在900913中,以避免重新投影并提高性能。



7
在OpenLayers中显示PostGIS矢量的选项
我是Web映射的新手,因此这个问题可能会被误导。 我希望有一个使用OpenLayers(甚至更简单的Google Maps)的非常简单的Web界面,它可以显示PostGIS中当前的许多点和多边形表。 我希望这尽可能简单(且维护成本低): 我不想创建图块(除非有充分的理由),也不希望拥有庞大,复杂的中间件层。 性能不需要是惊人的,因为这是供内部使用的,因此不需要扩展到几个并发用户。 矢量层的样式至关重要。 开源工具是首选,因为我对此几乎没有预算。 推荐的方法是什么?

3
除st_union之外,PostGIS中是否还有溶解功能?
我正在寻找一个函数来分解表中多边形要素之间的共享边界。ST_UNION()几乎可以满足我的要求,但是它会根据图层中的所有多边形创建一个多面体,无论它们是否共享公共边界。我宁愿只溶解彼此接触的多边形之间的边界。我认为,应该有某种使用ST_TOUCHES()的方法,但是对于溶解函数的需求似乎太普遍了,如果没有内置函数可以实现这一点,我会感到惊讶。 用例如下所示:我下载了一个欧洲大国的Corine Landcover数据,我想消除不同森林类型之间的界限(一张桌子中约有75,000个多边形)。我尝试了ST_UNION,但由于出现“内存不足”错误而失败了(不过30,000个多边形确实起作用了): create table corine00 as select st_union(the_geom) as the_geom, sum(area_ha) as area_ha, substr(code_00,1,2) as code_00 from clc00_c31_forests group by substr(code_00,1,2) 注意:所有森林代码均以“ 31”开头,而我使用的是PostGIS 1.4,GEOS版本:3.2.0-CAPI-1.6.0
22 postgis  dissolve 

1
使用PostGIS将GeoJSON FeatureCollection存储到PostgreSQL吗?
我是GeoJSON的新手。如图所示,我有一个GeoJSON功能集,并希望将其存储在postgres表(测试表)中。我的postgres表有一个序列号和几何列。 { "type": "FeatureCollection", "features": [ { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 2565453.1826721914, -3835048.659760314 ] } }, { "type": "Feature", "geometry": { "type": "LineString", "coordinates": [ [ 2727584.7219710173, -3713449.1942418693 ], [ 2732476.691781269, -3992291.473426192 ] ] } }, { "type": "Feature", "geometry": { "type": "Polygon", "coordinates": [ [ …

1
ST_PointOnSurface如何计算?
此问题是从Stack Overflow 迁移而来的,因为可以在Geographic Information Systems Stack Exchange上回答。 迁移 6年前。 PostGIS文档指出ST_PointOnSurface返回“保证表面上有POINT”。尽管我确定PostGIS提供了一个非平凡的实现,但似乎可以轻松实现此功能以提供满足文档要求的结果,但几乎没有实际用途。 此介绍的PostGIS提供了一个很好的比较和对比ST_Centroid用ST_PointOnSurface并说“[ST_PointOnSurface]实质上大于重心操作更计算上昂贵”。 是否有关于如何ST_PointOnSurface计算的更详尽的解释?我一直在使用ST_Centroid,但是在我的数据中遇到了一些边缘情况,其中质心在几何图形之外。我相信这ST_PointOnSurface是正确的替代方法,但是函数名称和文档为不确定性留有余地。 此外,ST_PointOnSurface即使质心确实已经位于几何体之内,也会产生计算上的费用吗?
21 geometry  postgis 

1
PostGIS和QGIS是否可以提供可靠的多用户编辑?
在考虑了几种选择之后,我试图为15-20名QGIS 2.2用户提供同时查看/编辑一两个基本点PostGIS层的能力,最大的一层只有16,000条记录。我已经安装了PostgreSQL 9.1 / PostGIS 2.0,基本测试似乎还可以,但是还没有向大众发布。 通常一次一次只有2-3位编辑者,但可能只有15位观众。编辑将全部在QGIS中进行,查看者将在QGIS和ArcGIS中进行(但我们没有SDE)。 正如我所说的,这些只是基本的点文件,而编辑将只是添加/删除点和一些表编辑。我不担心同时编辑相同的功能。 组合能否为两个基本点文件提供可靠的多用户编辑?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.