SQL Server 2008空间数据应用系列九:使用空间工具(Spatial Tools)导入ESRI格式地图数据
转自:http://www.cnblogs.com/beniao/archive/2011/03/22/1989310.html
友情提示,您阅读本篇博文的先决条件如下:
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/
SQL Server 2008空间数据应用系列九:使用空间工具(Spatial Tools)导入ESRI格式地图数据的更多相关文章
- SQL Server 2008空间数据应用系列二:空间索引(Spatial Index)基础
原文:SQL Server 2008空间数据应用系列二:空间索引(Spatial Index)基础 在前一篇博文中我们学习到了一些关于地理信息的基础知识,也学习了空间参照系统,既地球椭球体.基准.本初 ...
- SQL Server 2008空间数据应用系列十一:提取MapInfo地图数据中的空间数据解决方案
原文:SQL Server 2008空间数据应用系列十一:提取MapInfo地图数据中的空间数据解决方案 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Serv ...
- SQL Server 2008空间数据应用系列十:使用存储过程生成GeoRSS聚合空间信息
原文:SQL Server 2008空间数据应用系列十:使用存储过程生成GeoRSS聚合空间信息 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2 ...
- SQL Server 2008空间数据应用系列四:基础空间对象与函数应用
原文:SQL Server 2008空间数据应用系列四:基础空间对象与函数应用 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. ...
- SQL Server 2008空间数据应用系列十二:Bing Maps中呈现GeoRSS订阅的空间数据
原文:SQL Server 2008空间数据应用系列十二:Bing Maps中呈现GeoRSS订阅的空间数据 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Se ...
- SQL Server 2008空间数据应用系列八:基于Bing Maps(Silverlight)的空间数据存储
原文:SQL Server 2008空间数据应用系列八:基于Bing Maps(Silverlight)的空间数据存储 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft S ...
- SQL Server 2008空间数据应用系列六:基于SQLCRL的空间数据可编程性
原文:SQL Server 2008空间数据应用系列六:基于SQLCRL的空间数据可编程性 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 ...
- SQL Server 2008空间数据应用系列七:基于Bing Maps(Silverlight) 的空间数据展现
原文:SQL Server 2008空间数据应用系列七:基于Bing Maps(Silverlight) 的空间数据展现 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft ...
- SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型
原文:SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测 ...
随机推荐
- Mysql存储引擎__笔记
Mysql存储引擎(表类型): Mysql数据库: 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以使存储器上一些文件的集合或者一些内存 数据的内存数据的集合. Mysql数据库是开放源代 ...
- width(),innerHTML(),outerHTML()
HTML代码: <div id="box"> <p>哈哈,随便写点内容</p> <p>删除的实例</p> <p&g ...
- 在网页中插入qq连接
<a href="tencent://message/?uin=这里写qq号 &Site=这里随便七个名字 &Menu=要为yes">显示出来的名字&l ...
- DataGridView几个基本属性
DataGridView 经常用到,但是很多东西都不熟悉,以至于总去上网查,这次我整理一下,全部都记下来,再用就方便了. 1.禁止用户新建行,就是去掉最后那个行标题上带星号的那个行 dataGridV ...
- A-frame_02
A-Frame 让我们能够仅仅通过几行HTML代码创建出可以运行在桌面, 虚拟眼镜, 以及手机上的VR场景. 而且因为这个框架是基于HTML的, 我们也可以像一般的HTML元素一样配合JavaScri ...
- 数据结构与算法C语言实现笔记(1)--表
声明:此一系列博客为阅读<数据结构与算法分析--C语言描述>(Mark Allen Weiss)笔记,部分内容参考自网络:转载请注明出处. 1.表 表是最简单的数据结构,是形如A1.A2. ...
- 一步步学习ASP.NET MVC3 (14)——Route路由
请注明转载地址:http://www.cnblogs.com/arhat 由于今天是星期六,所以多写几篇,感觉前几天的忙碌没有及时发布文章,趁着周末老魏尽力的多写几篇文章.因为本系列基本上快结束了,所 ...
- 用jQuery在IFRAME里取得父窗口的某个元素的值
收集网上的一些示例: 用jQuery在IFRAME里取得父窗口的某个元素的值 只好用DOM方法与jquery方法结合的方式实现了 1.在父窗口中操作 选中IFRAME中的所有单选钮 $(window. ...
- linux dump 命令详解
功能说明:备份文件系统. 语 法:dump [-cnu][-0123456789][-b <区块大小>][-B <区块数目>][-d <密度>][-f <设备 ...
- [转载]C# 中对html 标签过滤
private string FilterHTML(string html) { System.Text.RegularExpressions.Regex regex1 = new System.Te ...