You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从PostGIS的polygon几何对象中提取独立的经纬度坐标数组

PostGIS提取Polygon经纬度独立数组实现方案

完全可以实现,核心思路是先拆解Polygon的所有顶点,再分别聚合经度、纬度数值到不同数组。

核心依赖函数

  • ST_DumpPoints(geom):PostGIS内置空间函数,用于拆解几何对象的所有顶点,返回包含顶点路径、顶点geometry的记录集
  • ST_X(point_geom):提取点几何的X坐标,对应WGS84等地理坐标系下的经度值
  • ST_Y(point_geom):提取点几何的Y坐标,对应WGS84等地理坐标系下的纬度值
  • array_agg():PostgreSQL内置聚合函数,可将多行单列值合并为数组

示例查询

假设你的业务表名为area_table,存储Polygon的字段为geom,表主键为gid,提取指定记录经纬度数组的语句如下:

SELECT
  array_agg(ST_X((point).geom)) AS longitude_array,
  array_agg(ST_Y((point).geom)) AS latitude_array
FROM area_table,
LATERAL ST_DumpPoints(geom) AS point
WHERE gid = 1 -- 替换为你要查询的记录主键值
GROUP BY gid;

注意事项

若你的Polygon包含内环(洞结构),返回的坐标会默认按「外环线→内环1→内环2…」的顺序排列。仅需要外环坐标的话,可在WHERE子句中新增路径筛选条件:

WHERE gid = 1 AND (point).path[1] = 1

内容的提问来源于stack exchange,提问作者Amrmsmb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 08:45:07