PostGIS是一个空间数据库 ,空间数据库像存储和操作数据库中其他任何对象一样去存储和操作空间对象。
空间数据类型、空间索引和空间函数组合在一起,提供了灵活的结构用于空间数据库的性能优化和分析。
POSTGIS的部署可以参照之前的一篇文章 PostgreSQL11.2+PostGIS2.5部署 - 墨天轮
这边要介绍的是一个QGIS可视化工具,下载界面为 Welcome to the QGIS project!
安装后打开的界面如下
可以在左侧POSTGIS这栏右键创建连接
填写添加POSTGIS的连接信息
然后点击左侧创建的gist1,连接数据库(需要检查是否在pg_hba.conf里)
之后POSTGIS就连接成功了,可以在左侧看到连接的数据库的schema和其下可用的的表或视图信息。如图所示,其中raster_columns是提供让栅格注册的一个视图。
在数据库或者QGIS端插入测试数据
new_database=# CREATE TABLE geometries (name varchar, geom geometry);
CREATE TABLE
new_database=# INSERT INTO geometries VALUES
new_database-# ('Point', 'POINT(0 0)'),
new_database-# ('Linestring', 'LINESTRING(0 0, 1 1, 2 1, 2 2)'),
new_database-# ('Polygon', 'POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'),
new_database-# ('PolygonWithHole', 'POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),(1 1, 1 2, 2 2, 2 1, 1 1))'),
new_database-# ('Collection', 'GEOMETRYCOLLECTION(POINT(2 0),POLYGON((0 0, 1 0, 1 1, 0 1, 0 0)))');
INSERT 0 5
new_database=# SELECT name, ST_AsText(geom) FROM geometries;
name | st_astext
-----------------+---------------------------------------------------------------
Point | POINT(0 0)
Linestring | LINESTRING(0 0,1 1,2 1,2 2)
Polygon | POLYGON((0 0,1 0,1 1,0 1,0 0))
PolygonWithHole | POLYGON((0 0,10 0,10 10,0 10,0 0),(1 1,1 2,2 2,2 1,1 1))
Collection | GEOMETRYCOLLECTION(POINT(2 0),POLYGON((0 0,1 0,1 1,0 1,0 0)))
(5 rows)
点击左侧的相应数据可以看到存放的图形
上面的示例创建了一个表,然后向该表中插入5个几何图形数据:
一个点(POINT)
一条线(LINESTRING)
一个多边形(POLYGON)
一个内含空洞的多边形(POLYGON with a hole)
一个图形集合(GEOMETRYCOLLECTION)
可以看到所示创建的图形,且鼠标移动下边的coordinate坐标轴也会发生变化。