资源简介

Python实现 支持墨卡托投影转地理坐标及地理坐标转墨卡托投影的转换函数 支持Numpy向量计算,可大批量转多对经纬度数据

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
# @Time    : 2018\4\18
# @Author  : ShannonSui
# @File    : UTMConvertor.py
# @Desc  :  网络墨卡托投影变换,球面墨卡托投影
# @Para  :  输入为位置值

import math
import numpy as np

# 地球半周长 单位米
fPerimeterConst = 20037508.34

# 经纬度转墨卡托
def LonLat2Mercator_One(lon lat):
    xMeter = lon * fPerimeterConst / 180
    yMeter = math.log(math.tan(( 90 + lat) * math.pi/360))/(math.pi/180)
    yMeter = yMeter * fPerimeterConst/180
    return xMeteryMeter

# 经纬度转墨卡托
# 输入numpy的二维数组 第0列为Lon,第1列为Lat
def LonLat2Mercator(lonlatArray):
    lonArray = lonlatArray[:0]
    latArray = lonlatArray[:1]
    xArray = lonArray *fPerimeterConst/180

    yArray = np.log(np.tan((90+latArray)*math.pi/360))/(math.pi/180)
    yArray = yArray * fPerimeterConst/180

    # 两个一维数组垂直拼接,再转置
    xyArray = np.transpose(np.vstack((xArray yArray)))
    return xyArray

# 墨卡托转经纬度
def Mercator2LonLat_O

评论

共有 条评论