首页 > 解决方案 > 如何通过在 Postgis 中提供单击位置的 X 和 Y 值来获取多边形的属性?

问题描述

我正在寻找查询帮助。我想提供 lat 和 long 值来查询并获得该多边形的所有值。

> Geometry is polygon layer (Grids of 10x10 m)
> 
> Select * from Geometry_table where ST_x= 32 and ST_Y = 72 ;

标签: sqlpostgresqlgispostgis

解决方案


首先,您需要ST_MakePoint根据 x,y 坐标创建一个点,然后ST_Contains检查给定坐标是否位于任何多边形(网格单元)内:

SELECT * 
FROM geometry_table
WHERE ST_Contains(geom,ST_SetSRID(ST_MakePoint(32,72),4326))
  • 此查询假定您的网格具有 SRID 4326(WGS84)。如果它与您的表不同,请将其更改为正确的 SRS。

演示:db<>fiddle


推荐阅读