如何将ESRI Shape文件转换为SQL Server 2008?

时间:2010-08-17 11:58:58

标签: sql-server-2008 geospatial esri shapefile

我有一个shapefile,我想上传到空间SQL Server 2008.我尝试过使用这个工具:SQL Server 2008 Spatial Tools。但没有运气。

有没有人知道这样做的其他(免费)工具?

4 个答案:

答案 0 :(得分:2)

您可以使用ogr2ogr从shapefile转换为GML(或许多其他formats),然后使用SQL Server的GeomFromGML进行导入。您需要为shapefile中的每个功能调用GeomFromGML,但这是一个相对容易编写的程序。

答案 1 :(得分:1)

我已经在arcbjects中编写代码来执行此任务。如果您拥有许可证arcview或引擎,则可以在c#中创建控制台应用程序并使用此代码:请参阅https://gis.stackexchange.com/questions/33917/how-to-import-shapefiles-into-ms-sql-2008-and-then-view-that-data-using-qgis?lq=1

答案 2 :(得分:1)

更新:我决定将人们指向正式的Github回购:https://github.com/zer0infinity/OGR2GUI

这个[ogr2ogr fork]工具将尝试解析输入文件的内容(在我的例子中,它是 shapefile )并将其输出为一堆不同的格式(在我的情况下,我需要它作为 CSV ,但您甚至可以将文件导出为 SQLite 文件。不幸的是,它不会直接执行SQL,但您可以从SQLite查看器(例如SQLite Browser)执行转储并将其导入到MS SQL中。转换到SQLite时我注意到了一些效率低下的问题(我丢失了一些属性/表)。我还尝试了 MobileMapper Office(MMO)(运气更好)导出到CSV并确实保留了大量数据,但是您需要编写一个脚本来将数据导入SQL 。如果您要走这条路线,请告诉我,我目前正在编写一个VBA脚本来处理来自MMO的导出数据。

如果您希望将其构建到您的应用程序(某种类型的脚本)中,您可能会尝试使用 ogr2ogr ,但您永远不知道数据会是什么样子。文档可在此处找到http://www.gdal.org/ogr2ogr.html

原始答案:有时可以保存自己,只需使用这个神奇的工具:http://ogr2gui.ca/

它基于ogr2ogr,但有一个很好的GUI。

答案 3 :(得分:0)

我已经制作了一个应用程序,用于将shapefile导入SQL Server。它主要是为了满足我的需要,但我有一些空余时间,所以我为你安装了一个安装程序。

你可以用它做一些好事:

  1. 选择输入shapefile的编码
  2. 重命名/重新映射目标表列名称
  3. 选择目的地表名称
  4. 设置目标表的主键
  5. 它有一个用户界面,您可以免费下载。

    更多细节可以在我的博客上找到,这里有以下链接:Import shapefiles into SQL Server