Questions tagged «postgis»

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

3
如何在PostGIS中内​​插GPS位置
我每五秒钟就有一张PostGIS GPS位置表: 2011-01-01 00:00:05, POINT(x1,y1) 2011-01-01 00:00:10, POINT(x2,y2) 2011-01-01 00:00:15, POINT(x3,y3) ... 我正在寻找一个查询,该查询将每秒返回值(时间戳和点)。可以假定点是通过直线连接的。 我专门在寻找一种在数据库内部执行此操作的方法,而不是通过编写一些外部脚本来实现。

5
大型shapefile到栅格
我有一个很大的shapefile(1 gb),需要对其进行栅格化。我已经尝试了以下方法。 1.)使用v.in.ogr此失败将其导入GRASS,并显示以下错误消息:错误:G_realloc:无法在break_polygons.c:188上分配498240036字节 2.)我的第二个想法是使用PostGIS。导入shapefile,在网格的x,y位置对其重新采样,然后导出这些点并从xyz创建网格。我成功导入了shapefile(多边形和点),但是将300万个点与100万个多边形相交似乎很慢。我使用了以下PostGIS条件,也许还有改进的余地。 select polygons.land_id,grid.geom from grid,polygons where grid.geom && polygons.geom and within(grid.geom,polygons.geom) 3.)我也曾尝试simplify()在PostGIS中使用。但是我迷失了许多小多边形(即某些仅由小多边形覆盖的区域变为空)。 任何想法将不胜感激。

