地图投影 |
在SuperMap GIS 中,数据的坐标系分为三类:平面坐标系、地理坐标系、投影坐标系,其中地理坐标系又称为经纬度坐标系。
1. 平面坐标系
一般用来作为与地理位置无关的数据的坐标参考,也是默认新建数据的坐标参考,如CAD 设计图、纸质地图扫描后的图片、与地理位置无关的示意图等。平面坐标系是一个二维坐标系,原点坐标为(0,0),数据中每一个点的坐标是由其距水平和垂直的X和Y轴的距离确定。
|
图 6‑1 平面坐标系 |
2. 地理坐标系
使用经纬度坐标来表示椭球上任意一点的坐标,又称为经纬度坐标系。地理坐标系中,通常包含对水平基准、中央子午线和角度单位的定义。常用的地理坐标系如:WGS84、Beijing1954、Clarke 1866等。例如,Google Earth上的KML数据,全球定位系统采集的数据,都是以WGS84为坐标系的。大地测量获取的控制点坐标以西安80或Beijing1954为坐标系。图 6‑2为WGS84坐标系的世界地图。
|
图 6‑2 经纬度坐标系 |
3. 投影坐标系
通过某种投影方式和投影类型,将椭球上的任意一点投影到平面上。使用二维平面坐标XY来表示点线面地物的位置。投影坐标系中,通常包含对地理坐标系、地图投影、投影参数及距离单位的定义。常用的投影坐标系,例如:UTM、Gauss-Kruger、Albers、Mercator等。一般,经过投影的地理数据,可进行地图量算、各种空间分析、制图表达等。例如,我国基本比例尺地形图中,1:100万地形图采用Albers投影,其余大部分都采用了高斯-克吕格6°带或者3°带投影。而城市规划中用到的大比例尺地图,如1:500,1:1000等的道路施工图、建筑设计图等多采用平面坐标系。图 6‑3为原WGS84坐标系的世界地图进行了Robinson投影。
|
图 6‑3 投影坐标系 |
投影坐标系统有两种用途:一定义坐标系,只有定义了坐标系,所输入的数据才有实际意义;二在不同坐标系之间进行数据转换。由于空间数据的来源广泛,在应用时必须进行适当的坐标转换才能将数据正确地显示或者存入数据库。SuperMap 组件产品 中的投影系统不仅包括了一些系统预定义的坐标系,而且用户可以自由创建自己的坐标系。
SuperMap 组件产品 的地图投影系统采用如图 6‑4的模型,简化了组成坐标系的各个模块。
图 6‑4 SuperMap组件产品投影系统模型 |
与上面的数据模型对应,SuperMap 组件产品 封装了一系列可编程对象,用户可以通过程序自由控制,投影对象的关系和结构如图 6‑5。
|
图 6‑5 投影对象关系图 |
SuperMap 组件产品 的投影子系统包含了国内外常用的基本投影类型,都具有从地理坐标根据某种投影方案转换到投影平面的平面坐标及其反算得到的功能接口,使得用户能够充分利用现有的各种不同坐标系统的数据资源。
目前,SuperMap 组件产品 提供30多种投影类型供用户使用,每种投影的变形性质以及特点、适用范围,用户可参考相关书籍:
l 等角圆锥投影
l 等距离圆锥投影
l 等面积圆锥投影
l 等角方位投影(球面投影)
l 等距离方位投影(波斯托投影)
l 等面积方位投影(兰伯特投影)
l 正射投影
l 球心投影
l 等距离球心投影
l 等距离正射投影
l 正轴等距离圆柱投影
l 正轴等角圆柱投影(莫卡托投影)
l 正轴等面积圆柱投影
l 横切等角圆柱投影
l 横切等距离圆柱投影
l 横切等面积圆柱投影
l 高斯——克吕格投影
l 通用横轴莫卡托投影(UTM)
l 等面积伪圆锥投影(彭纳投影)
l 桑逊投影
l 爱凯特正弦投影
l 摩尔维特投影
l 爱凯特椭圆投影
l 普通多圆锥投影(美国多圆锥投影)
l 正切差分纬线多圆锥投影(我国1976年方案)
l ……
SuperMap 投影信息文件记录了系统定义的投影坐标系、地理坐标系、大地参照系、地球椭球体、本初子午线、地图投影信息,文件的格式如图 6‑6,共有六部分。
文件名:PrjConfig.xml
路径:安装目录\Bin\ PrjConfig.xml
|
图 6‑6 投影信息文件 |
每一部分都有相应该部分的设置。投影坐标系,需要设置该投影的名称,类型,投影坐标单位,距离单位,所用的投影,地理坐标系,以及一些投影参数;地理坐标系需要设置地理坐标系的名称,类型,坐标系单位,距离单位,大地参照系,本初子午线;大地参照系需要设置参照系的名称,类型以及地球椭球体;地球椭球体需要设置名称,类型,椭球体的长半径及扁率;本初子午线需要设置名称,类型以及中央经线值;地图投影信息需要设置投影的名称及类型。
注意:以上各部分设置均涉及到“类型”的设置,类型是一组数值,相当于当前设置的一个标识,比如在设置投影坐标系时,会用到地理坐标系,如果设置为<sml: GeoCoordType>4326</ sml: GeoCoordType >,则表示该投影坐标系用到的地理坐标系是“类型”为4326的那个地理坐标系。
用户自定义的投影坐标系、地理坐标系、水平基准、椭球、中央子午线等,其Type必须为-1,以自定义投影坐标系为例,如图 6‑7所示:
|
图 6‑7 用户自定义投影 |
在 SuperMap 组件产品 中,提供了一系列可编程对象,通过调用这些对象,可以实现相关的地图投影功能,地图投影功能对象结构图如图 6‑8:
图 6‑8 地图投影涉及的类 |
以淡紫色标出的类为地图投影涉及到的一些枚举类。具体如下:
GeoCoordSysType
该类定义了地理坐标系类型常量。
GeoSpatialRefType
该类定义了空间坐标系类型常量,用以区分平面坐标系、地理坐标系、投影坐标系。
GeoPrimeMeridianType
该类定义了中央经线类型常量。
GeoDatumType
该类定义了大地参照系类型常量。该类型主要用来描述地球的长半径和扁率。
GeoSpheroidType
该类定义了地球椭球体类型常量。
PrjCoordSysType
该类定义了投影坐标系类型常量。
ProjectionType
该类定义了投影坐标系的投影方式的类型常量。
CoordSysTransMethod
该类定义了投影转换方法类型常量。
Unit
该类定义了定义各种单位的常量。
以淡蓝色标出的为地图投影涉及到的类,具体如下:
GeoCoordSys
地理坐标系类。地理坐标系由大地参照系、中央经线、坐标单位组成。在地理坐标系中,单位一般用度来表示,也可以用度分秒表示。东西向(水平方向)的范围为-180度至180度。南北向(垂直方向)的范围为-90度至90度。地理坐标是用经纬度表示地面点位置的球面坐标。
GeoPrimeMeridian
中央子午线类。 该对象主要应用于地理坐标系中,地理坐标系由三部分组成:中央子午线、参照系或者大地基准(Datum)和角度单位。
GeoDatum
大地参照系类。该类型包含有地球椭球参数。 地球椭球体仅仅是描述了地球的大小及形状,为了更准确地描述地球上的地物的具体位置,需要引入大地参照系。大地参照系确定了地球椭球体相对于地球球心的位置,为地表地物的测量提供了一个参照框架,确定了地表经纬网线的原点和方向。大地参照系把地球椭球体的球心当作原点。一个地区的大地参照系的地球椭球体或多或少地偏移了真正的地心,地表上的地物坐标都是相对于该椭球体的球心的。目前被广泛利用的是WGS84,它被当着大地测量的基本框架。不同的大地参照系适用于不同的国家和地区,一个大地参照系并不适合于所有的地区。
GeoSpheroid
地球椭球体参数类。该类型主要用来描述地球的长半径和扁率。人们通常用球体或椭球体来描述地球的形状和大小,有时为了计算方便,可以将地球看作一个球体,但更多的时候是把它看作椭球体。一般情况下在地图比例尺小于1:1,000,000 时,假设地球形状为一球体,因为在这种比例尺下球体和椭球体的差别几乎无法分辨;而在1:1,000,000 甚至更高精度要求的大比例尺时,则需用椭球体逼近地球。椭球体是以椭圆为基础的,所以用两个轴来表述地球球体的大小,即长轴(赤道半径)和短轴(极地半径)。
因为同一个投影方法,不同的椭球体参数,相同的数据投影出来的结果可能相差很大,所以需要选择合适的椭球参数。不同年代、不同国家和地区使用的地球椭球参数有可能不同,中国目前主要用的是克拉索夫斯基椭球参数;北美大陆及英法等主要用的是克拉克椭球参数。
PrjParameter
地图投影参数类。地图投影的参数,比如中央经线、原点纬度、双标准纬线的第一和第二条纬线等。详细信息参考联机帮助程序员参考说明部分。
Projection
地图投影类,该类提供了将球面坐标转化为平面坐标的方法。一般来说,地图投影按变形性质可以分为等角投影、等距投影和等积投影,适于不同的用途,如果是航海图,等角投影是很常用。还有一种是各类变形介于这几种之间的任意投影,一般用作参考用途和教学地图。地图投影也可以按照构成方法分成两大类,分别为几何投影和非几何投影。几何投影是把椭球面上的经纬线网投影到几何面上,然后将几何面展为平面而得的,包括方位投影、圆柱投影和圆锥投影;非几何投影不借助几何面,根据某些条件用数学解析法确定球面与平面之间点与点的函数关系,包括伪方位投影、伪圆柱投影、伪圆锥投影和多圆锥投影。
CoordSysTranslator
投影转换类,投影转换一般有三种工作方式:地理(经纬度)坐标和投影坐标之间的转换使用 forward() 方法、投影坐标和地理(经纬度)坐标之间的转换使用 inverse() 方法、两种投影坐标系之间的转换使用 convert() 方法。
CoordSysTransParameter
投影坐标系转换参数类,该类用于进行参照系变换,包括参照系平移、旋转和比例尺缩放因子等参数。在投影转换中,如果源投影和目标投影的地理坐标系不同,则需要进行参照系变换,通常有三参数、七参数等方法,该类所提供的参数设置,指的就是这些变换参数。