PostGIS
是PostgreSQL对象关系数据库的空间数据库扩展程序。它增加了对地理对象的支持,允许在SQL中运行位置查询。
[About PostGIS](About PostGIS | PostGIS)
基本使用如下:
- 启用postgis插件
-- 启用postgis插件
CREATE EXTENSION postgis;
- 建表,指定geom列
-- 建表,指定geom列
CREATE TABLE mytable (
id SERIAL PRIMARY KEY,
geom GEOMETRY(Point, 26910),
name VARCHAR(128)
);
- 添加空间索引
-- 添加空间索引
CREATE INDEX mytable_gix
ON mytable
USING GIST (geom);
- 新增一条点数据
-- 新增一条点数据
INSERT INTO mytable (geom) VALUES (
ST_GeomFromText('POINT(0 0)', 26910)
);
- 查询
-- 查询附近点
SELECT id, name
FROM mytable
WHERE ST_DWithin(
geom,
ST_GeomFromText('POINT(0 0)', 26910),
1000
);
-- 查询数据
SELECT * FROM mytable
-- 转为json对象字串
SELECT ST_AsGeoJSON(geom) FROM mytable
具体详细用法,可参考教程和Api文档:
小结:
- 除了手动建表插入数据,也可以直接从shp等gis图层,直接向数据库导入数据,copy数据。