postgis擴展簡介

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進行簡要介紹

1、postgis

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

2、postgis_raster

對柵格數據的支持。

3、postgis_topology

拓撲功能的支持。

4、postgis_sfcgal

這個Extension主要是集成了CGAL(Computational Geometry Algorithms Library,計算幾何算法庫),來進行三維空間數據的空間運算,例如ST_3DDifference、ST_3DUnion 等,可見是通常空間運算在三維空間上的拓展。

5、postgis_tiger_geocoder

TIGER指的是(拓撲集成地理編碼和參考),這個是美國人口普查局的GIS數據,提供了美國全國的行政區劃、交通道路、水系等空間數據。這個Extension提供了TIGER數據的地理編碼支持,需要注意的是這個Extension啓用前,需要先啓用fuzzystrmatch(字符串模糊查詢)Extension,以及可選的address_standardizer(TIGER數據地址規則化)[4]、address_standardizer_data_us(地址規則化示例數據集)Extension。

----------------下面介紹的Extension在Ubuntu/Debian平臺下需要自行安裝---------------

6、ogr_fdw

這個Extension可以利用OGR讀取外部的GIS數據(例如Shepfile),其實是結合了OGR和PostgreSQL的foreign data wrappers。

安裝方法也很方便,在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可以作爲一個不錯的點雲數據管理方案。
安裝方法爲:

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,能夠爲各類地理數據提供管理和分析處理方案,其應用範圍還是非常廣泛的,而且免費開源也是非常吸引人的方面。

參考:
https://zhuanlan.zhihu.com/p/159103073

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章