Microsoft SQL Server 2008 提供了全面性的空间支持,可让组织通过具空间功能的应用程序来无缝地取用、使用及扩展以位置为基础的数据,最后可协助用户做出更好的决策。空间分析是一项非常复杂的工作,包含一系列学术内容:地理、数学、天文、图形等。虽然在使用SQL Server 2008的空间特性中不必要深入研究关于地理、数学、天文以及图形等学科,但如果你想在学习或者是正式的项目开发中能够很好的使用空间特性,适当和有效的掌握一些关于空间信息方面的理论概念可谓理所当然。
一、什么是空间数据
空间数据是指用来表示空间实体的位置、形状、大小及其分布特征诸多方面信息的数据,它可以用来描述来自现实世界的目标,它具有定位、定性、时间和空间关系等特性。定位是指在已知的坐标系里空间目标都具有唯一的空间位置;定性是指有关空间目标的自然属性,它伴随着目标的地理位置 ;时间是指空间目标是随时间的变化而变化;空间关系通常一般用拓扑关系表示。空间数据是一种用点、线、面以及实体等基本空间数据结构来表示人们赖以生存的自然世界的数据。
来自百度百科的定义:用于描述有关空间实体的位置、形状和相互关系的数据,以坐标和拓扑关系的形式存储。
地理服务的普遍性,和用户使用数据所采用的混合度的提高意味着这个空间信息只是合成到解决方案中的另一个组件,并且是作出更好决策和提供更高的价值服务的一个基础。SQL Server 2008通过引入新的空间数据类型提供了对地理数据的支持,你可以使用它来存储和操纵基于位置的信息,SQL server 2008中的空间支持可以帮助用户通过分析基于地理的位置数据来作出更好的决策。
二、地图上的空间数据
空间数据提供了可以在不同领域的广泛使用的信息,比如地图、地图分析、空间分析、GPS定位、车辆监控等多行业领域。这里不分别详细介绍空间数据到各个行业领域的应用,主要介绍空间数据在地图上的应用为主。实际上地图上的空间对象是很复杂且不规则的对象,通常表现为一些复杂、不规则的几何图形,使用空间数据来解释就是:“近似他们实际的形状和位置的简单、或复杂的几何形状”。
SQL Server 2008 主要支持三种类型的空间数据,用来表示空间信息的几何图形,分别为:点(Point)、线(LineString)和面(Polygon)。
1、点(Point):点是几何的基本类型,用来表示空间上的一个位置。
2、线(LineString):线条描述了空间上的两个点之间的距离,有两个端点,分别为:起止点(StartPoint)和终止点(EndPoint)。
3、面(Polygon):面用来表示空间上的一块几何区域,可以是三角形、四边形等,也可以是不规则的任意几何图形块。
在地图上的面(Polygon)通常可以在空间数据中用来表示群岛、湖泊、工厂、学校、政府、司法管理区域等一块地市区域,如下重庆市区县分布图所示:
三、坐标系统(Coordinate System)
常用的坐标系为地理坐标系(Geograpic Coordinate System,简称GCS)和投影坐标系(Projected Coordinate System,简称PCS)。
地理坐标系统(GCS)用一个三维的球面来确定地物在地球上的位置,地面点的地理坐标有经度、纬度、高程构成。地理坐标系统与选择的地球椭球体和大地基准面有关。椭球体定义了地球的形状,而大地基准面确定了椭球体的中心。地理空间中可以使用两个坐标值定义在地球表面上的任何位置,既地理经度和地理纬度,经度和纬度共同组成一个地理坐标点(Point),既:Point(latitude,longitude)。
投影坐标系统(PCS)是根据某种映射关系,将地理坐标系统中由经纬度确定的三维球面坐标投影到二维的平面上所使用的坐标系统。在该坐标系统中,点的位置是由(x,y,z)坐标来确定的。由于投影坐标是将球面展会在平面上,因此不可避免会产生变形。这些变形包括3种:长度变形、角度变形以及面积变形。通常情况下投影转换都是在保证某种特性不变的情况下牺牲其他属性。根据变形的性质可分为等角投影、等面积投影等。
四、空间参考系统
上面分别介绍了基于角坐标经度和纬度的地理坐标系统(GCS),以及使用X和Y的笛卡尔坐标的投影坐标系统(PCS)。无论是基于何种坐标系统,一组坐标始终只能表示坐标系统中的一个位置点,要想了解关于地球上的坐标系统的应用更多的知识,我们需要研究空间参考系统,既地球椭球体、基准、本初子午线、计量单位、投影等其他知识点。
地球椭球体(Ellipsoid):即等角横切椭圆柱投影。假想用一个圆柱横切于地球椭球体的某一经线上,这条与圆柱面相切的经线,称中央经线。以中央经线为投影的对称轴,将东西各3°或1°30′的两条子午线所夹经差6°或3°的带状地区按数学法则、投影法则投影到圆柱面上,再展开成平面,即高斯-克吕格投影,简称高斯投影。这个狭长的带状的经纬线网叫做高斯-克吕格投影带。
基准(Datum):大地基站设计用为最密合部分或全部大地水准面的数据模式。它由椭球体本身及椭球体和地表上一点视为原点之间关系来定义。此关系能以6个量来定义,既:经度、纬度、原点高度、原点垂线偏差之两分量及原点至某点的大地方位角。
本初子午线(Prime Meriaian):0°经线,是计算东西经度的起点。1884年国际会议决定用通过英国格林威治(Greenwich)天文台子午仪中心的经线为本初子午线。1957年后,格林尼治天文台迁移台址。1968年国际上以国际协议原点(CIO)作为地极原点,经度起点实际上不变。
计量单位(Unit):各种物理量都有它们的量度单位,并以选定的物质在规定条件显示的数量作为基本量度单位的标准,在不同时期和不同的学科中,基本量的选择何以不同。如物理学上以时间、长度、质量、温度、电流强度、发光强度、物质的量这7个物理单位为基本量,它们的单位依次为:秒、米 (单位)、千克、开尔文、安培、坎德拉、摩尔。
投影(Projection):从初中数学的角度来说,一般地,用光线照射物体,在某个平面(地面、墙壁等)上得到的影子叫做物体的投影(projection),照射光线叫做投影线,投影所在的平面叫做投影面。有时光线是一组互相平行的射线,例如太阳光或探照灯光的一束光中的光线。由平行光线形成的投影是平行投影(parallel projection).由同一点(点光源发出的光线)形成的投影叫做中心投影(center projection)。投影线垂直于投影面产生的投影叫做正投影。投影线不平行于投影面产生的投影叫做斜投影。物体正投影的形状、大小与它相对于投影面的位置和角度有关。
投影分很多种,最为常见的则为墨卡托投影,百度地图、Google Maps、微软Bing Maps都是基于墨卡托投影架构的。