友情提示,您阅读本篇博文的先决条件如下:

  1、本文示例基于Microsoft SQL Server 2008 R2调测。

  2、具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验。

  3、熟悉或了解Microsoft SQL Server 2008中的空间数据类型。

  4、具备相应(比如OGC规范、KML规范)的GIS专业理论知识。

  5、其他相关知识。


  geography 和geometry数据类型包括以用于在OGC中所定义的地理数据的已知文本(Well Known Text,WKT)和已知二进制(Well Known Binary,WKB)格式导入和导出数据的方法,还包括普遍使用的地理标示语言(Geographic Markup Language,GML)格式,这使得很容易从支持这些格式的数据源导入地理数据。地理数据很容易从一些政府和商业数据源获得,并且可以相对容易地从许多现有的GIS应用程序和GPS系统中导出。Microsoft保持与一些第三方GIS供应商和地理数据解决方案供应商的紧密关系,这帮助确保SQL server 2008和广泛的行业标准工具间的强大兼容能力,以用于导入、导出和操纵空间数据。

  通常我们开发一个GIS应用,基于GIS做数据分布呈现、统计汇总、搜索等等的功能,几乎都离不开地图数据的支持,一方面是作为地图呈现需要,其次是为了方便做空间分析等诸多功能。而对于空间数据的需求,通常不需要自己去建立空间数据,市面上有许多非常成熟的地图数据可以直接被采购使用,并以此为基础直接建立基于地图空间数据的GIS应用。另外网上也提供了比较多的空间数据免费下载资源,可以轻松的获取到空间数据。本篇将使用SQL空间工具(SqlSpatialTools) 介绍ESRI地图空间数据(shpfile)导入到SQL Server 2008的实现。

一、SQL空间数据导入工具(Shape2SQL)

  SharpGIS发布了一个专门用来导入ESRI地图空间数据(shpfile)的工具,可以非常简单的实现将shpfile的地图数据文件中的空间数据导入到SQL Server 2008中,可以通过如下地址下载该工具。

  SQL空间工具下载地址:http://www.sharpgis.net/page/SQL-Server-2008-Spatial-Tools.aspx

        

  该工具的运行环境需要微软.NET Framewrok 3.5和Microsoft SQL Server System CLR Types。使用该工具通过简单的可视化界面即可连接上SQL Server 2008的数据库服务器,目前该工具仅仅只支持几种常用的主流空间类型数据,包括:Point 、MultiPoint、(Multi)Polygon 和 (Multi)LineStrings 。详细可访问:http://www.sharpgis.net/page/Shape2SQL.aspx

二、SQL空间数据查询工具(SqlSpatial-Query-Tool)

  SQL Server 2008空间数据查询工具可以直接连接到SQL Server 2008数据库服务器,实现空间数据的查询,可视化界面呈现。详细可访问:http://www.sharpgis.net/page/SqlSpatial-Query-Tool.aspx

        

  

三、导入Shpfile地图空间数据

  如本文篇前的截图,使用SQL空间导入工具实现将ESRI的shpfile地图空间数据导入SQL Server 2008其实非常简单,在导入的时候注意表名和SRID就可以了,其他的可以不用管。如下图演示了将重庆市的大区边界地图数据导入到SQL Server 2008中。

        

四、查询空间数据

  实现可以查询可以在SQL Server Management Studio中执行对表(CQ_Region)的的全表查询,于空间结果选项中可以看到如下图所示的空间呈现效果。  

        

  另外还可以使用空间查询工具实现SQL Server 2008中的空间数据查询,Spatial Query Tools查询出的空间输入结果如下所示。

        

五、空间计算支持

  数据库里面有了空间数据,就可以给予数据展开空间计算、统计、分析等给力的功能实现,与GIS客户端结合来完成各种简单、负责的空间计算、分析。如下SQL演示了计算上面导入的重庆大界区的地图的地理面积计算。

select geom.STArea() from CQ_Region WHERE ID=1;
select geom.STArea() from CQ_Region WHERE ID=2
select geom.STArea() from CQ_Region WHERE ID=3;
select geom.STArea() from CQ_Region WHERE ID=4;
select SUM(geom.STArea()) from CQ_Region;

