当前位置:网站首页>大地坐标系转换火星坐标系
大地坐标系转换火星坐标系
2022-07-28 15:22:00 【孙奋斗】
WGS84:国际坐标系,为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。
GCJ02:火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。
BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标
上代码
const x_PI = 52.35987755982988;
const PI = 3.1415926535897932384626;
const a = 6378245.0;
const ee = 0.00669342162296594323;
public function wgs84togcj02($lng, $lat) {
//if ($this->out_of_china($lng, $lat)) {
// return array($lng, $lat);
// } else {
$dlat = $this->transformlat($lng - 105.0, $lat - 35.0);
$dlng = $this->transformlng($lng - 105.0, $lat - 35.0);
$radlat = $lat / 180.0 * self::PI;
$magic = sin($radlat);
$magic = 1 - self::ee * $magic * $magic;
$sqrtmagic = sqrt($magic);
$dlat = ($dlat * 180.0) / ((self::a * (1 - self::ee)) / ($magic * $sqrtmagic) * self::PI);
$dlng = ($dlng * 180.0) / (self::a / $sqrtmagic * cos($radlat) * self::PI);
$mglat = $lat + $dlat;
$mglng = $lng + $dlng;
dump($mglng.','.$mglat);//转换后得经纬度
// }
}
private function transformlat($lng, $lat) {
$ret = -100.0 + 2.0 * $lng + 3.0 * $lat + 0.2 * $lat * $lat + 0.1 * $lng * $lat + 0.2 * sqrt(abs($lng));
$ret += (20.0 * sin(6.0 * $lng * self::PI) + 20.0 * sin(2.0 * $lng * self::PI)) * 2.0 / 3.0;
$ret += (20.0 * sin($lat * self::PI) + 40.0 * sin($lat / 3.0 * self::PI)) * 2.0 / 3.0;
$ret += (160.0 * sin($lat / 12.0 * self::PI) + 320 * sin($lat * self::PI / 30.0)) * 2.0 / 3.0;
return $ret;
}
private function transformlng($lng, $lat) {
$ret = 300.0 + $lng + 2.0 * $lat + 0.1 * $lng * $lng + 0.1 * $lng * $lat + 0.1 * sqrt(abs($lng));
$ret += (20.0 * sin(6.0 * $lng * self::PI) + 20.0 * sin(2.0 * $lng * self::PI)) * 2.0 / 3.0;
$ret += (20.0 * sin($lng * self::PI) + 40.0 * sin($lng / 3.0 * self::PI)) * 2.0 / 3.0;
$ret += (150.0 * sin($lng / 12.0 * self::PI) + 300.0 * sin($lng / 30.0 * self::PI)) * 2.0 / 3.0;
return $ret;
}
边栏推荐
猜你喜欢

flashfxp 530 User cannot log in. ftp

远距离串口服务器( 适配器)UART 转 1-Wire 应用

Remote serial port server (adapter) UART to 1-wire application

不懂就问,快速成为容器服务进阶玩家!

js 栈

Instructions for mictr01 Tester development kit (vibrating wire acquisition reader)

flashfxp 530 User cannot log in. ftp

Advantages of optical rain gauge over tipping bucket rain gauge

小程序中的分页查询

JS bidirectional linked list 01
随机推荐
leetcode 题目
【Multisim仿真】LM339过零电路仿真
js 队列
李宏毅《机器学习》丨5. Tips for neural network design(神经网络设计技巧)
我在上海偶遇数字凤凰#坐标徐汇美罗城
深入理解Istio流量管理的熔断配置
Note: numerical accumulation animation
小程序中的分页查询
JS array (summary)
A program for judging the result of cyclic input
JS linked list 02
解决电脑恶意广告弹窗的思路
The little red book of accelerating investment, "rush to medical treatment"?
Rust Getting Started Guide (rustup, cargo)
五舅的思考
laravel
Laser rangefinder non-contact surface crack monitor
自动打包压缩备份下载及删除 bat脚本命令
Ethernet to RS485 serial port counter WiFi module LED light controller ibf165
Roson的Qt之旅#102 ListModel