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