Questions tagged «postgis»

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

7
使用PostGIS进行空间聚类?
我正在寻找空间聚类算法,以便在支持PostGIS的数据库中将其用于点要素。我将编写plpgsql函数,该函数将同一群集内的点之间的距离作为输入。在输出函数处返回集群数组。最明显的解决方案是在特征周围建立指定距离的缓冲区,并在该缓冲区中搜索特征。如果存在此类功能,则继续在其周围构建缓冲区,等等。如果不存在此类功能,则意味着集群构建已完成。也许有一些聪明的解决方案?


9
PostGIS入门?
我已经阅读了很多有关PostGIS的文章,但是我一直在努力寻找一个好的初学者指南。 您推荐哪些教程/书?

2
在Postgis中获得类似于ArcGIS的速度
我已经使用3/4年的Postgis 2.0了,虽然我真的很喜欢使用它,但是查询处理时间过长,使得它基本上无法用于我的用例。 我倾向于对通常具有成千上万个多面体的市政数据集进行繁重的地理处理。这些多面体的形状有时会非常不规则,每个多面体的范围从4点到78,000点不等。 例如,当我将一个包含329,152个多边形的宗地数据集与包含525个多边形的管辖权数据集相交时,我得到了以下消耗总时间的统计信息: ArcGIS 10.0 (on same host with windows 7 OS): 3 minutes Postgis:56 minutes (not including geometry pre-processing queries) 换句话说,在Postgis中进行此相交所需的时间比在ArcGIS中多1500%,这是我更简单的查询之一! 据说ArcGIS运行速度更快的原因之一是由于索引更好。一些程序员最近弄清楚了这些索引是如何工作的,我想知道是否有人知道如何在Postgis中构建这些索引(或构建可以模拟索引的表)。也许这可以解决Postgis中的大多数速度问题。我只能希望一定有办法,尤其是因为ArcGIS只能使用4 GB的RAM,而我的postgis服务器最多可以使用4倍的内存! 当然,postgis运行缓慢的原因有很多,因此,我将提供系统规格的详细版本: Machine: Dell XPS 8300 Processor: i7-2600 CPU @ 3.40 GHz 3.40 GHz Memory: Total Memory 16.0 GB (10.0 GB on virtual machine) Platform: Ubuntu …

5
在PostGIS中创建规则的多边形网格?
如何在Postgis中以多边形的形状创建给定大小的多边形/正方形的规则网格? 我已经考虑过类似如何在Postgis中的多边形内部创建规则点网格的功能?仅适用于正方形,因此正方形可以为5m x 5m甚至10m x 10m。但是不知道以正确的方式更改它。
61 postgis 


