前言
?
shp2pgsql
是PostGIS
自帶的命令行工具,用于將Shapefile
文件聲稱SQL
腳本導入到PostGIS
空間數據庫。
1. 安裝 PostGIS
通過Application Stack Builder
或者下載單獨的PostGIS
包進行安裝。而
shp2pgsql
則是與PostGIS
工具集成在一起,無需單獨下載。該命令行工具可以在安裝路徑下的bin
目錄中找到。
也可以打開shp2pgsql
圖形界面工具,也就是上一節中的PostGIS Bundle for PostgreSQL來導入Shp數據。
2. shp2pgsql 選項參數
基本語法:
shp2pgsql [OPTIONS] shapefile路徑 [schema.]table > roads.sql(輸出SQL路徑)
shp2pgsql [OPTIONS] shapefile路徑 [schema.]table
選項介紹:
選項名稱 | 選項描述 | 選項示例 |
| 互斥選項,只能選擇一個
|
|
| 輸出數據使用 | |
| 使用指定的 | shp2pgsql -s 4326 C:countries.shp public.countriesSQL>C:countries.sql |
| 保持標識符的大小寫(列、模式和屬性)。請注意, | |
| 將所有整數強制轉換為標準的32位整數,即使 | |
| 在幾何體列上創建GiST索引。 | |
| -m a_file_name指定一個文件,其中包含一組(長)列名到10個字符的DBF列名的映射。文件的內容是一行或多行兩個名稱,用空格分隔,沒有尾隨或前導空格。 例如: COLUMNNAME DBFFIELD1 AVERYLONGCOLUMNNAME DBFFIELD2 | |
| 生成簡單的幾何圖形,而不是 | |
| 強制輸出幾何體具有指定的維度。使用以下字符串表示維度: 如果輸入的維度比指定的少,則輸出將用零填充這些維度。如果輸入具有指定的更多尺寸,則不需要的尺寸將被刪除。 | |
| 輸出 | |
| 不使用事務,單獨執行每條語句。當存在一些會產生錯誤的不良幾何形狀時,這允許加載大多數好數據。請注意,這不能與-D標志一起使用,因為“轉儲”格式總是使用事務。 | |
| 指定輸入數據的編碼( | shp2pgsql -s 4326 -I -W "UTF-8" C:countries.shp public.countriesSQL>C:countries.sql |
|
| |
|
| |
| 在 | |
| 指定新表的表空間。除非同時使用 | |
| 為新表的索引指定表空間。這適用于主鍵索引,也適用于 | |
| 使用此標志時,將阻止生成 | |
| 顯示幫助 |
|
3. shp2pgsql 使用示例
直接導入到數據庫:
shp2pgsql -s 4326 -I -W "UTF-8" C:\Users\hasee\Desktop\conutries\countries.shp public.countries | psql -U postgres -d geodata
其中postgres
數據庫用戶名,geodata
為數據庫名稱。
通過SQL導入數據庫:
shp2pgsql -s 4326 -I -W "UTF-8" C:\Users\hasee\Desktop\conutries\countries.shp public.countriesSQL>C:\Users\hasee\Desktop\conutries\countries.sql
數據庫示例圖片
??
OpenLayers示例數據下載,請回復關鍵字:ol數據
全國信息化工程師-GIS 應用水平考試資料,請回復關鍵字:GIS考試
??
GIS之路 已經接入了智能助手,歡迎大家前來提問。
歡迎訪問我的博客網站-長談GIS:
http://shanhaitalk.com
都看到這了,不要忘記點贊、收藏 + 關注 哦 !
本號不定時更新有關?GIS開發 相關內容,**歡迎關注?!