python 墨卡托转坐标等一些操作

网上看到的好像大多是java的,自己贴一个python的

import math
import numpy as np

def Mercator_to_lonlat(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

x=13273343.1472
y=2998087.8013
lon,lat=Mercator_to_lonlat(x,y)
print(lon,lat)

同理转换回来

def lonlat_to_Mercator_(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

你可能感兴趣的:(Python)