当前位置: 代码迷 >> GIS >> Mercator投影到平面坐标的有关问题
  详细解决方案

Mercator投影到平面坐标的有关问题

热度:4579   发布时间:2013-02-26 00:00:00.0
Mercator投影到平面坐标的问题
有一个点 WGS84(121.123456,31.123456) 通过Mercator投影到平面坐标
分别如下:
 Level=01  ::428::209 
 Level=02  ::857::419
 Level=03  ::1713::838
 Level=04  ::3426::1675

现在的问题是如果知道 level=4,3426,1675有没有快速的办法知道
                level=3(x3,y3)?
                level=2(x2,y2)?
                level=1(x1,y1)?
                Level=0(x0,y0)?
其中有一个方法是:将Level=4,3426,1675这个点,转为为原始经纬度,然后在分别转,这个没有问题。
另外一个方法是根据当前点的坐标转换到其它比例尺下,比如:
x3 = x4/2 = 3426/2 = 1713;
x2 = x3/2 = 1713/2 = 856,通过公式计算应该是857,这里是+1?
我测试了一下,在其它比例尺下有时候是+1,有时候-1 问题是:什么时候该+1,什么时候该-1?

以下是不同级别下的坐标
 Level=01  ::428::209 
 Level=02  ::857::419
 Level=03  ::1713::838
 Level=04  ::3426::1675
 Level=05  ::6852::3350
 Level=06  ::13704::6700
 Level=07  ::27409::13401
 Level=08  ::54818::26801
 Level=09  ::109636::53602
 Level=10  ::219271::107204
 Level=11  ::438543::214408
 Level=12  ::877086::428816
 Level=13  ::1754171::857632
 Level=14  ::3508343::1715265
 Level=15  ::7016685::3430529
 Level=16  ::14033370::6861058
 Level=17  ::28066740::13722116
 Level=18  ::56133481::27444233
 Level=19  ::112266961::54888466
 有关投影转换时参照这个来做的
http://www.cnblogs.com/beniao/archive/2010/04/18/1714544
穷人只有30分了!

------解决方案--------------------------------------------------------
方法一转回地理坐标(也就是经纬度坐标)是通过了三角函数运算的,如果直接除以等级数(方法二)得到的是平面上的拉伸,而经纬度的等级是曲面上的,其实表面上看是+1或者-1这个现象,是因为取整了,如果不是取整,并不是1的误差,而是不同的小数。个人见解
  相关解决方案