
GIS中地图投影的定义.doc
2页GIS 中地图投影的定义我国的基本比例尺地形图(1:5 千,1:1 万,1:2.5 万,1:5 万,1:10 万,1:25 万,1:50 万,1:100 万)中,大于等于 50 万的均采用高斯-克吕格投影(Gauss-Kruger),又叫横轴墨卡托投影(Transverse Mercator);小于 50 万的地形图采用正轴等角割园锥投影,又叫兰勃特投影(Lambert Conformal Conic);海上小于 50 万的地形图多用正轴等角园柱投影,又叫墨卡托投影(Mercator),我国的 GIS 系统中应该采用与我国基本比例尺地形图系列一致的地图投影系统在 MapX 中坐标系定义由基准面、投影两部分参数组成,方法如下: CoordSys.Set(Type, [Datum], [Units], [OriginLongitude], [OriginLatitude], [StandardParallelOne], [StandardParallelTwo], [Azimuth], [ScaleFactor], [FalseEasting], [FalseNorthing], [Range], [Bounds], [AffineTransform]) 其中参数:Type 表示投影类型,Type 为 1 时地图坐标以经纬度表示,它是必选参数,它后面的参数都为可选参数; Datum 为大地基准面对象,如果采用非地球坐标(NonEarth)无需定义该参数; Units 为坐标单位,如 Units 为 7 表示以米为单位; OriginLongitude、OriginLatitude 分别为原点经度和纬度; StandardParallelOne、StandardParallelTwo 为第一、第二标准纬线; Azimuth 为方位角,斜轴投影需要定义该参数; ScaleFactor 为比例系数; FalseEasting, FalseNorthing 为东伪偏移、北伪偏移值; Range 为地图可见纬度范围; Bounds 为地图坐标范围,是一矩形对象,非地球坐标(NonEarth)必须定义该参数; AffineTransform 为坐标系变换对象。
相应高斯-克吕格投影、兰勃特投影、墨卡托投影需要定义的坐标系参数序列如下: 高斯-克吕格:投影代号(Type),基准面(Datum),单位(Unit), 中央经度(OriginLongitude),原点纬度(OriginLatitude), 比例系数(ScaleFactor), 东伪偏移(FalseEasting),北纬偏移(FalseNorthing) 兰勃特: 投影代号(Type),基准面(Datum),单位(Unit), 中央经度(OriginLongitude),原点纬度(OriginLatitude), 标准纬度 1(StandardParallelOne),标准纬度 2(StandardParallelTwo), 东伪偏移(FalseEasting),北纬偏移(FalseNorthing) 墨卡托: 投影代号(Type),基准面(Datum),单位(Unit), 原点经度(OriginLongitude),原点纬度(OriginLatitude), 标准纬度(StandardParallelOne) 在城市 GIS 系统中均采用 6 度或 3 度分带的高斯-克吕格投影,因为一般城建坐标采用的是 6 度或 3 度分带的高斯-克吕格投影坐标。
高斯-克吕格投影以6 度或 3 度分带,每一个分带构成一个独立的平面直角坐标网,投影带中央经线投影后的直线为 X 轴(纵轴,纬度方向),赤道投影后为 Y 轴(横轴,经度方向),为了防止经度方向的坐标出现负值,规定每带的中央经线西移 500 公里,即东伪偏移值为 500 公里,由于高斯-克吕格投影每一个投影带的坐标都是对本带坐标原点的相对值,所以各带的坐标完全相同,因此规定在横轴坐标前加上带号,如(4231898,21655933)其中 21 即为带号,同样所定义的东伪偏移值也需要加上带号,如 21 带的东伪偏移值为 21500000 米 假如你的工作区位于 21 带,即经度在 120 度至 126 度范围,该带的中央经度为 123 度,采用 Pulkovo 1942 基准面,那么定义 6 度分带的高斯-克吕格投影坐标系参数为:(8,1001,7,123,0,1,21500000,0) 那么当精度要求较高,实测数据为 WGS1984 坐标数据时,欲转换到北京 54基准面的高斯-克吕格投影坐标,如何定义坐标系参数呢?你可选择WGS 1984(Mapinfo 中代号 104)作为基准面,当只有一个已知控制点时(见第 2部分),根据平移参数调整东伪偏移、北纬偏移值实现 WGS84 到北京 54 的转换,如:(8,104,7,123,0,1,21500200,-200),也可利用 AffineTransform坐标系变换对象,此时的转换系数(A、B、C、D、E、F)中 A、B、D、E 为 0,只有 X、Y 方向的平移值 C、F ;当有 3 个已知控制点时,可利用得到的转换系数(A、B、C、D、E、F)定义 AffineTransform 坐标系变换对象,实现坐标系的转换,如:(8,104,7,123,0,1,21500000,0, map.AffineTransform),其中 AffineTransform 定义为 AffineTransform.set(7,A、B、C、D、 E、F)(7表示单位米);当然有足够多已知控制点时,直接求定 7 参数自定义基准面就行了。
