PostGIS 筆記(三):載入 ShapeFile
我從這裡下載了香港十八區的 shapefile,由多組 Polygon 所組成:
我用以下指令匯入到 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
匯入成功:
我們可以以下 SQL 指令計算出各區跟大埔中心的最接近距離,再順序列出(以公尺為單位):
SELECT ST_Distance(geog, ST_GeogFromText('POINT(114.1689 22.4518)')) as distance, name_1 from hk order by distance;
結果如下:
我們亦可用 GIS 軟件連接 PostGIS 進行編輯或處理,以下是用了 Quantum GIS 作為例子:
不同種類的 shapefile 可在這些地方下載:
weogeo
geocommons
koordinates
GADM database of Global Administrative Areas
Natural Earth
內部連結:
【目錄】地理/地理資訊系統/空間資料庫/大地測量內部連結
本文連結