玩轉地圖投影公式,通過例題對蘭伯特投影與墨卡托投影求取正反解


     hello~~今天yogurt要和大家分享的是如何玩轉地圖投影的公式,由正解公式求解:(Lat,Lon)-->(E,N),或者由反解公式求解:(E,N)-->(Lat,Lon)。關於怎么進行投影?大家可以參考我之前寫過的一篇《.gen地圖文件的投影編程實現(以墨卡托投影和蘭伯特投影為例)》http://www.cnblogs.com/to-sunshine/p/6048438.html。接下來,yogurt先給大家簡單介紹一下地球橢球及其參數,還有蘭伯特投影和墨卡托投影公式,讓大家對於投影這個概念和過程有個大致地了解。然后,通過兩個例子分別對蘭伯特投影和墨卡托投影進行正反算求解。

============================yogurt小課堂開課了===========================

    什么叫做地球橢球?我們都知道地球是一個兩邊寬上下扁的不規則橢球體。那么為了簡化計算,我們把這個橢球體近似看作一個標准橢球體,它擁有以下參數:

長半徑:a    ;                                 短半徑:b    ;

扁率:

第一偏心率:             第二偏心率:       

 

扁率與偏心率的關系為:e ² = 2 X f - f ²    。

    當然,地球橢球體與普通標准橢球體還是有一定區別的,下面的參數則是地球橢球體特有的:     首先,我們要來了解這兩個概念:

法截面:設過橢球表面上任意一點A做法線AL,通過法線的平面所截成的截面;

子午圈截面:包含子午圈的橢球體截面;       -->   對應曲率半徑 (該半徑對應的圓弧是與所有經線相平行的)

卯酉圈截面:垂直於子午圈截面的法截面。    -->   對應曲率半徑(該半徑cos之后得到的半徑是對應的緯線圈上的半徑,對應的圓弧是與所有緯線相平行的)

如圖:

 

假設某點   緯度:ρ    經度:λ

由   弧長 l = 半徑 r X  弧度φ  得到:

南北方向弧長:dN = M X dρ   ,    東西方向弧長:dE = (N X cosρ) X dλ    。

------------------------------------------------------------------------------------------------------------------------------------------------

   

    什么叫做地圖投影呢?即:建立平面上的點(用平面直角坐標或極坐標表示) 和地球表面上的點(用緯度Φ和經度λ表示)之間 的函數關系,用數學表達這種關系,就是:

    蘭伯特投影:是等角正軸割圓錐投影;        墨卡托投影:是等角正切圓柱投影。

------------------------------------------------------------------------------------------------------------------------------------------------

   

1、  利用蘭伯特等角投影正解和反解公式進行求解

正解公式由(Lat,Lon)à(E,N):

注:設原點緯度為,原點經度為,第一標准緯線φ1,第二標准緯線φ2,則:

(來自我老師課件)

反解公式由(E,N)à(Lat,Lon):

注:設原點緯度為,原點經度為,第一標准緯線φ1,第二標准緯線φ2,則:

(來自我老師課件)

 

2、  利用墨卡托投影的正解和反解公式進行求解

正解公式由(B,L)à(X,Y):

注:設標准緯度B0,原點緯度0,原點經度L0

(來自我老師課件)

 

反解公式由(X,Y)à(B,L):

注:設標准緯度B0,原點緯度0,原點經度L0

(來自我老師課件)

 

=================================下課了================================

    下面用兩道例題來實踐一下這個正反解算過程。

    第一題:根據Clarke 1986橢球體及以下參數,利用蘭伯特投影求解 Lat = 28°30’ N ,Lon = 96° W的N、E坐標,然后反算Lat/Lon,寫出主要步驟。已知該橢球體的參數如下:

    a = 6378206.400 m       1/f=294.97870    

    原點緯度: 27°50’N         原點經度: 99° W

    第一標准緯線緯度: 28°23’ N        第二標准緯線緯度:30°17’ N

    東偏移: 609,600 meter       北偏移: 0 meter

------------------------------------------------------------------------------------------------------------------------------------------------

一、正解

1、參數分析:

由公式

可知,需要求出未知參數r、rf和角度,這三個參數也有求解公式。

觀察參數的求解公式:

