- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用 QGIS 将两个形状文件导入到 pgAdmin 4 (PostgreSQL) 中,我使用 PostGIS 扩展来访问空间命令。
我想检查 Gemeinden(多边形)表中包含的所有 POIS(点)。为此,我使用了空间命令“ST_Contains”([关于该命令的 postgis.net 文档])1 .与点实际上在多边形中的事实相反,返回的查询是空的(参见 QGIS 和输出截图)。可能是什么问题?任何帮助,将不胜感激。提前致谢!
我使用的命令:
SELECT * FROM public."POIS" AS pois INNER JOIN public."Gemeinden" AS gem
ON (1 = 1)
WHERE ST_Contains(gem.geom, pois.geom) = true;
我的表:
[ 3
[ 4
QGIS 截图:
[ 5
[ 6
[ 7
更新:
我使用命令从多边形创建了一个多边形表
CREATE TABLE polygon_table AS
SELECT id, public."Gemeinden".kg_nr, public."Gemeinden".kg, (ST_DUMP(geom)).geom::geometry(Polygon,4326) AS geom FROM public."Gemeinden";
之后,我更新了 POIS 表和新创建的表的 SRID:
SELECT UpdateGeometrySRID('polygon_table','geom',4326);
和
SELECT UpdateGeometrySRID('POIS','geom',4326);
可悲的是,
SELECT pois.* FROM public."POIS" AS pois JOIN public."polygon_table" AS
gem
ON ST_intersects(gem.geom, pois.geom);
仍然返回一个空查询。
有什么想法吗?提前致谢!
最佳答案
首先确保两个表的SRID必须相同。如果不相同,则空间查询将不起作用。其次将多边形转换为单个多边形。以下链接可能有帮助
PostGIS - convert multipolygon to single polygon
最后,如果您只想获取与多边形相交的 POIS,那么以下查询就足够了
SELECT pois.* FROM public."POIS" AS pois JOIN public."Gemeinden" AS gem
ON ST_intersects(gem.geom, pois.geom);
关于postgresql - POSTGIS "ST_Contains"返回空查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48010568/
我正在尝试使用以下查询将纬度/经度与特定的相邻位置相匹配 create table address_classification as ( select distinct buildingid,str
我有两张 table 。首先是点,其次是多边形。我需要根据属性 gid 找出哪些点在所需的多边形中。 使用查询:SELECT table1.* FROM table1, table2 WHERE ta
我有一个简单的带有 JOIN 的 sql 查询,如果点在多边形中则连接: SELECT `oktmo_geometry`.`oktmo` FROM `place` INNER JOIN `oktmo_
我正在使用 MySQL ST_Contains 来查明一个区域是否包含在另一个区域中。因此我有一个这样的表: CREATE TABLE tablex (id int, geoPoly MULTIPOL
我已经使用 QGIS 将两个形状文件导入到 pgAdmin 4 (PostgreSQL) 中,我使用 PostGIS 扩展来访问空间命令。 我想检查 Gemeinden(多边形)表中包含的所有 POI
我在使用 PostGIS 2.1.7 和 PostgreSQL 9.4 时遇到了一个奇怪的情况。 我正在尝试将位于加利福尼亚州(纬度:36.671112,经度:-121.662636,正如我们在这张
UPDATE tbl SET city=s.city_name FROM shp AS s WHERE ST_CONTAINS(s.city_geom,geom); 使用上面的代码,我可以将确切的城市
我一直在尝试以下但总是失败, roomTypeSQL = "SELECT spftype FROM cameron_toll_spatialfeatures WHERE ST_Contains(ST_
问题:什么算法/或算法s 使用spatial databases检查地理点(纬度和经度)是否属于“geo rect”(4 个由经线和平行线连接的地理点)? 一开始以为是简单的投影加算法二维平面索引,如
我使用 mysql 空间函数。 我必须了解点是否位于多边形中。 最初我使用 MBRContains 但它以一种奇怪的方式工作,所以我遇到了以下错误:Mysql function MBRContains
我有一个 BigQuery 表,其中包含地址,包括 Lat/Lng 和其他 BQ 表,其中包含从人口普查 shapefile 导入的工作几何定义。对于地址表中的每一行,我试图查找包含它的几何行。 以下
我正在努力让一个简单的 Postgresql/Postgis 语句起作用,我需要一个多边形(在本例中是一个矩形)内的所有点 SELECT * FROM points_table WHERE ST_Co
尝试使用我能找到的 JAR(不确定它们是否是最佳选择,我需要使用 ESRI 并在 Hive 中执行): ADD JAR /home/user/lib/esri-geometry-api-1.2.1.j
我正在使用 postgis 的 ST_LineLocatePoint 找出 LineString 上最接近给定 Point 的点>,并使用 ST_LineInterpolatePoint 从返回的 f
Contains 与 ST_Contains 之间有什么区别以及使用哪一个? Contains(region_data," +"GeomFromText('Point(" + latitude + "
我在使用 mysql 的 st_contains 时遇到了差异。我有一个区域表,其中包含纬度和经度列,我只想查询位于多边形内的所有记录。 当我这样做时,mysql返回多边形之外的记录,并且错过了肯定在
SELECT ST_Contains ( GEOMFROMTEXT( 'POLYGON(18.4560233 73.8691627, 18.456333 73.869013,
MySQL 5.1 是否包含任何 ST_CONTAINS() 等效函数? 我有一些以几何格式存储的多边形数据,我想检查它是否包含一个点查询就像 select * from table_name WHE
我正在尝试连接两个相对较大的几何表。几何体 A 由大的多边形组成。几何 B 由较小的多边形组成。我想左连接几何 A 包含几何 B 的行。几何 B 的多边形可能在几何 A 的边缘,但不在几何 A 的外部
我有一个存储在几何数组中的边界。 (喜欢 {...,...,...})我的目标是执行 ST_Contains 查询。我想看看一个节点是否在该边界内。 我试过类似的东西 SELECT ST_Contai
我是一名优秀的程序员,十分优秀!