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

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

 
阅读更多

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

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

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

  3、具备相应的GIS专业理论知识

  4、其他相关知识


  SQL Server 2008为大地测量空间数据提供了geography数据类型,为平面空间数据提供了geometry数据类型。这两个都是Microsoft .NET Framework通用语言运行时(CLR)类型,并且可以用来存储不同种类的地理元素,例如点、线和多边形。这两个数据类型都提供了你可以用来执行空间操作的属性和方法,例如计算位置间的距离和找出两者间交叉的地理特性(例如一条河流经一个城镇)。本篇以SQL Server 2008的数据类型为核心内容,介绍其数据类型的支持以及新的空间数据类型的相关特性及基本应用。

        

一、SQL Server 2008通用数据类型

  在SQL Server 2008中的每个变量,参数都会被定义为一个特定的数据类型,这些特定的数据类型主要用于排序、存储等,在SQL Server 2008中的通用数据类型和SQL Server 2005一样,主要的几个通用数据类型为下表所示:

  

通用数据类型
数据类型 描述
char 固定长度字符串
datetime 日期时间类型字段
float 单精度字段
int 整型字段
money 货币类型
nvarchar 可变长字符型

二、SQL Server 2008空间数据类型

  SQL Server 2008中出了兼容低版本的SQL数据库的通用数据类型和其他基础数据类型(比如:),新推出了两个用于支持空间数据存储的空间数据类型,分别为:大地向量空间类型(geography)和几何平面向量空间类型(geometry)。

  1、geography数据类型

  官方定义:geography数据类型为空间数据提供了一个由经度和纬度联合定义的存储结构。使用这种数据的典型用法包括定义道路、建筑、或者地理特性如可以覆盖到一个光栅图上的向量数据,它考虑了地球的弯曲性,或者计算真实的圆弧距离和空中传播轨道,而这些在一个平面模型中所存在的固有失真引起的错误程度是不可接受的。

  2、geometry数据类型

  官方定义:geometry数据类型为空间数据提供了一个存储结构,它是由任意平面上的坐标定义的。这种数据通常是用在区域匹配系统中的,例如由美国政府制定的州平面系统,或者是不需要考虑地球弯曲性的地图和内层布置图。geometry 数据类型提供了与开放地理空间联盟(OGC)Simple Features Specification for SQL标准结合的属性和方法,使得你可以对geometry数据执行操作以产生行业标准的行为。

      

  虽然这两个数据类型都可以用于存储空间数据,在针对不同的空间数据的时候还是有所异同。如果我们需要自己基于SQL Server 2008来做空间数据定义,就需要根据不同的数据在这两种空间数据类型中作出正确的决策了,这点在以后的博文中会进行介绍,这里飘过。此两种空间类型是完美符合空间参照系统标准制定的,包括测距计量单位、空间引用索引、授权标准以及WKT等规范,如下SQL可查看对于空间数据类型所对于的空间引用索引标准中制定的地理空间测距计量单位:

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->SELECT
unit_of_measure
FROM
sys.spatial_reference_systems
WHERE
authority_name
='EPSG'
AND
authorized_spatial_reference_id
=4326
------------------------------------------------------------
执行结果:metre

三、空间数据的存储方式

  SQL Server 2008中的两种空间数据:大地向量空间类型(geography)和几何平面向量空间类型(geometry)都是可变长度的数据类型,这意味着它们相对于比如int或者datetime等固定长度的数据类型,其存储的数据占用空间根据所存储数据的复杂程度、数据描述文字等不同可自适应数据类型的长度变化。

  空间数据类型字段的数据存储以8个字节的二进制格式存储,每条记录的数据的头部分就被定义好了空间数据的类型(点、线、面等类型),以及所使用的空间参考系统和地理坐标(经度、纬度)等值。通常情况下二进制数据内容越长所占用的空间数据存储空间就越大。

四、空间数据可视化

  在 SQL Server 2008 中Microsoft 引入具有两个新的内置数据类型、 几何图形和地理空间数据支持。 尽管您可能 “ 看到 ” 数据空间列的二进制数据存储但还是不能直观的反应出空间数据的预览效果,SQL Server 2008 的SQL Server Management Studio 中提供了一个空间结果选项卡,专门用于可视化预览空间数据结果。

  比如当前执行查询重庆大区边界的空间数据,那么对应于重庆大区边界数据库表可以执行以下SQL:

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->SELECT[ID]
,
[CODE]
,
[ELEV]
,
[NAME]
,
[geom]
FROM[BingMapsDB].[dbo].[CQ_Area_region]

  得到相应的SQL查询记录结果和空间可视化结果为下图所示:

      

  

五、参考资料

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

  [2]、空间数据可视化:http://msdn.microsoft.com/zh-cn/magazine/ee335706.aspx

分享到:
评论

相关推荐

    sqlservr64.rar

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

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

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

    sqlservr32和sqlservr64.zip

    在Win8和Win10下安装SQL Server 2005时无法启动服务的解决办法,替换两个文件,亲测成功,sqlservr32.rar和sqlservr64.zip

    sqlservr32位与64位

    sqlservr64.rar sqlservr32.rar 3、进入SQL Server 2005的安装路径,进入MSSQL文件夹下面的Binn文件夹,在该文件夹里面搜索“sqlservr.exe”文件,并把它复制一份到桌面或其它地方作为备份,然后把上面第2步下载的...

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

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

    sqlservr.exe和sqlos.dll

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

    sqlservr替换.rar

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

    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(这个就是需要...

    sqlservr64.zip

    安装sqlser2005中途报错。需要替换两个文件,在执行重试即可完成安装(亲试有用),对我自己是有用的,那就5积分分享给铁子吧,压缩成ZIP格式了。

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

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

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

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

    sqlservr64.rar sqlservr32.rar

    1、安装sql2005时报了服务无法启动问题,安装到SqlServer服务的时候提示启动服务失败(提示重试的时候) 2、下载本文的附件,sqlservr64.rar sqlservr32.rar 3、将下载的文件解压出sqlservr.exe和sqlos.dll两个文件...

    sqlservr64两文件.rar

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

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

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

    sqlservr+sqlos.zip

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

    SQL SERVER2008 64位下载地址

    SQL SERVER2008 64位下载地址,此为SQL SERVER2008的工具,里面带有kEY码

    sqlos及sqlservr.zip

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

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

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

Global site tag (gtag.js) - Google Analytics