Questions tagged «postgis»

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

2
在PostGIS中找到最接近的几何
我一直在研究PostGIS的“ API”功能,并且我注意到它们中的大多数需要两个元素进行比较。例如,ST_Distance函数采用两个几何/地理元素来查找距离。 没有函数可以执行以下操作:“给定几何G,在表T中给我最接近的几何GClosest,其中G.id <> GClosest.id” 我意识到我可以编写一个PL / PgSQL函数来遍历表并在每个元素上调用ST_Distance,但是我希望有一个更好,更有效的解决方案。

2
如何清除不良的shapefile进行路由?
我正在尝试清理shapefile,使其可用于通过pgrouting,postgis,postgresql进行路由。 在这里,一个交叉路口似乎已经连接起来,但是当我们放大时…。它不是: 同样在这里 : 这里(最大放大)有两种方式,似乎只有一种: 我正在使用具有不同容差的Assign_vertex_id以及QGIS和PostGIS,但是我不知道在其中使用什么。

2
云托管的PostGIS和GeoServer对硬件有哪些要求?
我一直在玩PostGIS和GeoServer的本地安装。我现在想将我的工作移至网上,以便与几个合作者共享。 概念图的证明将包括通过OpenLayers和GeoExt映射的简单WMS和WFS服务。它将基于约3000个管理单位的地图。最初,它只需要服务几个人。从那时起,我们将致力于完善应用程序的最终视图和功能。 在回答这个问题时已经提出了一些建议。例如,Nicklas在512MB Linode上运行他的网站(我认为...)。 我正在考虑在云VPS上使用Ubuntu Server,最有可能在机架空间上托管。 我的问题:开始在线处理此数据所需的最小服务器容量是多少?它们很少。一旦我们决定将服务开放给公共机架空间,就有望以无缝的方式扩展服务,因此,我想知道我需要从最小的最小RAM开始。 更新1:GeoServer论坛上的类似讨论。 更新2:关于使用 Ubuntu和 CentOS在AWS微实例上设置堆栈的有用教程。


5
将多边形简化为线串?
我想简化一些将河流表示为线串的多边形。我假设多边形中的孔可以省略。任何人都有一个好主意,如何简单地做到这一点? 如果可以直接在postgis中或通过其他开源工具完成,那将很好,但是简短的算法描述就足够了。

3
如何在PostGIS中获得一组点的质心?
我将PostgreSQL与PostGIS扩展一起使用。 我在the_geom表的列中有一组要点myschema.myobjects。我想创建一个select语句来获取该群集的质心,因此从这样的select语句中: SELECT the_geom FROM myschema.myobjects 我需要为以下语句找到正确的语法: SELECT ST_AsText(ST_Centroid( (SELECT the_geom FROM myshema.myobjects) ));


1
在PostGIS中检测点是在线的左侧还是右侧?
我在postgis中有一个线串表和一个点​​表。 我知道最接近任何给定点的线。我需要知道的是那条线的哪一侧。我想我必须通过创建从给定点到该线的垂直线(该线上的最接近点)然后比较坐标来做到这一点,但是我不知道该怎么做,如果这是正确的方法,因为线改变了方向。 我做了一张照片来说明我的任务。 该线本身为黑色,其方向以绿色箭头显示。我需要在点表中添加一个“侧”列,以便红点的值应为“ right”,蓝点的值应为“ left”。 有人可以给出一个计算点的“边”值的SQL代码示例吗?

1
ST_Distance_Sphere中的默认地球半径从何而来?
MySQL在文档中说 ST_Distance_Sphere 计算使用球形地球和可配置的半径。可选的radius参数应以米为单位。如果省略,则默认半径为6,370,986米。如果存在radius参数,但不是正数,ER_WRONG_ARGUMENTS则会发生错误。 PostGIS在的文档中说ST_Distance_Sphere(尽管这些文档不再准确) 使用球形地球,半径为6370986米。 他们从哪里获得默认的6,370,986米? WGS84说长轴半径为6,378,137.0 m。现在使用平均半径的PostGIS本质上使用6371008。 看代码 #define WGS84_MAJOR_AXIS 6378137.0 #define WGS84_INVERSE_FLATTENING 298.257223563 #define WGS84_MINOR_AXIS (WGS84_MAJOR_AXIS - WGS84_MAJOR_AXIS / WGS84_INVERSE_FLATTENING) #define WGS84_RADIUS ((2.0 * WGS84_MAJOR_AXIS + WGS84_MINOR_AXIS ) / 3.0) 那意味着 -- SELECT 6378137.0 - 6378137.0 / 298.257223563; WGS84_MINOR_AXIS = 6356752.314245179498 -- SELECT ( 2.0 * 6378137.0 + …

10
损坏的软件包和未满足的依赖关系安装QGIS,PostgreSQL和Postgis Ubuntu 14.04
我知道这可能是重复的主题,但我已经努力了几天。我将QGIS从2.8升级到2.18,然后一切都坏了。我无法在pgadmin3上使用PostGIS扩展。 我发现与libgdal1h:发生冲突:如果已安装,它将删除PostGIS使用的其他库,反之亦然。 我尝试了一些有关如何安装QGIS的教程,例如: 如何在Ubuntu中获取并安装最新版本的QGIS? 在Ubuntu 16.04 Xenial上安装QGIS 2.14 Essen 我尝试了在线报告的每个建议,例如: /ubuntu/351899/qgis-quantum-gis-install-fails-unmet-dependencies /ubuntu/621406/dist-upgrade-in-ubuntu-14-04-uninstalled-qgis-and-results-in-unmet-dependencies 在哪里可以找到与libgeos-3.5.0兼容的libgeos-c1版本? 在Ubuntu 14.04上安装QGIS失败 通常,的回复sudo apt-get install qgis python-qgis是: The following packages have unmet dependencies: python-qgis : Depends: python-qt4-sql but it is not installable Depends: python-qgis-common (= 1:2.14.8+20trusty-ubuntugis) but it is not going to be installed Depends: python-psycopg2 but …

