PG扩展PostGIS地理空间查询
使用PostGIS扩展进行空间数据存储与分析。 · 难度:入门 · +15XP
PostGIS是什么?
PostGIS是PostgreSQL的空间数据库扩展,支持地理对象存储、空间索引、GIS函数。常用于地图应用、位置服务。
安装与启用
CREATE EXTENSION postgis;
SELECT PostGIS_Version();创建空间表
CREATE TABLE locations (
id SERIAL,
name VARCHAR(100),
geom GEOMETRY(Point, 4326)
);
INSERT INTO locations (name, geom)
VALUES ('Beijing', ST_GeomFromText('POINT(116.4 39.9)', 4326));
空间查询示例
SELECT name FROM locations
WHERE ST_DWithin(geom, ST_GeomFromText('POINT(116.0 40.0)', 4326), 100000);ST_DWithin查找100公里内的点。
| 函数 | 说明 |
|---|---|
| ST_Area | 计算面积 |
| ST_Distance | 计算距离 |
| ST_Intersects | 判断是否相交 |
练习提示
添加一个多边形表,查询哪些点位于多边形内。