首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

SHP 文件導入 MySQL 空間數據庫實戰步驟

     編輯:MySQL 綜合教學

Shapefile (SHP) 是常見地理空間數據格式。本文記錄使用 shp2mysql 工具將 SHP 文件轉為 SQL 並導入 MySQL 空間擴展的完整流程。

準備工作

  • SHP 文件組:.shp(幾何)、.shx(索引)、.dbf(屬性)、.prj(投影)等,需放在同一目錄。
  • 下載 shp2mysql 工具(Windows 版可執行文件)。

轉換命令


shp2mysql input.shp table_name database_name > output.sql
  • input.shp:主文件名(不含擴展名)。
  • table_name:目標表名。
  • database_name:目標數據庫。
  • 輸出重定向至 .sql 文件。

SQL 文件後處理(關鍵)

  1. 幾何列類型修正:工具生成的幾何列可能為通用類型,需手動修改為 MySQL 空間擴展要求的 GEOMETRY:
    
    ALTER TABLE table_name ADD the_geom GEOMETRY;
    
  2. 清理多餘字符:將生成 SQL 中的 ,-1) ); 替換為 );,修正語法錯誤。

導入數據庫


mysql -u root -p database_name < output.sql

GeoServer 發布驗證

  1. GeoServer 添加 MySQL 數據存儲(需安裝 MySQL 數據存儲擴展)。
  2. 發布該圖層,預覽 WMS/WFS 服務確認幾何顯示正常。

注意事項

  • MySQL 5.7+ 空間擴展支持 GEOMETRY、POINT、POLYGON 等類型及空間索引(SPATIAL INDEX)。
  • SHP 坐標系統(.prj)需與 MySQL 空間參考系統 (SRID) 一致,否則需轉換(如用 ogr2ogr -t_srs EPSG:4326)。
  • 大文件建議分批導入或使用 ogr2ogr -f MySQL 直連寫入。

掌握 SHP→MySQL 流程,讓 GIS 數據無縫接入關係型數據庫生態。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved