sql - 如何通过在 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 ;
解决方案
首先,您需要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
推荐阅读
- nullpointerexception - 运行 Liquibase 时出现意外错误:未知原因引发 NPE
- python - 包含 python.h 文件时遇到问题
- javascript - 如何使用 JS 路径获得启动点击以点击下一页?
- javascript - p5js '行不是函数'
- c++ - 我的 C++ 源代码在第一次之后无法运行,这是怎么回事?
- python - 如何在另一个列表中访问、编辑和保存列表的文本?
- spring-boot - Spring Boot Quartz,集成入站通道适配器和触发器绑定
- javascript - 使用 popup.js Chrome 扩展程序操作主页
- reactjs - Prisma,Apollo 客户端(第一名:x)
- python - 如何在特定轴上随机打乱 numpy 3D 数组中的块