7
创建具有GISCloud等渲染性能的矢量多边形?
我一直在寻找一种可靠的解决方案,该解决方案使我可以创建网络地图并覆盖矢量多边形,而无需花费太多时间来加载此类数据,目的是使我能够使每个多边形在悬停事件上显示不同的颜色。 据我所知,可以通过3种画布,SVG,Flash来实现这一目标。 如果Flash能在苹果iPhone / iPad上运行,它似乎是最好的解决方案,因为它似乎提供了最快的渲染速度和最干净的显示效果。画布似乎是第二好的选择,但是如果您要在地图上显示数百个多边形,则花费非常长的时间,而SVG需要花费更长的时间来渲染。 我几乎找不到希望解决该问题的解决方案的希望,但今天我遇到了一家名为GISCloud http://www.giscloud.com的公司(当前处于Beta版,具有免费注册)。 这家公司使SOMEHOW设法找到了一种惊人的方式来近乎实时地在地图上渲染数百个矢量。我对他们的方法感到惊讶,我向社区提出的问题与我们如何复制他们的方法以与现有技术一起使用,如传单,开放层,蜡... 通过查看此惊人的演示来自己看看:http : //www.giscloud.com/map/284/africa 确保将鼠标悬停在页面上的所有多边形上,并测试缩放控件,以确保这些多边形确实是矢量。 通过查看带有Firebug的请求,我已经注意到,该地图正在请求特定的json文件。似乎根据缩放级别/区域,有多个json文件被请求。 我还要在这里提到,一旦giscloud将数据加载到页面上,将鼠标悬停在矢量上就可以立即更改颜色,而无需创建新请求。 例子: http://cft1.giscloud.com/t/1316509973/map284/layer1156/3/3/3.json http://cft1.giscloud.com/t/1316509973/map284/layer1156/3/5/3.json http://cft1.giscloud.com/t/1316509973/map284/layer1156/3/4/4.json http://cft1.giscloud.com/t/1316509973/map284/layer1156/3/3/4.json http://cft1.giscloud.com/t/1316509973/map284/layer1156/3/5/4.json 我假设url结构遵循标准的切片服务逻辑(例如,第3到最后一个文件夹是缩放级别...)。 无论如何,我已经分析了这些json文件的实际数据,并且看来他们使用的逻辑遵循某种逻辑,即它们仅基于这些数据值来创建矢量: 宽度/高度:它们定义每个json请求中提供的数据的宽度和高度 像素:在这里它们定义了像素值,我假设它们与某种广义点级别的一些一般x / y像素坐标有关?我猜他们会以某种方式根据缩放级别自动简化区域。我假设它们使用像素坐标,我猜想它们与经/纬度数据相比正在极大地减少需要加载的数据的大小。 样式:此处定义了两个RGB css值。“ F”代表多边形文件颜色,“ S”代表多边形边界颜色。 geom:这是我猜测它们在某种程度上定义的地方,具体定义正在加载的图块中的每个多边形,其中基于地图容器窗口定义此类数据。有趣的是,每个条目都有一个“ S”值,我假设该值用作可选属性或特征链接值,并且在每个条目的末尾都有一个区域,似乎在定义每个矢量ID的同时我猜测的层ID被用来以某种方式加入来自每个被调用的json磁贴请求的数据。 我还假设他们以某种方式找到了一种方法,可以根据需要为请求的图块加载的数据大小,自动确定并拆分每个图块需要加载的数据。 以下是这些请求之一的摘要: {"width":256,"height":256,"tile": {"pixels": [0,6461,-1,0,5,148,0,509,-1,10715,-1,1,-1,251,-1,1,-1,1,-1,251,-2,3,-1,255,-1,249,-2,5,-2,247,-1,509,-3,251,-1,2,-2,253,-2,252,-2,254,-1,255,-1,254,-1,255,-1,1276,-2,13,-1,233,-1,2,-1,253,-1,1,-1,255,-1,247,-1,1306,-1,1533,-1,1269,-1,1276,-1,2303,-1]}, "styles": [{"f":"rgb(99,230,101)","s":"rgb(5,148,0)","lw":"0"}], "geom": [ {"s":0,"p":[4,143,5,144,3,146,1,146,2,143,4,143],"c":"layer1156_5098"}, {"s":0,"p":[-2,143,0,140,2,141,2,144,1,146,-2,144,-2,143],"c":"layer1156_5067"}, {"s":0,"p":[7,143,5,144,4,143,2,143,2,141,5,138,6,139,5,141,7,143],"c":"layer1156_5051"}, {"s":0,"p":[10,141,11,137,12,137,14,137,12,142,9,143,9,142,10,141],"c":"layer1156_5041"}, {"s":0,"p":[1,136,0,140,-2,143,-2,136,1,136],"c":"layer1156_5038"}, {"s":0,"p":[8,143,5,141,5,137,8,136,10,137,10,141,8,143],"c":"layer1156_5033"}, {"s":0,"p":[5,137,2,141,0,140,1,136,1,136,2,135,3,136,5,137],"c":"layer1156_5028"}, {"s":0,"p":[10,134,12,136,11,138,8,135,10,134],"c":"layer1156_5020"}, {"s":0,"p":[-2,133,0,136,-2,136,-2,133],"c":"layer1156_5005"}, …

1
选择SRID及其含义是什么?[关闭]
我对PostGIS中的GIS还是陌生的,并且我在SRID概念上挣扎。 如何为数据库列选择SRID?这让我发疯。为什么需要选择SRID?什么意思 选择SRID与geometry和相同geography吗?为geometry字段设置SRID 似乎是没有意义的,因为它应该只在2D平面上。 当我在互联网或地理编码服务上找到经纬度时,哪个是SRID? 没有SRID,纬度/经度坐标是否有意义?



