PostGISPostgreSQL对象关系数据库的空间数据库扩展程序。它增加了对地理对象的支持,允许在SQL中运行位置查询。

[About PostGIS](About PostGIS | PostGIS)

基本使用如下:

  1. 启用postgis插件
-- 启用postgis插件
CREATE EXTENSION postgis;
  1. 建表,指定geom列
-- 建表,指定geom列
CREATE TABLE mytable (
  id SERIAL PRIMARY KEY,
  geom GEOMETRY(Point, 26910),
  name VARCHAR(128)
);
  1. 添加空间索引
-- 添加空间索引
CREATE INDEX mytable_gix
  ON mytable
  USING GIST (geom);
  1. 新增一条点数据
-- 新增一条点数据
INSERT INTO mytable (geom) VALUES (
  ST_GeomFromText('POINT(0 0)', 26910)
);
  1. 查询
-- 查询附近点
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文档:

小结:

  1. 除了手动建表插入数据,也可以直接从shp等gis图层,直接向数据库导入数据,copy数据。
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