SQL Server 2008空间数据应用系列十一:提取MapInfo地图数据中的空间数据解决方案
1、本文示例基于Microsoft SQL Server 2008 R2调测。
2、具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验。
3、熟悉或了解Microsoft SQL Server 2008中的空间数据类型。
4、具备相应(比如OGC规范、KML规范)的GIS专业理论知识。
5、了解MapInfo地图数据、ArcGIS Shp地图数据格式。
首先分析个案例:如果产品要实现在Silverlight开发的Map应用中将省份、地市和区县标记出来的功能,通过分析只能获取到省份、地市和区县的空间数据,然后在Map应用中动态绘制图层叠加在Map的图层上。自己绘制图层叠加最关键的一点就是要获取到省份、地市和区县的空间数据,从已有的地图数据中导出这份数据乃明智之举。本篇结合笔者的经历,介绍一种快速提取MapInfo地图数据文件中的空间数据的方案,供大家参考。
一、准备环境
1、安装MapInfo Professional 8.0/8.5,本文基于MapInfo Professional 8.0软件平台。
3、安装Microsoft SQL Server 2008 R2。
二、使用MapInfo Professional转换地图数据格式
MapInfo Professional提供了地图数据格式转换工具,通过菜单“tools->universal Tanslator->universal Tanslator” 便可打开地图格式转换面板,如下图:
通过以上步骤转换.tab的地图数据为.shp格式的地图数据,同时得到的文件有.shp、.shx、.dbf和.prj四种扩展名的文件,具体有什么作用这里就不介绍了,主要使用的是.shp,其他文件都是辅助的数据文件。
三、导入Shpfile地图空间数据到SQL Server 2008
这里不做详细介绍,不清楚如何导入数据的请移步《使用空间工具(Spatial Tools)导入ESRI格式地图数据》。
四、SQL Server Management Studio中预览空间数据
SQL Server Management Studio 支持两种方式查看空间数据,既表记录方式和空间结果方式,下图为两种方式的截图。
五、通过空间查询到处空间查询结果
在SSMS中通过查询空间数据表,使用SQL内置函数可以将空间数据转换为图形坐标点集合。如下图:
上面的操作提取出了坐标点集合,可以直接将查询结果另存为txt文件,直接就可以复制使用里面的地理坐标数据了。
六、相关资料
[1]、SQL Server 2008空间数据应用系列九:使用空间工具(Spatial Tools)导入ESRI格式地图数据
[2]、空间工具(Spatial Tools): http://www.sharpgis.net/page/SQL-Server-2008-Spatial-Tools.aspx