可知,m公式可以算出m1和m2,;t公式可以算出t1和t2和tf;n和f的值是唯一的;還需要根據扁率f算出橢圓的第一偏心率e。

 

2、求解過程:

(1)首先根據f的值求出基本參數e;

(2)然后就可以根據e的值和已知點的緯度以及第一和第二標准緯線算出m1、m2和t、t1、t2、tf的值;

(3)接着就可以根據m1、m2和t1、t2算出n的值;

(4)再根據m1、t1和n可以算出未知參數角度和F;

(5)最后根據這些參數可以算出最后的未知參數 r 和 rf 的值。

(6)將求解出來的r和角度帶入公式,得到投影后的經度;

將求解出來的rf和角度帶入公式,得到投影后的緯度。

 

3、結果:(903253.1578,169962.9044),過程超級難算的,這個結果yogurt也不敢保證正確哦(〒_〒)

 

二、反解

1、參數分析:

由公式:

可知,需要求出未知參數t’、e以及 θ‘ 和n,尤其第一個公式未知數 φ 同時在等式的兩側就需要迭代直到兩次迭代的結果非常接近為止,另外的四個參數也有求解公式。

觀察參數的求解公式:

可知,Ef、Nf是題目中已知的假東和假北值,e、n、F、rf可以用正解中算出的值對應,剩下的r’、t’、角度’是需要求的。

 

2、求解過程:

(1)根據E、Ef和rf、N、Nf求出r’和角度’;

(2)根據r’的值和a、F、n求出t’;

(3)最后把t’和e帶入到公式,假設 φ 的值為25°N帶入公式右邊,

計算之后得到一個新的 φ1,將 φ1帶入公式右邊,計算得到 φ2,重復帶入公式右邊,直到某個 φ 帶入后算出來的 φ 值和帶入前非常接近為止,得到 φ 最終的結果;

把角度 θ’、和n還有原點經度帶入公式,得到投影前的經度值。

 

3、結果:(96,28.5)過程超級難算的,這個結果yogurt也不敢保證正確哦(〒_〒)

========================================================================

    第二題:根據Krassowski 1940橢球體及以下參數,利用墨卡托投影求解 Lat = 53°00’ N ,Lon = 53° E的N、E坐標,然后反算Lat/Lon,寫出主要步驟。已知該橢球體的參數如下:

    a = 6378245.0 m       1/f = 298.3

    原點經度:51° W        第一標准緯線緯度:42° N

    西偏移:300,000 meter         北偏移:300,000 meter

------------------------------------------------------------------------------------------------------------------------------------------------

 

一、正解

1、參數分析:

由公式:

可知,需要求出未知參數e和K,K也有求解公式。

觀察參數的求解公式:

 

可知,除了題目已知參數外,還需要算出橢球體的短半軸和第二偏心率e’。

 

2、求解過程:

(1)根據扁率 f 和第一偏心率的關系算出第一偏心率e;

(2)根據 e 和 a 的關系可以算出短半軸 b 的值;

(3)根據 a 和 b 可以算出第二偏心率 e’;

(4)根據 K 的求解公式,利用a、b和 e’ 以及標准緯度 B0 的值算出K;

(5)將K和e代入公式,得到投影后的緯度;將K代入公式,得到投影后的經度值。

 

3、結果:(-162372.5867,5067861.1471)同樣,過程超級難算的,這個結果yogurt也不敢保證正確哦(〒_〒)

 

二、反解

1、參數分析:

由公式其中參數EXP為自然對數底,

可知其他所需的參數分別是K和e可以用正解中算出值,以及題目中已知的原點緯度L0。

 

2、求解過程:

(1)根據Y、K和原點經度L0,利用公式直接得到投影前的經度;

根據EXP、K、X和e的值帶入公式,假設B的值為50°N帶入公式右邊,,得到一個新的B1,再將B1帶入公式右邊得到B2,重復帶入,直到帶入前和帶入后的值非常接近時為止,得到投影前的緯度值。

 

3、結果:(53,53)同樣,過程超級難算的,這個結果yogurt也不敢保證正確哦(〒_〒)~~

 

    好啦,今天yogurt就和大家講到這里啦,大家有什么不明白的可以評論提問,我看到就會解答噠~~

 

 

 

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM