加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

空间数据库的细节:PostGIS Extension

发布时间:2022-12-06 14:33:30 所属栏目:MsSql教程 来源:未知
导读: 前言:PostGIS在Windows平台下和Ubuntu/Debian平台下的默认安装存在着一定的功能上差异,主要是默认安装的Extension。如果在不同平台下空间数据库的备份与恢复,可能在过程中出现无法创建E

前言:PostGIS在Windows平台下和Ubuntu/Debian平台下的默认安装存在着一定的功能上差异,主要是默认安装的Extension。如果在不同平台下空间数据库的备份与恢复,可能在过程中出现无法创建Extension的错误(如,pg_restore: 错误: could not execute query: 错误: 无法打开扩展控制文件 "/XXX/extension/XXXX.control": 没有那个文件或目录)。

PostGIS是对PostgreSQL数据库的一种空间数据拓展,通过PostGIS可以使PostgreSQL数据库支持地理要素的存储,以及相应的SQL空间查询。PostgreSQL+PostGIS事实上是一个比较优秀的开源空间数据库方案,在国外有着广泛应用,包括法国国家地理研究所(IGN)都在使用。

本文将对PostGIS的主要Extension进行简要介绍,尤其是一些Ubuntu/Debian平台下默认没有安装的Extension提供安装方法。

1、postgis

postgis的基本核心功能,仅支持地理图形(矢量要素),在其他Extension前启用。

2、postgis_raster

对栅格数据的支持。

3、postgis_topology

拓扑功能的支持。

4、postgis_sfcgal

这个Extension主要是集成了CGAL(Computational Geometry Algorithms Library,计算几何算法库),来进行三维空间数据的空间运算,例如、ST_3DDifference、ST_3DUnion 等,可见是通常空间运算在三维空间上的拓展。

历史被拖库数据下载_网易拖库数据_mssql数据库空间

空间相交,来源于postgis.net5、postgis_tiger_geocoder

TIGER指的是(拓扑集成地理编码和参考),这个是美国人口普查局的GIS数据,提供了美国全国的行政区划、交通道路、水系等空间数据。这个Extension提供了TIGER数据的地理编码支持,需要注意的是这个Extension启用前,需要先启用fuzzystrmatch(字符串模糊查询)Extension,以及可选的address_standardizer(TIGER数据地址规则化)、address_standardizer_data_us(地址规则化示例数据集)Extension。

----------------下面介绍的Extension在Ubuntu/Debian平台下需要自行安装---------------

6、ogr_fdw

这个Extension可以利用OGR读取外部的GIS数据(例如Shepfile),其实是结合了OGR和PostgreSQL的foreign data wrappers。

安装方法也很方便mssql数据库空间,在Ubuntu的软件源里就有对应PostgreSQL版本的ogr_fdw安装包:

sudo apt install postgresql-X-ogr-fdw

X为PostgreSQL的主版本号,查询PostgreSQL版本的命令为:

psql --version

启用org_fdw的方法为:

CREATE EXTENSION ogr_fdw;

7、pgrouting

pgrouting提供了对路网的分析支持,包括双向Dijkstra最短路径等10多种功能。安装方法为:

sudo apt install postgresql-X-pgrouting

X为PostgreSQL的主版本号。

启用pgrouting的方法为:

CREATE EXTENSION pgrouting;

8、pointcloud

提供对LiDAR点云的支持,提供对点云数据的存储。这个很有意思,这里多说一点。启用pointcloud Extension的PostgreSQL 数据库,可以利用PDAL进行LiDAR点云数据的读取和保存。PADL是一个用于读取点云数据的转换和处理库,它替代了LibLAS,所以PADL+pointcloud PostgreSQL可以作为一个不错的点云数据管理方案。笔者以前设计过点云地物提取算法,那时候用的还是LibLAS读写LAS和LAZ文件的方式,如今LibLAS停止更新,也不支持LAS或者LAZ 1.4。安装方法为:

sudo apt install postgresql-X-pointcloud

X为PostgreSQL的主版本号。pointcloud依赖于postgresql-dev、libxml2-dev和CUnit,必须先行安装这三个库。如果要支持LAZ(点云压缩格式)还要安装LAZPERF库。

启用pointcloud的方法为:

CREATE EXTENSION pointcloud;
CREATE EXTENSION pointcloud_postgis;

以上就是PostGIS的主要Extension的介绍,以及非默认安装Extension在Ubuntu/Debian平台下的安装和启用方法。可见通过PostGIS的各种Extension,能够为各类地理数据提供管理和分析处理方案,其应用范围还是非常广泛的,而且免费开源也是非常吸引人的方面。

参考

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!