地理 投影 座標與螢幕座標的轉換

2021-08-31 14:06:36 字數 1810 閱讀 3547

剛接觸到這個東東,確實頭暈!什麼地理座標,投影座標,螢幕座標等等.......哎....地理知識中學學過(都不知道咋學的),數學貌似n多年不用也都還給老師了!確實悲哀.....唉....終於認真的研究了一下才算明白是怎麼回事了!其實不要管什麼地理座標,投影座標還是螢幕座標,搞的你是非要知道天文地理似的才能去動手去做這個東東!原理掌握乙個,那就是只用弄明白地理座標和螢幕座標的定義規則就ok了...

地理座標定義規則:x軸(代表經度)向右遞增,y軸(緯度)向上遞增,就好比小學學過的平面座標(貌似又忘了,要重讀小學了)吧?向左,向下的規則,這個不用我再闡述了吧,如果你還不明白,那我勸你還是真要去重讀小學了....比我更悲哀,嘿嘿,總算找到乙個知已啊....不容易啊...

螢幕座標定義規則:x軸向右遞增,y軸向下遞增..

可以看出,地理座標和螢幕座標的區別僅僅只是在於y軸遞增方向是相反的...(這就是不同).

好了,現在我們開始轉換他們吧. 這裡強調一點的就是為了保證精度,地理座標的度*3600換算成秒,所有的取值用double來計算,最後的結果再轉換成int

1.已知道螢幕的高(y)和寬(h),地理座標區域的範圍(maxlon,minlon,maxlat,minlat)..這裡我們知道了這些已知的引數...

2.我們可以算出每畫素所代表的經度和緯度(有人稱這個為比例因子):

公式:scalex = h/((maxlon-minlon)*3600) ----------x軸上每畫素代表的經度秒數;

公式:scaley = y/((maxlat-minlat)*3600) -----------y軸上每畫素代表的緯度秒數;

這兩個比例因子就是兩個座標系之間的關係..

3.很簡單的一步了,那就是算出該地理座標區域中的任何一點(lon,lat)在螢幕上的座標了,怎麼算?下面來講:

公式:screenx = lon*3600/scalex; ---------螢幕座標x軸座標

公式:screeny = lat*3600/scaley; ----------螢幕座標y軸座標, 怎麼樣?很簡單吧?這裡我們就算出地理座標上任何一點轉到螢幕上的座標是多少了......

還有最後一步,那就是我們要把該地理區域佔滿占個螢幕該怎麼辦呢?

4. 接著我們需要該地理區域佔滿占個螢幕該怎麼辦呢

公式:minx = minlon*3600/scalex; 區域左邊置最左端

公式:miny = minlat*3600/scaley; 區域上面置最上端

5. 當地地理範圍區域佔滿整個螢幕時,我們需要用到第三步計算出來的 screenx和screeny兩個引數

,該區域中的任何一點的公式如下:

公式:x = screenx - minx = (lon - minlon)*3600/scalex;

由於緯度的方向和螢幕y軸是相反的,

公式:screenmaxlat = (maxlat - minlat)*3600/scaley;

公式:screenlat = (lat - minlat)*3600/scaley;

公式:y = screenmaxlat - screenlat = (maxlat - lat)*3600/scaley; 至於為什麼是這個公式,我想大家仔細想想就明白了..

6.總結:

經緯度轉螢幕座標的最終公式如下:

公式: x = (lon - minlon)*3600/scalex;

公式: y = (maxlat - lat)*3600/scaley;

接著我們由上面的公式可以推出螢幕座標轉經緯度座標公式如下:

公式:lon = x * scalex/3600 + minlon;

公式:lat = maxlat - y* scaley/3600;

投影轉換 AE地理座標與投影座標轉換

是將wgs84地理座標轉換為wgs84utm投影座標,如果要轉換為西安80或北京54座標,則引數是 北京54座標 地理座標列舉值為 esrisrgeocstype.esrisrgeocs beijing1954 投影座標列舉值為 西安80座標 地理座標列舉值為 esrisrgeocs3type.es...

地理座標與螢幕座標轉換(VC )

在底層gis開發中,我們經常會碰到空間資料視覺化問題,當我們拿到地理資料之後,我們該怎麼把它展現在我們的計算機螢幕中呢,這或許是乙個比較簡單的問題。我們知道,地理座標系是我們使用者自定義的座標系,而顯示在計算機螢幕上的座標是基於螢幕座標來繪製的,那麼改如何轉化呢?首先,我們來熟悉幾個概念 地理座標系...

GIS 中地理座標和螢幕座標的標準轉換方法

在gis中,當你拿到乙個圖層的地理座標後,如果需要繪製到螢幕上,那麼不可避免的需要在地理座標和螢幕座標之間進行轉換,轉換的方法相信每乙個做gis的都會有自己的實現方法,本文描述的是和arcgis wms openlayers完全一致的座標轉換方法,當然這三個工具 標準 指令碼也是採用的相同的方法 因...