Questions tagged «postgresql»

PostgreSQL是一个开放源代码的对象关系数据库系统。


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 …

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应用程序吗? 任何建议最欢迎。

2
PostgreSQL / PostGIS空间索引-无速度
我在PostgreSQL / PostGIS数据库中有一个空间表。其中的每一行都代表一个多边形。它具有以下形式: +----+--------+ |gid | way | +----+--------+ |241 | 01030..| 几何列是“ way”,其中包含多边形的几何。在WKT中是:POLYGON(('....'))。我正在此表上执行很多ST_Contains查询,以测试彼此是否包含两个多边形,例如: Select ST_Contains(a.way, b.way) From table AS a, table AS b Where a.gid = 15 And b.gid = 16 我想知道如何加快查询速度,并在表上添加空间索引: CREATE INDEX table_way_gist ON table USING gist(way); 但实际上我看不到速度提高。在执行ST_Contains查询之前,我在用所有多边形填充表格之后创建索引。填写表格之前是否应该添加索引?表格上是否有使用索引的特殊要求?几何圆柱路径的投影(纬线)设置为900913。 我正在使用:psql(PostgreSQL)9.1.4 / POSTGIS =“ 1.5.3”

6
如何使用ST_Intersection?
以下是我要执行的操作的简要摘要:Postgres中有3个表,“ a”和“ b”,每个表都有一个Polygon列,而“ c”有一个Point列。我在这里要做的是获取“ a”,“ b”和“ c”之间的几何形状相交,并在OpenLayers矢量层上显示此类几何形状。 我已经知道如何在OpenLayers中显示字符串中的任何几何形状,但是我在使用PostGIS的ST_Intersection函数时遇到了麻烦,我正在这样做: SELECT ST_Intersection(a.geom, b.geom) as inter from a, b; 其中a.geom和b.geom都是几何列,并且我收到此错误消息: NOTICE: TopologyException: found non-noded intersection between 515172 2.14408e+06, 497067 2.13373e+06 and 501321 2.13546e+06, 471202 2.14843e+06 500621 2.13576e+06 ERROR: GEOS Intersection() threw an error! 我也尝试使用ST_AsText将生成的几何图形表示为文本,如下所示: SELECT ST_AsText(ST_Intersection(a.geom, b.geom)) as inter from a, b; 但它向我发送此错误消息: …

3
计算where子句中的相交面积百分比
我在postgres中有一个多边形表(人口普查块组)。我想用主要位于其中的城镇(另一个多边形表)标记每个街区组。这可能吗?我在想我基本上需要创建如下内容: select b.*,t.name from blockgroups b, towns t where (st_area(st_intersection(b.wkb_geometry, t.wkb_geometry))/st_area(b.wkb_geometry)) > .5 但是这个查询将永远持续下去(我有大约5,000个街区组和375个城镇...)。如果不正确,是否有任何建议可以使该查询正常工作,如果正确,该建议有何建议?

2
设置PostGIS数据库并在Windows的QGIS中打开它?
我试图遵循手册来设置PostGIS数据库,以供QGIS用户访问,但是目前我还不了解需要什么进展? 我的情况; 我是一名实习生,负责创建PostGIS数据库以对绿色对象(例如树木)进行数字化并运行查询-例如将街道列表与图像文件链接到属性表。 我有“ shapefile骨架”(当前为空,没有对象,只有属性框),其中将粘贴/创建当前和将来的地理参考对象(每种类型使用不同的shapefile)。我相信我可以将这些骨架shapefile导入数据库? 情况; 我们在单独的大楼中工作,我们拥有自己的LAN和Internet连接,并且每个文件都有一个备份服务器。因此,我们可以访问本地文件,并可以通过Internet连接共享文件 管理员已通过远程访问使用PostGIS和PostgreSQL的最新.exe执行文件(postgresql-9.6.2-3-windows-x64和postgis-bundle-pg96x64-setup-2.3.2)来完成数据库的设置。 -1)用于我的64位计算机。管理员为我提供了一个包含登录信息的文本文件。这里的培训手册非常令人困惑,因为它们涉及Ubuntu。 我被卡住了,因为我不知道在哪里使用我写下的登录信息?我假设我需要使用pgAdmin?

