一、座标系之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

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