如何将形状文件导入 SQL 服务器?
How to import a shape file into SQL Server?
过去我使用 shape2sql 将形状文件导入 SQL 服务器。
我在较新的 Windows 10 盒子上再次尝试了这条路线,但在尝试使用该应用程序时似乎没有任何反应。
关于让 shape2sql 工作或将形状文件上传到 SQL 服务器的其他方法有什么建议吗?
所以,事实证明 ogr2ogr 现在可以直接导入 SQL 服务器数据库。我创建了一个临时数据库并执行了以下操作:
- 通过 http://www.gisinternals.com/release.php
中的 GDAL 核心 MSI 安装程序安装 ogr2ogr
- 打开命令行到安装路径
- 运行 以下:
ogr2ogr -overwrite -f MSSQLSpatial -lco “GEOM_TYPE=geography” -a_srs
"EPSG:4326"
"MSSQL:server=.;database=temp_import;trusted_connection=yes" "[path to
shape file]"
我已经在远程服务器上成功导入。这是程序
- 安装QGIS Desktop 3.10.5..或任何实际版本。
- 如何找出参数 -a_srs 的内容,在我的 casa 中是:
-a_srs "EPSG:3765"
:
打开QGIS Desktop 3.10.5,打开新项目,将你的形状文件拖放到图层左侧边栏。右键单击该层并转到属性。在那里您将能够阅读您的 -a_srs 信息。
运行 命令在 CMD
:
C:\Program Files\QGIS 3.10\bin>ogr2ogr -progress -f "MSSQLSpatial" "MSSQL:server=xxx.xxx.xxx.xxx,yyyy;database=yourDB;UID=yourUse;PWD=yourPassword" "C:\Users\Username\Desktop\ShapeFiles\Name_of_shape_file.shp" -a_srs "EPSG:3765" -lco PRECISION=否
其中 xxx.xxx.xxx.xxx
- 您服务器的 IP 地址
yyyy
- 服务器的端口号,如果你是 运行 SQL 服务器与标准端口不同(我想你可以忽略它,以防你是)
输出:
0...10...20...30...40...50...警告 1:环形自相交点或附近点 664451.64629999956 5053409.8562000087
60...70...80...90...100 - 完成。
过去我使用 shape2sql 将形状文件导入 SQL 服务器。
我在较新的 Windows 10 盒子上再次尝试了这条路线,但在尝试使用该应用程序时似乎没有任何反应。
关于让 shape2sql 工作或将形状文件上传到 SQL 服务器的其他方法有什么建议吗?
所以,事实证明 ogr2ogr 现在可以直接导入 SQL 服务器数据库。我创建了一个临时数据库并执行了以下操作:
- 通过 http://www.gisinternals.com/release.php 中的 GDAL 核心 MSI 安装程序安装 ogr2ogr
- 打开命令行到安装路径
- 运行 以下:
ogr2ogr -overwrite -f MSSQLSpatial -lco “GEOM_TYPE=geography” -a_srs "EPSG:4326" "MSSQL:server=.;database=temp_import;trusted_connection=yes" "[path to shape file]"
我已经在远程服务器上成功导入。这是程序
- 安装QGIS Desktop 3.10.5..或任何实际版本。
- 如何找出参数 -a_srs 的内容,在我的 casa 中是:
-a_srs "EPSG:3765"
:
打开QGIS Desktop 3.10.5,打开新项目,将你的形状文件拖放到图层左侧边栏。右键单击该层并转到属性。在那里您将能够阅读您的 -a_srs 信息。
运行 命令在
CMD
:C:\Program Files\QGIS 3.10\bin>ogr2ogr -progress -f "MSSQLSpatial" "MSSQL:server=xxx.xxx.xxx.xxx,yyyy;database=yourDB;UID=yourUse;PWD=yourPassword" "C:\Users\Username\Desktop\ShapeFiles\Name_of_shape_file.shp" -a_srs "EPSG:3765" -lco PRECISION=否
其中 xxx.xxx.xxx.xxx
- 您服务器的 IP 地址
yyyy
- 服务器的端口号,如果你是 运行 SQL 服务器与标准端口不同(我想你可以忽略它,以防你是)
输出: 0...10...20...30...40...50...警告 1:环形自相交点或附近点 664451.64629999956 5053409.8562000087 60...70...80...90...100 - 完成。