3
PostgreSQL在QGIS中麻烦编辑点/线/面
我对postgresql和QGIS有问题: 我可以添加点/线/多边形和填充字段 但是我不能: 删除点/线/多边形 修改点/线/多边形(移动或修改字段) 例如:dbname ='Europe'host = localhost port = 5432 user ='postgres'sslmode = disable key ='tid'estimatedmetadata = true srid = 900913 type = Point table =“ public”。“ planet_osm_point”(way)sql = QGIS以管理员级别连接到数据库。使用pdAdmin III,我可以执行所有操作(创建,删除,修改...) PostgreSQL数据库是使用osm2pgsql从OSM 导入的。 在其他层上,例如.shp,我没有这个问题。 任何想法 ? 配置:Ubuntu 14.04 / Posgresql 9.4 / QGIS 2.10

3
将Geopackage内容上传到PostgreSQL
作为背景知识,我们正在寻求摆脱使用shapefile的过渡。我们已经开始使用Geopackages进行桌面工作(QGIS / ArcGIS),但是经常需要将数据上传到我们的PostgreSQL数据库。 我知道您可以使用QGIS将Geopackage内容上传到Postgres,但想知道是否有类似于shp2pgsql的命令行实用程序将Geopackage或Geopackages中的表格上传到Postgres?我假设可能是ogr2ogr,但找不到文档。

2
PostGIS中的大点云激光数据-存储和处理
我想知道,考虑到处理时间的考虑,如何在PostGIS中存储大量激光扫描点云数据。我知道,PointPostGIS中存在一个几何对象。但据我所知,它会将每个点保存在一个新的tupel中,如果存储了数百万个或更多,则可以使搜索某个特定点非常缓慢。 我从HSR应用科学大学的Rapperswill网站找到了一篇论文,讨论了这一主题。它提出了三种存储此类数据的方法:Whole data in one tupel,Each point in one tupel或Splitting Data into Blocks由信息表引用的方法,用于保存每个块的扩展。由于第三种方法似乎对于定位存储的点最为有用,我想知道是否有人已经对此进行了一些体验? 该文件可以在这里找到:http : //wiki.hsr.ch/Datenbanken/files/pgsql_point_cloud.pdf 最后但并非最不重要的一点是,我在github上的一个项目中遇到了麻烦,该项目似乎处理了PostgeSQL中的点云方式。不幸的是,网上没有太多有关它的信息。同样的问题在这里:有人已经对此有所经验吗?可用于此类目的吗? 可以在这里找到项目:https://github.com/pramsey/pointcloud 如果有其他建议,想法或经验,我也很高兴听到。但是我必须承认,非商业解决方案是首选。

1
QGIS中的最近邻居分组选择
我有一个包含以纬度/经度格式超过100,000点的列表,我已经将其导入到qgis中。 现在,我要在此处进行的操作是将所有这些点分组为框组,这实际上是指我想将地图拆分为边界框。 我的要求如下: 盒装组的得分不得低于100,且得分不得超过200 不得将一个点放置在多个组中 所有点应基于其最近的邻居 我如何通过q​​gis实现这一目标? 我假设可以传递一些自定义查询代码并保存结果,或者将创建的框保存为shapefile正确吗?有人可以解释一下如何做到这一点以及代码是什么样的吗? 如前所述,我的目标是将一堆方形框显示为shapefile图层,其中每个框内的属性不少于100个且不超过200个。

1
PostGIS中用于邻近搜索的ST_DWithin和ST_Distance有什么区别?
我有存储在表中的记录,而纬度/经度坐标存储在几何字段中。我想查找用户提供的参考点附近的所有记录。注意“附近”可能意味着小于100公里(可能更小)。 我看到的大多数示例都可以使用ST_DWithin。您有不能使用的理由ST_Distance吗?使用ST_DWithin和ST_Distance这样做有什么区别? 例如: SELECT name, ST_AsText(coords) FROM places WHERE ST_DWithin(coords, ST_GeomFromText('POINT(-12.5842 24.4944)',4326), 1) 与 SELECT name, ST_AsText(coords) FROM places WHERE ST_Distance(coords, ST_GeomFromText('POINT(-12.5842 24.4944)',4326)) < 1

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.