1. PostgreSQL空间计算函数概述
PostgreSQL作为一款功能强大的开源关系型数据库,其空间数据处理能力一直备受开发者青睐。通过PostGIS扩展,PostgreSQL能够支持丰富的空间数据类型和计算函数,满足从简单距离计算到复杂空间分析的各种需求。
空间计算函数主要分为几何对象构造、空间关系判断、空间测量、几何处理、空间参考系统转换等几大类。这些函数可以处理点、线、多边形等基础几何类型,也支持多点、多线、多多边形等复杂集合类型。
提示:使用空间函数前需确保已安装PostGIS扩展,执行
CREATE EXTENSION postgis;即可启用空间功能。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 几何对象构造函数
2.1 基础几何创建
sql复制-- 创建点
SELECT ST_MakePoint(-71.104, 42.315);
-- 创建线
SELECT ST_MakeLine(ST_MakePoint(0,0), ST_MakePoint(1,1));
-- 创建多边形
SELECT ST_MakePolygon(ST_GeomFromText('LINESTRING(0 0, 0 1, 1 1, 1 0, 0 0)'));
2.2 几何集合操作
sql复制-- 创建多点
SELECT ST_Collect(ST_MakePoint(0,0), ST_MakePoint(1,1));
-- 创建多线
SELECT ST_Collect(ST_MakeLine(ST_MakePoint(0,0), ST_MakePoint(1,1)),
ST_MakeLine(ST_MakePoint(1,1), ST_MakePoint(2,2)));
3. 空间关系判断函数
3.1 拓扑关系判断
| 函数名 | 描述 | 示例 |
|---|---|---|
| ST_Equals | 几何是否相等 | SELECT ST_Equals(geom1, geom2) |
| ST_Intersects | 几何是否相交 | SELECT ST_Intersects(geom1, geom2) |
| ST_Contains | 是 |