3
如何创建线以可视化PostGIS中多边形要素之间的差异?
我有一个polygon_b带有某些面要素的PostGIS表。还有一个表格polygon_a,其中包含与多边形相同的多边形,polygon_b但变化较小。现在,我想创建线条以可视化多边形要素之间的差异。 我想这ST_ExteriorRing和ST_Difference将做的工作,但在WHERE子句似乎是相当棘手。 CREATE VIEW line_difference AS SELECT row_number() over() AS gid, g.geom::geometry(LineString, yourSRID) AS geom FROM (SELECT (ST_Dump(COALESCE(ST_Difference(ST_ExteriorRing(polygon_a.geom), ST_ExteriorRing(polygon_b.geom))))).geom AS geom FROM polygon_a, polygon_b WHERE -- ? ) AS g; 谁能帮我? 编辑1 正如“倾斜”所发布的,我已经尝试过,ST_Overlaps(polygon_a.geom, polygon_b.geom) AND NOT ST_Touches(polygon_a.geom, polygon_b.geom)但结果与预期不符。 CREATE VIEW line_difference AS SELECT row_number() over() AS gid, g.geom::geometry(LineString, your_SRID) AS …

3
如何在分级符号体系中用NULL值符号化特征?
我有一个面要素数据集,还有一个我在QGIS中(一对一)加入(来自另一个表)的属性,以便将这些属性符号化为一个Choropleth贴图。但是,并不是所有的多边形字段在数值属性表中都有匹配的字段,因此在生成带刻度的符号系统时会有一些空值。 根据我的研究,在这种情况下,最常见的建议是包括定义默认符号系统的面数据集(或其他背景)的副本。之所以可行,是因为空值未在分级符号体系中分类,因此可以在它们的下面看到。我已经附上了这张照片。联接表(mb_percentile_isochrones_all)中不存在深灰色要素,但边界多边形表(mb2013_wgtn)中存在深灰色要素。因此,我需要mb2013_wgtn表的两个实例以显示“无数据”功能。 但是,这对我来说似乎并不优雅。更直观的是定义一个空值符号。也许这可能是完全透明的,以与当前存在的内容保持一致,或者可能是某种柔和的灰色-无论用户想要什么。关键是,目前为了处理空值的符号体系,内容需要两个不同的层。这意味着要同时更改所有要素的符号系统(例如,如果要增加所有边框的宽度),则必须处理两次:一次在带有渐变符号系统的要素属性中,以及一次用于处理空符号的“背景”层。 是否可以在QGIS(2.6.1)中定义“空”值符号而无需使用与分级符号系统相同层的“副本”?

1
如何从具有重叠线段的线串中提取子线串
问题陈述:给定一条公交路线(定义为ln.the_geom的线串)和一组公交车站位置(pt1.the_geom,pt2.the_geom,... ptn.the_geom),将公交路线划分为公交车站之间的分段。我正在使用两个postgis函数 ST_line_substring(ln.the_geom,ST_line_locate_point ln.the_geom,pt1.the_geom),ST_line_locate_point(ln.the_geom,pt2.the_geom)) 如果公交路线没有重叠部分,则上述方法效果很好。但是,如果有重叠的部分,则ST_line_locate_point会将点对齐到线串的另一端。例如:公共汽车从A到B行驶,循环成圈,然后从B到A行驶。“ A到B”和“ B到A”是平行的路线,所有点都重叠。如果是公交车站P1和P2,则将P2映射到点P2'(相反方向)。在这种情况下,该段提取错误(其中包括额外的段)。 如何解决这样的问题?重叠的公交路线可以在路线的任何部分发生...

3
将PostGIS空间功能添加到PostgreSQL中“ public”以外的自定义模式
最近,我使用pgAdmin在PostgreSQL 9.1数据库服务器上创建了PostGIS 2.0.3数据库。发现在“扩展”中安装了“ PostGIS”扩展。将所有空间功能添加到“公共”模式。没关系。 现在,我要将所有数据存储到一个名为“ gc”的新方案中。但是,如何使所有空间功能安装在该“ gc”模式中?模式中没有单个功能。但是,当我尝试从ESRI ArcCatalog 10.1导入/新建要素类到该架构时,它起作用了!要素类可以导入并显示在QGIS中。 有人可以给我任何提示或想法吗? 我是PostgreSQL和PostGIS的新手。

2
PostgreSQL / PostGIS的GUI工具?
作为制图师,我与TileMill合作以可视化地理数据。我使用PostGIS和osm2​​pgsql安装了本地PostgreSQL服务器。一切正常。 无论如何,我是服务器和命令行方法的新手。因此,在学习数据库管理的基础知识时,某些GUI工具会很有帮助。例如,我可以在Mac OS X Mavericks上安全地运行PostgrSQL安装(http://postgresapp.com/)旁边的PgAdmin应用程序吗? 任何建议最欢迎。

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.