随笔-254  评论-3310  文章-48  trackbacks-74

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地图数据格式。

  6、了解SQL空间工具(SqlSpatialTools)


  首先分析个案例:如果产品要实现在Silverlight开发的Map应用中将省份、地市和区县标记出来的功能,通过分析只能获取到省份、地市和区县的空间数据,然后在Map应用中动态绘制图层叠加在Map的图层上。自己绘制图层叠加最关键的一点就是要获取到省份、地市和区县的空间数据,从已有的地图数据中导出这份数据乃明智之举。本篇结合笔者的经历,介绍一种快速提取MapInfo地图数据文件中的空间数据的方案,供大家参考。

 

一、准备环境

  1、安装MapInfo Professional 8.0/8.5,本文基于MapInfo Professional 8.0软件平台。

  2、下载SQL空间工具(SqlSpatialTools)

  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   

 

版权说明

  本文属原创文章,欢迎转载且注明文章出处,其版权归作者和博客园共有。为了保存作者的创作热情,请在转载后的明显位置标记本文出处。  

  作      者:Beniao

 文章出处:http://beniao.cnblogs.com/  或  http://www.cnblogs.com/

posted on 2011-08-12 19:20 Bēniaǒ 阅读(1626) 评论(7) 编辑 收藏

评论:
#1楼 2011-08-12 21:54 | 堕落的青春      
请问 通过这种方式能否将乡镇、街道信息也能抓取下来?
 回复 引用 查看   
#2楼 2011-08-13 08:13 | 焦涛      
很好,学习了!
 回复 引用 查看   
#3楼 2011-08-13 13:19 | 为之则易      
很好的资料,很受启发,感谢楼主的无私分享!
自己动手弄出来行政结构图:

 回复 引用 查看   
#4楼[楼主] 2011-08-15 09:00 | Bēniaǒ      
@堕落的青春
理论上是可以的,我没有试验过。

 回复 引用 查看   
#5楼[楼主] 2011-08-15 09:01 | Bēniaǒ      
@焦涛
大家一起学习。

 回复 引用 查看   
#6楼[楼主] 2011-08-15 09:01 | Bēniaǒ      
@为之则易
:)欢迎交流,你也可以分享出你的心得。

 回复 引用 查看   
#7楼 2011-09-21 16:45 | 茗流      
博主,公开源代码 和数据库吧 大家学习交流一下
 回复 引用 查看   
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 2136575 M6DZUz7/I+I=
微软最有价值专家(MVP)

微软技术社区精英(CNTAC)

2010年IT博客大赛50强

微软最有影响力开发者(GDI)


Bing Maps开发一群:75662563
微软技术群-重庆站:97035589
RIA技术联盟QQ群:26917590
昵称:Bēniaǒ
园龄:4年6个月
荣誉:推荐博客
粉丝:413
关注:26

随笔分类(285)

文章分类(14)

积分与排名

  • 积分 - 761107
  • 排名 - 60

最新评论