PostgreSQL使用PostGIS插件,存储GIS数据

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

[About PostGIS](About PostGIS | PostGIS)

基本使用如下:

-- 启用postgis插件
CREATE EXTENSION postgis;

-- 建表,指定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文档:

  • Installation | PostGIS
  • Chapter 8. PostGIS Reference
  • PostGIS 简介 — Introduction to PostGIS

小结:

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

你可能感兴趣的:(数据库,postgresql,数据库,database)