2
将点插入PostGIS?
我在无法插入点的PostGIS螺母中创建了一个表。 我的查询出了什么问题? CREATE TABLE app ( p_id INTEGER PRIMARY KEY ); SELECT AddGeometryColumn('app','the_geom','4326','POINT',2); INSERT INTO app(p_id, the_geom) VALUES(2, POINT(-71.060316, 48.432044)); 在最后一次查询之后,它显示了一些错误。 ERROR: column "the_geom" is of type geometry but expression is of type point LINE 1: ...SERT INTO app(p_id, the_geom) VALUES(2, POINT(-71.... ^ HINT: You will need to rewrite or …
49 postgis 

4
在PostGIS中制作空间视图并将其添加为QGIS中的图层?
在PostGIS 2.0中,我正在寻求一种有效的方法来创建在QGIS中可见的具有空间功能的视图。 我遵循了@Mike Toews的第2部分的内容,答案是如何从Postgis DB中的现有表(应用新模式)创建表?,并且该视图在“添加PostGIS图层”对话框中显示为点图层(在我的情况下)。但是在创建视图并在空间上启用它后,尝试将视图添加到QGIS时收到以下错误: 您必须选择一个表格才能添加图层 有人可以解释为什么空间视图不能加载到QGIS中,以及我需要做些什么才能使其在QGIS中作为层加载吗? 我目前正在使用OSGEO安装程序中的QGIS v1.8 我查看是从地理名称数据库构建的,并加载到PostGIS中。可以在QGIS中选择/查看地名表/空间数据。 当我尝试选择“ mt_view ”时,QGIS会在对话框中看到该视图,但不允许我选择它。它在该区域周围提供了一个虚线框,但未突出显示并选择视图。 我只是注意到,当我运行第一个查询时: CREATE OR REPLACE VIEW data.test AS SELECT * FROM data.geoname WHERE admin1='MT' 该视图显示在“ QGIS添加图层”对话框中,但无法选择。然后,当我运行时: SELECT Populate_Geometry_Columns('data.test'::regclass); 我得到的结果为“ 0”,根据文档,我认为它应该返回“ 1”。

4
使用PostGIS将许多小多边形连接起来以形成更大的多边形?
我在postgis中使用SRID 27700的以下层: 它是英国的每个行政区域,而且(从颜色分组中可以看到)每个区域都有一个文本字段,用于指定其所在的县。 我想做的是从给定县中的较小县制造较大的县多边形,因此图片中所有青绿色彩色多边形上方的EG将由包含所有多边形的单个外圈形成一个大多边形颜色,例如所有紫色,棕色,粉红色,灰色等,都应形成一个多边形。 我已经尝试了以下方法: insert into parishesmerged (geometry) select astext(multi(ST_Union(the_geom))) as the_geom from parishes group by county_name 但是它会不断产生破碎的几何形状,因此我在进一步处理时遇到了很大的问题。 我正在尝试使用主要输出区域制作一个更简单的县级地图。 Postgis也不需要任何解决方案,我已经安装了完整的OS4Geo堆栈,最新版本的QGis和更多实用程序,而我对此一无所知。 我唯一没有的就是像ArcGis这样的大男孩(尽管我可能在某处有一个旧的Mapinfo) 作为记录,我要创建的数据集是与我正在写的一本针对希望使用.NET编写GIS应用程序的.NET程序员的GIS书一起提供的 在尝试了以下建议之后,效果最好的是“ Paul Ramseys”解决方案。 现在,我有一个很好的简化的县(市)档案,对于我的书来说足够简单,但又足够复杂,足以让我展示一些有趣的地理空间SQL。 尽管Paul的解决方案最终是对我有用的解决方案,但我还借鉴了其他答案,例如简化了多边形图并进一步降低了复杂性。 在执行此操作时,我确实观察到了一点,尽管ST_Collect确实比ST_Union快,但运行还是它是造成几何形状损坏的主要原因。我的猜测是,速度的提高是以牺牲核心功能的准确性为代价的。
47 postgis  sql  dissolve 

7
为生产环境调整PostGIS?
在为生产环境调整PostGIS时,您遇到了哪些对PostGIS有帮助的文档? 我想和我的DBA一起设置适合生产的Postgresql / PostGIS安装。我已经读到要实现此目标需要进行一些调整,我希望在折射网站上找到答案。 到目前为止,我已经在OpenGeo网站上找到了一些有用的文档,例如本文档。 这个旧的论坛帖子是我发现有帮助的信息,这可能只是基本的DB资料,但对我来说是好资料。 我很想知道哪些资源可以帮助其他人实现PostGIS的稳定生产安装。

2
简化公差参数的含义
Douglas-Peucker的简化算法的标准参数是几何形状和公差(例如PostGIS中的ST_Simplify)。公差参数的含义是什么?我知道值越大,几何形状就越粗糙。但是数字是否有任何单位还是仅仅是任意的?

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.