经纬度的多种格式和转换方式

  • Post author:
  • Post category:其他

格式

方式 格式 单位 用途/注意事项
[d]dd.ddddddd 百度地图和google地图
度-分 [d]ddmm.mmmmmm dd单位是度,mm.mmmmmm单位是分 GPGGA
度-分-秒 [d]ddmmss.ss dd单位是度,mm单位是分,ss.ss单位是秒 google地图
平面坐标 浮点数 gps定位显示中,需要提前设定utc时区

纬度只有两个d,代表-90~90度
经度有三个d,代表-180~180度

转换

“度” <–”度-分”<–”度-分-秒”
dd.ddddddd = dd+mm.mmmmmm/60 = dd+mm/60+ss.ss/(60*60)

“度” –>”平面坐标” :代码大概如下

#include <proj_api.h>
const std::string UTM_TARGET ="+proj=utm +zone=50 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ";
nh.param("proj4_text", utm_target_param, UTM_TARGET);
_wgs84pj_source = pj_init_plus(WGS84_TEXT.c_str());
_utm_target = pj_init_plus(utm_target_param.c_str());
pj_transform(_wgs84pj_source, _utm_target, 1, 1, &x, &y, NULL);

一般在UTM_TARGET中只需修改+zone参数即可,50代表北京时区
pj_transform(源坐标系(wgs84指的是地球),目标坐标系(根据zone时区),点的数量,点的偏移,x坐标,y坐标,z坐标)。参考链接


版权声明:本文为sunyoop原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。