GPS国际坐标(WGS-84)转火星坐标(GCJ-02)----golang版本

该博客介绍了如何使用Golang编写函数将GPS国际坐标WGS-84转换为中国的火星坐标GCJ-02。提供了具体的数学计算过程和代码实现。
摘要由CSDN通过智能技术生成

package main

 

import (

    "fmt"

    "math"

)

 

// GCJEncrypt ..

func GCJEncrypt(wgsLat, wgsLon float64) (float64, float64) {

    if wgsLon < 72.004 || wgsLon > 137.8347 || wgsLat < 0.8293 || wgsLat > 55.8271 {

        return wgsLat, wgsLon

    }

    PI := 3.14159265358979324

    a := 6378245.0 // a: 卫星椭球坐标投影到平面地图坐标系的投影因子。

    ee := 0.00669342162296594323 // ee: 椭球的偏心率。

    var x = wgsLon - 105.0

    var y = wgsLat - 35.0

    var ret = -100.0 + 2.0*x + 3.0*y + 0.2*y*y + 0.1*x*y + 0.2*math.Sqrt(math.Abs(x))

    ret += (20.0*math.Sin(6.0*x*PI) + 20.0*math.Sin(2.0*x*PI)) * 2.0 / 3.0

    ret += (20.0*math.Sin(y*PI) + 40.0*math.Sin(y/3.0*PI)) * 2.0 / 3.0

    ret += (160.0*math.Sin(y/12.0*PI) + 320*math.Sin(y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值