`
holoblog
  • 浏览: 1264973 次
博客专栏
E0fcf0b7-6756-3051-9a54-90b4324c9940
SQL Server 20...
浏览量:19559
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

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

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

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

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

  5、其他相关知识。


  通过前面几篇文章介绍了关于SQL Server 2008中空间数据类型相关的知识点,了解到了什么是空间数据,什么是空间数据类型,如何在SQL中变成定义基础的空间对象实例,这些知识点主要是为了后续学习空间数据应用和做地理空间分析做准备。本篇将继续介绍SQL Server 2008中空间数据类型的应用知识点,主要介绍如何在数据表中使用空间数据类型列,如何存储空间数据到空间数据类型,以及如何查询、预览空间数据等相关知识点。

  选择使用空间数据类型,意味着必须在SQL数据表中添加空间数据类型列以存储空间数据。通常有两种情况:

  1、创建一张带有空间数据类型的新表。

  2、向已有数据表中添加空间数据类型列字段。

一、创建空间数据类型新表

  创建一个带有空间数据类型的新表和创建普通的表基本没有区别,唯一的不同就是使用了空间数据类型字段。以下SQL演示了创建带有空间数据类型的数据表:

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->CREATETABLE[Cities](
[ID][int]IDENTITY(1,1)NOTNULL,
[CityName][varchar](255)NOTNULL,
[CityLocation][geometry]NOTNULL
)
GO

二、添加空间数据类型到已有表

  向已有表中添加空间数据类型列和普通表添加新的列是一样的,同样使用alter table xxx add yyy datatype命令完成。下面代码演示了向刚创建的新表添加一空间数据类型字段:

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->--向已有表中添加空间数据类型字段
ALTERTABLE[Cities]
ADDgeogeography
GO

三、为空间数据类型列制定空间引用标识(SRID)

  任何空间数据类型字段都可以向其指派相应的空间引用标识(SRID),部分空间数据类型字段还是必须制定SRID的。实现对空间数据类型列指派SRID也非常简单,SQL提供了指派命令来完成,下面的SQL命令演示了给上面新添加的空间数据类型指派SRID的实现。

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->--指派空间数据类型列的SRID
ALTERTABLE[Cities]
ADDCONSTRAINT[enforce_srid_geographycolumn]
CHECK(geo.STSrid=4326)
GO

四、插入空间数据到空间数据类型字段

  插入数据导表格中同样使用“insert into table.....”语法实现,不同的是插入空间数据的时候需要对数据进行格式化处理才能被成功的插入到空间数据类型列。针对于两种(geography和geometry)空间数据类型,系统提供了专门的空间格式化语法来处理,比如通过将WKT文本插入到空间数据列,可以使用geometry::STGeomFromText()或者geography::STGeomFromText()函数来对WKT文本进行空间数据类型格式转化。

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->insertintoCities
(CityName,CityLocation)
values
(
'chongqing',geometry::STGeomFromText('POLYGON((107.0435228.870554,107.04389128.873231......)',4326));

  注:上面SQL代码块实现了将重庆市区区域WKT格式的空间数据插入到Cities表的CityLocation字段中,由于WKT内用太长,代码段中对其进行了截取。

四、查询空间数据类型数据

  查询空间数据和普通的数据查询几乎没有区别,同样使用“select xxx from table where x=y”的方式实现数据查询。下面SQL命令演示了查询刚刚插入的数据记录:

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->select*fromCities;

      

  同样可以使用系统函数将查询出的空间结果转化为WKT文本格式输出,下面的SQL命令详细演示了改功能函数的使用:

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->--转换空间数据为WKT文本
DECLARE@chongqinggeometry;
select@chongqing=CityLocationfromCitieswhereID=1;
select@chongqingas重庆市;
select@chongqing.ToString()as重庆市;
select@chongqing.STAsText()as重庆市;--WKT

        

五、相关资料

  [1]、空间数据库(百度百科):http://baike.baidu.com/view/1194566.htm

  [2]、使用空间数据实现位置智能:http://tech.ddvip.com/2008-04/120816526343873.html

  [3]、基础空间对象(MSDN):http://msdn.microsoft.com/de-de/library/bb964711.aspx

  [4]、几何实例上的OGC方法:http://msdn.microsoft.com/zh-cn/visualc/bb933960.aspx

  [5]、几何图形实例上的扩展方法:http://msdn.microsoft.com/zh-cn/library/bb933880.aspx

  [6]、OGC 静态几何图形方法:http://msdn.microsoft.com/zh-cn/library/bb933894.aspx

  [7]、扩展静态几何图形方法:http://msdn.microsoft.com/zh-cn/library/bb933805.aspx

分享到:
评论

相关推荐

    sqlservr32和sqlservr64.zip

    标题中的"sqlservr32和sqlservr64.zip"指的是SQL Server 2005服务中的两个关键组件,`sqlservr32.exe`和`sqlservr64.exe`。这两个文件是SQL Server服务的核心执行文件,分别对应于32位和64位操作系统。在Windows 8和...

    SQLServr2019空间数据库应用系列12页.pdf

    本文将对 SQL Server 2019 空间数据库应用系列进行详细的知识点讲解,涵盖空间信息基础、空间数据、坐标系统、空间参考系统等重要概念。 空间信息基础 SQL Server 2019 提供了全面性的空间支持,允许组织通过具...

    sqlservr64.rar

    sqlservr64.rar sqlservr32.rar 3、进入SQL Server 2005的安装路径,进入MSSQL文件夹下面的Binn文件夹,在该文件夹里面搜索“sqlservr.exe”文件,并把它复制一份 【实例截图】 【核心代码】 sqlservr64 ├── sql...

    sqlservr32位与64位

    5、安装完成之后,如果想要打SP4补丁,去任务管理器找到sqlservr.exe进程,把它结束掉,把备份的sqlservr.exe文件还原回去,也就是替换回去(否则SP4安装程序以为你已经应用过SP4),然后就能打上SP4补丁了(即安装...

    sqlservr64.zip

    标题中的"sqlservr64.zip"表明这是一个与SQL Server 64位版本相关的压缩文件。在描述中,用户提到在安装SQL Server 2005的过程中遇到了问题,需要替换两个特定的文件来解决错误,并且这个解决方案经过验证是有效的。...

    sqlservr.exe和sqlos.dll

    5、安拆完成之后,往任务挨点器找到sqlservr.exe进程,把它竣事掉,把备份的sqlservr.exe文件借原归往,也就是交流归往(否则SP4安拆轨范觉得你已应用过SP4),然后即速挨上SP4补钉(即安拆已下载好的SP4更新轨范)...

    sqlservr.exe和sqlos.dll win8-win10下安装sqlserver2005 亲测成功

    在安装过程中,`sqlos.dll`会被加载到`sqlservr.exe`进程中,提供必要的服务支持。 在Win8-Win10环境下安装SQL Server 2005时,需要注意以下关键点: 1. **系统兼容性**:虽然SQL Server 2005官方不直接支持Win8-...

    sqlservr替换.rar

    在win10中 安装SQL2005 安装到中途会无法继续进行下去, 需要选替换二个文件 找到 \Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn(一般路径在C盘),将sqlos.dll与sqlservr.exe(这个就是需要替换的文件...

    sqlservr.exe和sqlos.dll-WIN10版本-win10安装sql2005失败替换文件

    用友T3安装sql2005失败替换文件sqlservr.exe和sqlos.dll win10安装sqlserver时安装提示出错,需要再安装过程中替换文件, 安装过程中,当提示服务启动失败时,不要关闭此安装页面,找到~:\Program Files\Microsoft ...

    sqlservr.exe和sqlos.dll win8-win10下安装sqlserver2005

    5、安拆完成之后,往任务挨点器找到sqlservr.exe进程,把它竣事掉,把备份的sqlservr.exe文件借原归往,也就是交流归往(否则SP4安拆轨范觉得你已应用过SP4),然后即速挨上SP4补钉(即安拆已下载好的S P4更新轨范...

    sqlservr.exe和sqlos.dll 64和32位

    安装到SqlServer服务的时候提示启动服务失败,这里就是关键啦,下载本文的两个附件,里面是SP4(2005.90.5000.0)版本的sqlservr.exe和sqlos.dll。32位下载sqlservr32.rar,64位下载sqlservr64.rar。

    sqlservr64-win10安装2005替换文件.rar

    需要再安装过程中替换文件, 安装过程中,当提示服务启动失败时,不要关闭此安装页面,找到~:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn(一般路径在C盘),将sqlos.dll与sqlservr.exe(这个就是需要...

    sqlservr+sqlos.zip

    安装sqlserver2005时候,安装完成后,提示启动失败。 再次有教程,一步步按照教程操作,才能正常成功。 注:win10系统安装sqlserver2005时候,检测IIS总是过不去。原因:win10 IIS没有完全,注意是全部,完全安装...

    sqlservr执行命令

    在SQL Server中,`sqlservr`是数据库引擎的主要可执行文件,它是SQL Server服务的核心组件,负责处理SQL语句、管理数据存储以及提供与其他应用程序的接口。在本篇文章中,我们将深入探讨如何使用`sqlservr`命令来...

    sqlservr64.rar sqlservr32.rar

    2、下载本文的附件,sqlservr64.rar sqlservr32.rar 3、将下载的文件解压出sqlservr.exe和sqlos.dll两个文件,复制到Binn文件夹里面覆盖原文件(即点击替换)。 例如“C:\Program Files\MicrosoftSQLServer\MSSQL.2...

    sqlservr64两文件.rar

    某些情况下,是不好用的,我就是其一,不过也许别人有用呢,放上来,1分来取吧 看着别人几十分的要,我下来了,但不好用,听说有些人是好用的,1分扔出来了

    win8 64位安装sql 2005无法启动sql server服务问题

    5、安装完成之后,如果想要打SP4补丁,去任务管理器找到sqlservr.exe进程,把它结束掉,把备份的sqlservr.exe文件还原回去,也就是替换回去(否则SP4安装程序以为你已经应用过SP4),然后就能打上SP4补丁了(即安装...

    sqlos.dll和sqlservr.exe win10安装sql server 2005 报错。

    win10安装SQL server 2005 报错 我是win10家庭版升级的专业版,费了好大劲才安装成功。 安装方法全部在附件里的教程中。附带安装包和补丁包的下载链接及必须的两个文件。 建议下载后先看一遍教程再动手安装。

    sqlos及sqlservr.zip

    在win10中 安装SQL2005 安装到中途会无法继续进行下去, 需要选替换二个文件 找到 \Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn(一般路径在C盘),将sqlos.dll与sqlservr.exe(这个就是需要替换的文件...

Global site tag (gtag.js) - Google Analytics