六、相关资料

  [1]、KML规范:http://www.opengeospatial.org/standards/kml/

  [2]、Google KML文档简介:http://code.google.com/intl/zh-CN/apis/kml/documentation/

  [3]、空间工具(Spatial Tools): http://www.sharpgis.net/page/SQL-Server-2008-Spatial-Tools.aspx

版权说明

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

作      者:Beniao

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

转载于:https://www.cnblogs.com/beniao/archive/2011/03/22/1989310.html

SQL Server 2008空间数据应用系列九:使用空间工具(Spatial Tools)导入ESRI格式地图数据...相关推荐

  1. SQL Server 2008空间数据应用系列四:基础空间对象与函数应用

    SQL Server 2008空间数据应用系列四:基础空间对象与函数应用 原文:SQL Server 2008空间数据应用系列四:基础空间对象与函数应用 友情提示,您阅读本篇博文的先决条件如下: 1. ...

  2. SQL Server 2008空间数据应用系列三:SQL Server 2008空间数据类型

    原文:SQL Server 2008空间数据应用系列三:SQL Server 2008空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server ...

  3. SQL Server 2008空间数据应用系列十一:Bing Maps中呈现GeoRSS订阅的空间数据

    友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Ma ...

  4. SQL Server 2008空间数据应用系列七:基于Bing Maps(Silverlight) 的空间数据展现

    SQL Server 2008空间数据应用系列七:基于Bing Maps(Silverlight) 的空间数据展现 原文:SQL Server 2008空间数据应用系列七:基于Bing Maps(Si ...

  5. SQL Server 2008空间数据应用系列六:基于SQLCRL的空间数据可编程性

    友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Ma ...

  6. SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型

    友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Ma ...

  7. SQL Servr 2008空间数据应用系列三:SQL Server 2008空间数据类型

    友情提示,您阅读本篇博文的先决条件如下: 1.具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验. 2.熟悉或了解Microsoft SQ ...

  8. SQL Servr 2008空间数据应用系列六:基于SQLCRL的空间数据可编程性

    友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Ma ...

  9. SQL Servr 2008空间数据应用系列七:基于Bing Maps(Silverlight) 的空间数据展现

    友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Ma ...

  10. SQL Servr 2008空间数据应用系列一:空间信息基础

    Microsoft SQL Server 2008 提供了全面性的空间支持,可让组织通过具空间功能的应用程序来无缝地取用.使用及扩展以位置为基础的数据,最后可协助用户做出更好的决策.空间分析是一项非常 ...

最新文章

  1. cookie在后台的存取
  2. 为什么要在基类使用私有数据_为什么要使用函数
  3. 进击的.NET 在云原生时代的蜕变
  4. [转]浅析Tomcat、JBOSS、WebSphere、WebLogic、Apache
  5. 不止代码:恐狼后卫(ybtoj-区间dp)
  6. expected an indented block
  7. hasoffers API 研究
  8. tensorflow rnn 最简单实现代码
  9. 使用导入 Excel 的方式批量修改文件名称及文件扩展名
  10. java实现电脑定时关机重启_利用任务计划程序实现电脑自动定时关机
  11. VMware Workstation未能挂起虚拟机
  12. Visualforce 标签(一)
  13. Tekla structures深入定制开发篇(一)
  14. 说说C/C++编译的那些事儿
  15. nod-1089-最长回文子串 V2
  16. 【崩坏星穹铁道】仙舟引航罗盘解密c++
  17. 20-Django REST framework-Serializer序列化器
  18. ARM Cortex-M3内核结构
  19. 《三体》刘慈欣:意识上传离现实还存在很大技术障碍
  20. 信任别人计算机和网络,【媒库文选】人们可能更信任计算机而不是人类

热门文章

  1. rsync同步目录及同步文件
  2. vb.net中如何结束一个线程
  3. python html表格模版,python-如何使用模板(例如Jinja2)将列值列表呈现到表中
  4. [分组背包]Luogu1064 金明的预算方案
  5. Code[VS]1159 最大全0子矩阵
  6. 记录开发过程中第一次遇到的回调地狱
  7. whoami 显示“我是谁”
  8. mysql php 类 缓存_记录一个实用的PHP缓存类
  9. 小狗扫地机器人与石头_养宠物不卫生?石头扫地机器人和戴森,你都用对了吗?...
  10. android 数组赋值字符串_给字符数组赋值的方法