地理数据坐标系转换 |
在SuperMap组件产品中,您可以通过 CoordSysTransMethod 枚举来选择坐标系转换的方法,目前提供了以下几种方法,各种方法的基本原理已经在上文进行的较为详细的描述,具体参见上文对应的转换方法的描述:
表格 1 CoordSysTransMethod 枚举
转换方法及对应的枚举名称 |
描述 |
|
三参数转换法 |
GeocentricTranslation |
基于地心的三参数转换法。 |
Molodensky |
莫洛金斯基(Molodensky)转换法。 |
|
MolodenskyAbridged |
简化的莫洛金斯基转换法。 |
|
七参数转化法 |
PositionVector |
位置矢量法。 |
CoordinateFrame |
基于地心的七参数转换法。 |
|
BursaWolf |
Bursa-Wolf 方法。 |
在实际应用中,您可以根据您的数据情况选择合适的转换方法,选择了转换方法后,您需要通过CoordSysTransParameter类的成员对转换参数进行设置,设置完成后就可以进行坐标系的转换操作了。下面的表格列出了CoordSysTransParameter类的主要成员,例如:如果您选择了三参数转换方法,就需要对三个平移参数进行设置;如果您选择了七参数转换方法,就需要同时设置旋转参数、平移参数以及尺度比参数。
表格 1 CoordSysTransParameter类的主要成员
参数类别 |
对应成员名称 |
描述 |
三个旋转参数 |
RotateX |
获取或设置 X 轴的旋转角度。单位为弧度。 |
RotateY |
获取或设置 Y 轴的旋转角度。单位为弧度。 |
|
RotateZ |
获取或设置 Z 轴的旋转角度。单位为弧度。 |
|
尺度比参数 |
ScaleDifference |
获取或设置投影比例尺差。 |
平移参数 |
TranslateX |
获取或设置 X 轴的坐标偏移量。单位为米。 |
TranslateY |
获取或设置 Y轴的坐标偏移量。单位为米。 |
|
TranslateZ |
获取或设置 Z轴的坐标偏移量。单位为米。 |
SuperMap组件产品中,坐标系的转换往往是投影转换中的一个转换环节,在将数据从原投影坐标系转换到目标投影坐标系时,需要经过以下转换步骤:
将原投影坐标系转换为大地经纬度坐标系->大地经纬度坐标系转换为空间直角坐标系->空间直角坐标系转换为目标空间直角坐标系->目标空间直角坐标系转换为大地经纬度坐标系->大地经纬度坐标系转换为投影坐标系。
因此,如果在投影转换中,如果原投影和目标投影的地理坐标系不同,则需要进行参照系(坐标系)的转换。
投影转换的接口为:CoordSysTranslator.Convert()方法,方法中都提供了CoordSysTransParameter,和CoordSysTransMethod两个类型的参数,如果原投影和目标投影的地理坐标系不同就需要正确设置这两个参数,否则,无需对两个参数进行设置。