PostGIS 筆記(三):載入 ShapeFile

這次嘗試從網站下載 shapefile 匯入到 PostGIS,這樣便能有一些真實數據可供測試。

我從這裡下載了香港十八區的 shapefile,由多組 Polygon 所組成:
postgis15

我用以下指令匯入到 PostGIS 中,public.hk 是 schema 名跟資料表名字的組合,template_postgis 是資料庫名稱,shp2pgsql 得到 SQL 後 pipe 到 psql 中執行:
shp2pgsql -c -G -I HKG_adm1.shp public.hk | psql -d template_postgis

欄位亦可使用 Geometry 格式,而非 Geography 格式,匯入時可改用以下指令,好處是有多些函數使用,壞處是計算距離比例麻煩:
shp2pgsql -c -I HKG_adm1.shp public.hk | psql -d template_postgis

匯入成功:
postgis12

我們可以以下 SQL 指令計算出各區跟大埔中心的最接近距離,再順序列出(以公尺為單位):
SELECT ST_Distance(geog, ST_GeogFromText('POINT(114.1689 22.4518)')) as distance, name_1 from hk order by distance;

結果如下:
postgis13

我們亦可用 GIS 軟件連接 PostGIS 進行編輯或處理,以下是用了 Quantum GIS 作為例子:
postgis14

不同種類的 shapefile 可在這些地方下載:
weogeo
geocommons
koordinates
GADM database of Global Administrative Areas
Natural Earth

內部連結:
【目錄】地理/地理資訊系統/空間資料庫/大地測量內部連結

本文連結