一、座標系之WGS84座標系與WGS84 Web Mercator

 

WGS84座標系:

WGS84是地心座標系,空間直角座標系,原點與地球質心重合,爲GPS採用的座標系;通過GPS可以直接獲取WGS84下的座標(B,L,H),B爲緯度,L爲經度,H爲大地高即到WGS84橢 球面的高度;

WKID:

4326 GCS_WGS_1984


WGS84 Web  Mercator座標系:

Web Mercator 是一個投影座標系統,其基準面是 WGS 1984 。世界大地座標系是美國國防部製圖局(Defence Mapping Agency, DMA)爲統一世界大地座標系統,實現全球測量標準的一致性,定義用於製圖、大地、導航的座標基準。它包括標準地球座標框架、用於處理原始觀測數據的標準橢球參考面(即基準和參考橢球)和定義標準海平面的重力等勢面(大地水準面)。

Web Mercator 座標系使用的投影方法不是嚴格意義的墨卡託投影,而是一個被 EPSG(European Petroleum Survey Group)稱爲僞墨卡託的投影方法,這個僞墨卡託投影方法的大名是 Popular Visualization Pseudo Mercator,PVPM。

WKID:

3857或者102100   WGS_1984_Web_Mercator_Auxiliary_Sphere

一、橢球參數:

二、定義:

定義座標系文件一般爲*.prj,例如WGS 1984.prj。EPSG:http://epsg.io/4326(對於座標系詳細定義)

python:

from osgeo import gdal,osr
'''方法一'''
sr = osr.SpatialReference()
sr.SetWellKnownGeogCS('WGS84')
print(sr.ExportToWkt())
print('-'*200)
'''方法二'''
sr1 = osr.SpatialReference()
sr1.SetWellKnownGeogCS("EPSG:4326")
print(sr1.ExportToWkt())
print('-'*200)

  

 

三、兩種座標系之間的相互轉換:

from osgeo import osr
import math
def lonLat2WebMercator(lon,Lat):
    x = lon *20037508.34/180;
    y = math.log(math.tan((90+Lat)*math.pi/360))/(math.pi/180);
    y = y *20037508.34/180;
    return x,y

def WebMercator2lonLat(x,y):
    lon = x/20037508.34*180;
    lat = y/20037508.34*180;
    lat= 180/math.pi*(2*math.atan(math.exp(lat*math.pi/180))-math.pi/2);
    return lon,lat
if __name__ == '__main__':
    lon= 116.366
    lat=39.8673
    print('lonLat座標:'+str(lon)+','+str(lat))
    print('WebMercator座標:'+str(lonLat2WebMercator(lon,lat)[0])+","+str(lonLat2WebMercator(lon,lat)[1]))
    x = 12953803.8657
    y = 4846677.3736
    print('WebMercator座標:' + str(x) + ',' + str(y))
    print('lonLat座標:' + str(WebMercator2lonLat(x, y)[0]) + "," + str(WebMercator2lonLat(x, y)[1]))

參考:

1.https://developers.arcgis.com/javascript/3/jshelp/pcs.html

2.https://developers.arcgis.com/javascript/3/jshelp/gcs.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章