|
|
首先要确定地图是不是高斯-克吕格投影。我国1:50万和更大比例尺地形图,都采用高斯-克吕格投影,而Google Maps采用的就不是,所以对于Google Maps公里网就没有意义。感觉公里网只在读纸地图的时候估距离和面积有用,电子地图的量算中好像很少使用它。假设您本来就用的是高斯-克吕格投影的地图,的确有与公里网相互的需要,那么就用专业软件来做好了。ArcGIS就可以实现,操作如下:
1.若地图图像没有经过配准(图像上点位没有与地图坐标系建立对应关系),那么先用ArcGIS配准,大概就是选几个图像上已知坐标的点,把它们的坐标输进去,选择地图的投影,ArcGIS就会按照该投影和几个点的已知坐标,计算图像上所有点在该投影下的坐标值。ArcGIS提供丰富的投影系统,对于高斯-克吕格投影,需根据地图所在的投影带[1]选择对应的投影。例如北京54坐标系下19分度带的投影,在ArcGIS中的名称为Beijing 1954 GK Zone 19。
2.对于本身已在高斯-克吕格投影系统中配准的地图,ArcGIS本身就提供经纬度坐标和公里网坐标两种坐标,所以其实已经完成了转换。
可能这个方法没有完全解决问题,因为还是没给出转换的公式。我认为,做粗转换的话利用公里网的定义和地球的基本数据是可以将经纬网转换为公里网,但要精确些,公式还是相当复杂的,毕竟地球严格来说不是圆的,所以最好还是依赖经过实践检验的专业软件。不知这种功能有没有API。。
注:
[1]关于高斯-克吕格投影、投影带和公里网的概念,可参考这篇文章:- 如果是标准地形图,还是有办法转化的,因为用的是高斯-克吕格投影
- 该投影按照投影带中央子午线投影为直线且长度不变和赤道投影为直线的条件,确定函数的形式,从而得到高斯一克吕格投影公式。投影后,除中央子午线和赤道为直线外, 其他子午线均为对称于中央子午线的曲线。设想用一个椭圆柱横切于椭球面上投影带的中央子午线,按上述投影条件,将中央子午线两侧一定经差范围内的椭球面正形投影于椭圆柱面。将椭圆柱面沿过南北极的母线剪开展平,即为高斯投影平面。取中央子午线与赤道交点的投影为原点,中央子午线的投影为纵坐标x轴,赤道的投影为横坐标y轴,构成高斯克吕格平面直角坐标系。
- 将经纬坐标,转化为地形图坐标比较容易办,手算即可.
- 分三步:
- 一、确定投影带:投影的方法,在比例尺 1:2.5万-1:50万图上采用6°分带,对比例尺为 1:1万及大于1:1万的图采用3°分带。
- 6°分带法:从格林威治零度经线起,每6°分为一个投影带,全球共分为60个投影带,东半球从东经0°-6°为第一带,中央经线为3°,依此类推,投影带号为1-30。其投影代号n和中央经线经度L0的计算公式为:L0=(6n-3)°;西半球投影带从180°回算到0°,编号为31-60,投影代号n和中央经线经度L0的计算公式为L0=360-(6n-3)°。
- 3°分带法:从东经1°30′起,每3°为一带,将全球划分为120个投影带,东经1°30′-4°30′,...178°30′-西经178°30′,...1°30′-东经1°30′。
- 东半球有60个投影带,编号1-60,各带中央经线计算公式:L0=3°n ,中央经线为3°、6°...180°。西半球有60个投影带,编号1-60,各带中央经线计算公式:L0=360°-3°n ,中央经线为西经177°、...3°、0°。
- 二、换算,就用三角函数将球体上的坐标(经纬)换算为投影的圆柱坐标
- 三、转化为地图方里坐标
- 我国规定将各带纵坐标轴西移500公里,即将所有y值加上500公里,坐标值前再加各带带号以18带为例,原坐标值为y=243353.5m,西移后为y=743353.5,加带号通用坐标为y=18743353.5 。
- 但是你要求的是这个的逆运算,这个问题靠手算是不太现实的,因为这是一个二元三角函数的逆函数,……想想头都大了,一般地理信息系统软件能提供这种转化功能.
复制代码 |
|