1、地球模型算法
地球是一個近似橢球體,測繪時用橢球模型逼近,這個模型叫作參考橢球,以下圖:post
赤道是一個半徑爲a的近似圓,任一圈經線是一個半徑爲b的近似圓。a稱爲橢球的長軸半徑,b稱爲橢球的短軸半徑。blog
a≈6378.137公里,b≈6356.752公里。(實際上,a也不是恆定的,最長處和最短處相差72米,b的最長處和最短處相差42米,算很小了)數學
地球參考橢球基本參數:it
長軸:a百度地圖
短軸:bclass
扁率:α=(a-b) / a百度
第一偏愛率:e=√(a2-b2) / aim
第二偏愛率:e'=√(a2-b2) / b 地圖
這幾個參數定了,參考橢球的數學模型就定了。
什麼是大地座標系?
大地座標系是大地測量中以參考橢球面爲基準面創建起來的座標系。地面點的位置用大地經度、大地緯度和大地高度表示:(L, B, H)。
空間直角座標系是以參考橢球中心爲原點,以原點到0度經線與赤道交點的射線爲x軸,原點到90度經線與赤道交點的射線爲y軸,以地球旋轉軸向北爲z軸:(x, y, z)
共同點:顯然,這兩種座標系都必須基於一個參考橢球。
不一樣點:大地座標系以面爲基準,因此還須要肯定一個標準海平面。而空間直角座標系則以一個點爲基準,因此還須要肯定一箇中心點。
只要肯定了橢球基本參數,則大地座標系和空間直角座標系就相對肯定了,只是兩種不一樣的表達而矣,這兩個座標系的點是一一對應的。
2、北京54,西安80,WGS84
網上的解釋大都互相複製,語焉不詳,隔靴搔癢,說不清楚本質區別。爲何在同一點三者算出來的經緯度不一樣?難道只是不認同對方的測量精度嗎?爲何WGS84選地球質心做原點,而西安80選地表上的一個點做原點?中國選的大地原點有什麼做用?爲何選在涇陽縣永樂鎮?既然做爲原點,爲何經緯度不是0?下面是我我的的理解。
首先,三者採用了不一樣的參考橢球創建模型,即長短軸扁率這組參數是不一樣的。
北京54: 長軸6378245m,短軸6356863,扁率1/298.2997381
西安80: 長軸6378140m,短軸6356755,扁率1/298.25722101
WGS84:長軸6378137.000m,短軸6356752.314,扁率1/298.257223563,第一偏愛率0.081819790992,第二偏愛率0.082095040121
這些參數不一樣,決定了橢球模型的幾何中心是不一樣的。那麼爲何這三種座標系的參數有這麼大差異呢?除了測量精度不一樣以外,還有一個緣由,就是側重點不同。
WGS84是面向全球的,因此它儘可能逼近整個地球表面,優勢是範圍大,缺點是局部不夠精確。
北京54用的是前蘇聯的參數,它是面向蘇聯的,因此它在前蘇聯區域這個曲面儘可能逼近,而其它國家地區偏多少它無論。它以蘇聯的普爾科沃爲中心,離那越遠,偏差就越大。
西安80是面向中國的,因此它在中國區域這個曲面儘可能逼近,而其它國家地區偏多少它無論。並且這個逼近是以西安附近的大地原點爲中心的,也就是說,在西安大地原點處,模型和真實地表參考海平面重合,偏差爲0,而離大地原點越遠的地方,偏差越大。所謂的大地原點就是這麼來的,它是人爲去定的,而不是必須在那裏,它要儘可能放在中國的中間,使得總的偏差儘可能小而分佈均勻。而後,我國在自已境內進行的建築,測繪,勘探什麼的所繪製的圖,都以這個大地原點爲基準,去創建各類用途的地表座標系,就能統一塊兒來了。
因此在中國區域,WGS84模型是沒有西安80模型那麼準確。而用西安80模型來算美國的點,則更不許確。如今更新爲2000國家大地座標系,參數比西安80更精確了,而道理是同樣的。
都說WGS84是質心座標系,北京54,西安80是參心座標系,何謂質心?何謂參心?
質心好理解,就是地球體的質量中心,WGS84座標系面向全球定位,因此它所創建的模型是最中庸的,沒有偏向任何一個地區,橢球體模型的幾何中心與地球質心重合時,模型就會最接近整個地球。
而北京54和西安80側重於局部的精確性,而捨棄總體的精確性,當橢球模型(西安80)在中國區域最精確時,它的幾何中心確定不是地球質心,而在別的地方。因此這個幾何中心稱之爲參考中心,簡稱參心。
地球上一個點經緯度,是基於參考橢球來算的,因此,同一個地方,用北京54,西安80,WGS84算出來的經緯度是三個不同的值。因爲GPS用的是WGS84,因此咱們手機看到的是WGS84座標系的經緯度。
3、地圖在平面上的投影
咱們的地圖,總得畫在紙上,在顯示器上吧,否則處處拎着地球儀?地球上的點是用經緯度表示的,緯度越高的地方,1度的經度的距離就越短。那麼,問題來了,地球表面是曲面,並且經緯度與長度距離並非簡單的比例關係,怎樣畫到平面上?答案是,投影算法。好,問題又來了,投影算法哪家強?
1.高斯-克呂格投影
假設一個橢圓柱面與地球橢球體面橫切於某一條經線上,按照等角條件將中央經線東、西各3°或1.5°經線範圍內的經緯線投影到橢圓柱面上,而後將橢圓柱面展開成平面而成的。
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)