2
使用PostGIS从多个表中获取几何图形?
一般来说,我对PostGIS,PostgreSQL和SQL还是很陌生。 我的PostGIS数据库中有44个表格,每个表格代表不同的向量数据层。每一个都是从单独的shapefile加载的,每个都有一个描述该层的几何形状的列,称为wkb_geometry 我想在一层上选择一个特定的多边形,然后从与该多边形的边界框重叠的一层子集中检索所有几何。我对发出的顺序并不感到挑剔,但是如果按每组几何体来自的表进行组织,将很有帮助。 这是我的SQL语句的示例: SELECT ST_AsEWKT(wkb_geometry) /* Some of this data has z values, hence the EWKT */ FROM table2, table3, table4, table5 WHERE wkb_geometry && ( SELECT wkb_geometry FROM table1 WHERE ogc_fid = 25 ); 返回错误: column reference "wkb_geometry" is ambiguous /* note that every table that I am …
13 postgis  sql 

2
Huff模型的开源GIS实现
这可能很费力,但是我想知道是否有人为零售市场分析实现了重力建模工具或脚本(例如霍夫模型)来分析空间数据以了解客户与商店之间的关系? 有两个ESRI资料来源(包括Business Analyst扩展),但对于开源世界,我还没有见过。似乎可以真正利用PostGIS的数据库质量。 /programming/2837870/huff-model-in-gis http://arcscripts.esri.com/details.asp?dbid=15999 参考文档(已过时,但相关文章解释了此概念): 使用霍夫模型进行零售贸易区域分析 Arc10帮助:销售潜力建模 在ArcGIS Business Analyst中校准Huff模型白皮书 ICSC文章

3
将shapefile数据集中到数据库中
我已经从各种不同的GIS项目中获得了数百个shapefile,我希望开始将它们合并到一个数据库平台中,目前正在使用Postgres / PostGIS进行尝试。 几乎没有任何数据是标准化的-这意味着它是许多相同的数据类型,但是特定的属性名称/类型不匹配。 我应该从哪里开始解决这个问题?我是否应该开发一个标准模型将每个shapefile迁移到第一个模型(例如Hydro_line,transport_line,Hydro_poly标准等)? 一种替代方法是仅将每个shapefile分别导入Postgres,因此每个shp都将成为数据库中的表,但是就性能和组织而言,我不确定。感觉有点像延迟不可避免的事情... 对处理这个艰巨的任务有什么建议吗?

2
使用Psycopg2从Postgis将栅格数据下载到python中
我在postgres表中有栅格数据,我想以numpy数组的形式进入python。我正在使用psycopg2连接到数据库。我可以下载数据,但它以字符串形式返回(可能是序列化的二进制文件)。 有谁知道如何获取此字符串并将其转换为numpy数组吗? 我探索了其他下载栅格的选项,例如使用st_astiff并编码以下载hex文件并使用xxd,但这没有用。我不断收到错误消息“ rt_raster_to_gdal:无法加载输出GDAL驱动程序”,并且我没有权限设置环境变量以能够打开驱动程序。 TL,DR:想将栅格数据导入numpy数组(使用python)。

1
如何使用ST_DelaunayTriangles构造Voronoi图?
(编辑2019)ST_VoronoiPolygons 自PostGIS v2.3 起可用! 在PostGIS 2.1+中,我们可以使用ST_DelaunayTriangles()生成Delaunay三角剖分,这是其Voronoi图的对偶图,并且从理论上讲,它们具有精确且可逆的转换。 是否有安全的 SQL标准的脚本与优化的算法存在这个PostGIS2德劳内到维诺转换? 其他裁判:1,2

1
将多个表合并到PostGIS中的新表中
我希望将一些单独的表合并到PostGIS中的新表中。使用Shapefile数据时,这是一项容易的任务,但是我不确定如何在PostGIS中执行此操作。任何帮助将不胜感激。我想我使用Append,但是我不确定从哪里开始。
13 postgis  merge 

2
如何过滤图层中的要素?
我正在尝试使用QGIS在基于shapefile的图层中显示某些功能。我已经在属性面板中找到了subset函数,它确实可以实现我想要的功能,但是由于我不得不手动筛选大量功能,所以这太繁琐了。有更快的方法吗? Dietmar我同时使用shapefile和postGIS

1
ST_前缀是否适合SQL / MM第3部分中未包含的功能?
我在这个Github问题中正在阅读有关Presto地理空间扩展的主题,其中line_locate_point引入了函数。它基于PostGIS的ST_LineLocatePoint功能,该功能返回一个浮点数,该浮点数表示沿该点上到给定位置的最近点的线的分数。 提出了一个问题,为什么命名它line_locate_point而不是ST_LineLocatePointPostGIS版本。响应是此功能在SQL / MM Part 3标准中不存在,因此不应以开头ST_。 快速阅读标准,对于如何处理将空间功能引入标准以外的数据库的情况,我没有任何意见。是的精神ST_前缀区分空间的功能从非空间功能(如似乎是在PostGIS的情况下),或者是它表明,在SQL / MM第3部分同等功能的函数符合规定? 纵观Presto API的当前状态,我不得不说,后一种方法看起来不太干净,并且在名称为何不一致方面引入了一些困惑,但是也许可以通过顶部的简单注释解决。 那么,我的问题是,我是否忽略了该标准的某些方面,以允许将其扩展到已定义的空间对象之外,或者是否遵循以下标准的某些书面或非书面规则明确禁止这样做。

1
PostGIS / QGIS中的INSERT特权
我试图在数据库中为用户设置权限,以便他们只能对地理表进行UPDATE,INSERT,DELETE和SELECT操作。 由于我为ID使用了一些SERIAL类型,因此,我什至不希望给用户提供手动编辑此字段的可能性。因此,我正在定义按列的特权。它在UPDATE部分工作正常,但QGIS中允许创建新对象的按钮保持灰色。似乎有效的唯一方法是当我未在特权定义中指定任何字段时。即使当我选择所有字段时,它也不起作用(即使我会认为不指定任何列并指定所有字段将是相同的)。 这似乎是我不了解的,或者特权定义中存在限制,无法在数据库和QGIS之间进行正确的交互。是否有人有任何信息或建议可以帮助我了解正在发生的事情,和/或(甚至更好)可以帮助我实现目标? 我总是可以通过在样式定义中将字段设置为不可编辑的方式来处理该问题,但是由于任何人都可以随意设置它,因此,我希望使用更安全的替代方法。 运行QGIS 2.14,适用于PostgreSQL 9.5的PostGIS 2.3。
12 qgis  postgis 

3
在PostGIS中构建Voronoi图
我正在尝试使用此处的修改代码从点网格构造voronoi图。这是我修改后的SQL查询: DROP TABLE IF EXISTS example.voronoi; WITH -- Sample set of points to work with Sample AS (SELECT ST_SetSRID(ST_Union(geom), 0) geom FROM example."MeshPoints2d"), -- Build edges and circumscribe points to generate a centroid Edges AS ( SELECT id, UNNEST(ARRAY['e1','e2','e3']) EdgeName, UNNEST(ARRAY[ ST_MakeLine(p1,p2) , ST_MakeLine(p2,p3) , ST_MakeLine(p3,p1)]) Edge, ST_Centroid(ST_ConvexHull(ST_Union(-- Done this …

1
如何在QGIS中沿线串可视化测量值?
我有一系列LineStringM几何。测量值表示几何图形中每个点的斜率(或流坡度)。我喜欢QGIS强大的样式选项,但是我找不到一种方法来沿线串呈现每个度量值。理想情况下,对于缓慢的渐变,我将使用蓝色;对于非常陡峭的渐变,我将使用红色。 为了帮助理解我要完成的工作,让我们假设我们已经使用线性参考将LinestringM的长度编码到每个点的测量值中。在顶部,您将拥有1.0,在底部,您将拥有0.0。我已经添加了一张图片,下面是我希望完成的工作。我是在Paint.NET中制作的,因此它只是一个模型。 直接链接到图片 您将如何在QGIS中完成这项工作?
12 qgis  postgis  style 

2
在PostGIS中对连接的线串进行分组?
我有一张基于一组属性(假设是speed_limit < 25)选择的街道表。有些街道在本地是连续的。我想将这些连接的线串集合归为GeometryCollections。在下图中,将有两个GeometryCollections:一个带有红线,一个带有蓝线。 我尝试按照以下方式运行几个“分解,分解”查询: SELECT (ST_Dump(st_union)).geom FROM (SELECT ST_Union(geom) FROM roads) sq 在尝试了所有方法后,我要么获得了单个特征(ST_Union),要么得到了原始几何形状(ST_Dumpof ST_Union)。 也许可以用某种WITH RECURSIVE魔术来做到这一点?

2
将大型CSV文件导入PostGIS
我正在尝试将CS​​V文件导入PostGIS。在这篇文章之后,我之前已经创建了表。我发现其他建议说我可以运行copy命令。 如果我运行此命令: COPY table FROM '/Users/macbook/file.csv' DELIMITERS ',' CSV HEADER; 它根本没有复制表格。它说“表”未被识别。 我尝试了这个: COPY moulding (Borough,Block,Lot,CD,CT2010,CB2010,SchoolDist,Council,ZipCode,FireComp,PolicePrct,Address,ZoneDist1,ZoneDist2,ZoneDist3,ZoneDist4,Overlay1,Overlay2,SPDist1,SPDist2,LtdHeight,AllZoning1,AllZoning2,SplitZone,BldgClass,LandUse,Easements,OwnerType,OwnerName,LotArea,BldgArea,ComArea,ResArea,OfficeArea,RetailArea,GarageArea,StrgeArea,FactryArea,OtherArea,AreaSource,NumBldgs,NumFloors,UnitsRes,UnitsTotal,LotFront,LotDepth,BldgFront,BldgDepth,Ext,ProxCode,IrrLotCode,LotType,BsmtCode,AssessLand,AssessTot,ExemptLand,ExemptTot,YearBuilt,BuiltCode,YearAlter1,YearAlter2,HistDist,Landmark,BuiltFAR,ResidFAR,CommFAR,FacilFAR,BoroCode,BBL,CondoNo,Tract2010,XCoord,YCoord,ZoneMap,ZMCode,Sanborn,TaxMap,EDesigNum,APPBBL,APPDate,PLUTOMapID,Version) FROM '/Users/macbook/file.csv' DELIMITERS ',' CSV HEADER; 但也没有用。 可以从以下链接下载此类数据集的示例: 我应该创建一个模型然后执行吗?

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.