PostGIS简单使用

瀚高数据库
目录
环境
文档用途
详细信息

环境
系统平台:Linux x86-64 Red Hat Enterprise Linux 7
版本:14
文档用途
系列性的介绍PostGIS及GIS周边的相关资料,本文介绍PostGIS简单使用

详细信息
· 登录数据库:

  [postgres@localhost ~]$ psql postgres postgres

· 创建postGIS扩展:

  postgres=# create extension postgis;

· PG中创建扩展时,可以指定创建在哪个模式下,默认是public:

  postgres=# \dx

                                 List of installed extensions

    Name   | Version  |   Schema   |                        Description            

  ---------+----------+------------+------------------------------------------------------------

  plpgsql | 1.0      | pg_catalog | PL/pgSQL procedural language

  postgis | 3.2.2dev | public     | PostGIS geometry and geography spatial types and functions

上面是已经包含的扩展。

· postgis扩展会在public下创建表spatial_ref_sys,和视图geography_columns、geometry_columns;

spatial_ref_sys是坐标系汇总表,srid字段是坐标系名称代码,srtext字段是可以称为坐标系名称及定义;比较常用的坐标系有:WGS 84,国际上通用,代码4326;国内有些要求使用China Geodetic Coordinate System 2000(CGCS2000),又称中国大地坐标系统,代码4490。

geometry_columns:对当前数据库下的geometry字段的汇总,包括:其所在的数据库、模式、表、字段名称、维度、坐标系、几何类型。可以看作主要是平面类型。

geography_columns:对当前数据库下的geography字段的汇总,主要是地理(球面)类型。

1、 创建表

 CREATE TABLE roads (

   id SERIAL PRIMARY KEY,

   name VARCHAR(64),

   geom geometry(LINESTRING,3005)

  );

  CREATE TABLE global_points (

   id SERIAL PRIMARY KEY,

   name VARCHAR(64),

   location geography(POINT,4326)

  );

30054326都是坐标系代码,不指定会默认给一个坐标系,一般是4326

2、创建几何表示例

· 使用默认 SRID 创建一个包含任何类型的几何图形的表:

  CREATE TABLE geoms(gid serial PRIMARY KEY, geom geometry );

· 使用默认 SRID 创建具有 2D POINT 几何图形的表:

 CREATE TABLE pts(gid serial PRIMARY KEY, geom geometry(POINT) );

· 创建一个具有 3D (XYZ) POINT 和显式 SRID 为 3005 的表:

 CREATE TABLE pts(gid serial PRIMARY KEY, geom geometry(POINTZ,3005) );

· 使用默认 SRID 创建具有 4D (XYZM) 线串几何图形的表:

 CREATE TABLE lines(gid serial PRIMARY KEY, geom geometry(LINESTRINGZM) );

· 使用 SRID 4267(NAD 1927 长纬度)创建具有 2D 多边形几何图形的表:

 CREATE TABLE polys(gid serial PRIMARY KEY, geom geometry(POLYGON,4267) );

· 一个表中可以有多个几何列。这可以在创建表时指定,也可以使用 ALTER TABLE SQL 语句添加列。本示例添加一个可以保存 3D 线串的列:

 ALTER TABLE roads ADD COLUMN geom2 geometry(LINESTRINGZ,4326);

3、提供的函数:

函数数量太多,下面列出几个函数分类:

· 表管理函数,例如:返回几何字段的坐标系;增加几何字段

· 几何构造函数,例如:使用坐标创建点

· 几何体访问函数,例如:返回几何图形的边界

· 几何编辑函数,例如:向线中加一个点

· 几何验证,例如:验证几何图形是否有效

· 空间参考系统函数,例如:给几何图形设置坐标系

· 几何输入:

WKT(Well-Known Text),从文本构建几何类型

WKB(Well-Known Binary),从二进制构建几何类型

从其他格式构建集合类型,例如:从geojson输出 PostGIS 几何对象

· 几何输出,与几何输入相反

· 拓扑关系,例如:计算两个几何图形是否相交

· 距离关系,例如:计算点是否在定义的圆内

· 测量功能,例如:计算多边形的面积

· 覆盖函数,例如:计算两个几何图形相交(不相交)的部分

· 几何处理,例如:计算几何图形的几何中心

· 仿射变换,例如:围绕原点、X、Y、Z轴旋转几何图形

· 边界框函数,例如:返回几何图形的X、Y、Z的最大最小值

· 线性参照,例如:截取线的一部分

· 版本函数,返回依赖库的版本

4、相关扩展:

· postgis:核心,所有扩展的基础

· postgis_raster:栅格数据功能,postgis自带

· postgis_topology:拓扑功能,postgis自带

· postgis_tiger_geocoder:(postgis自带)对TIGER数据的地理编码功能,依赖fuzzystrmatch(字符串模糊查询,pg自带)扩展,以及address_standardizer(提供地址标准化功能,可选,,postgis自带)、address_standardizer_data_us(地址标准化示例数据集,可选,postgis自带)Extension。TIGER(Topologically Integrated Geographic Encoding And Reference,拓扑集成的地理编码和参考)是美国人口普查局的GIS开放数据,提供了美国全国的行政区划、交通道路、水系等空间数据。

· postgis_sfcgal:主要是集成了CGAL(Computational Geometry Algorithms Library,计算几何算法库),提供三维空间数据的空间运算;自行安装

· pgrouting:提供“路径规划”功能;自行安装

· ogr_fdw:利用OGR读取外部的GIS数据(例如Shepfile);自行安装

· pointcloud:点云数据支持,很火的无人驾驶有可能就用到了此技术;自行安装

· postgis安装完后提供的命令行工具有:pgsql2shp,raster2pgsql,shp2pgsql

5、相关工具:

· ArcGis,不支持高版本的PG

· SuperMap,国内,可以网络授权

· QGIS,开源,对标ArcGis

· GeoScene,利用ArcGis技术开发国内的GIS工具

· GDAL,栅格和矢量地理空间数据格式的转换库,还带有各种有用的命令行实用程序,用于数据转换和处理

· GeoServer,GIS WEB服务

  • 16
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值