-
大小: 1KB文件類(lèi)型: .zip金幣: 2下載: 0 次發(fā)布日期: 2021-06-03
- 語(yǔ)言: 其他
- 標(biāo)簽: GPS??經(jīng)緯度??平面坐標(biāo)??
資源簡(jiǎn)介
參考https://blog.csdn.net/niu_88/article/details/97690318,

代碼片段和文件信息
/*======================================================================*
* *
* map?project *
* *
* Author:?niu?hongfang *
* Date: 2019.07.29 *
* Addr: Shen?Zhen?Guangdong *
* *
*=======================================================================*/
#include?“map_project.h“
#include?“math.h“
#define E_a 6378137.0f /*?地球緯度圈半徑?m?*/
#define E_b 6356755.0f /*?地球經(jīng)度圈半徑?m?*/
/*
* note:?coordinate?ref?init.
*
* @param1 ref
* @param2?latitude??rad?-pi/2~pi/2
* @param3 longitude?rad?-pi~pi
* @param4 h ???m
* @return init?success/failure
*/
int?coordinate_map_ref_init(coordinate_map_t?*pref?double?lon?double?lat?double?h)
{
double?e?e_2;
double?f;
double?sin_2_lat;
double?R_lat_circle;
double?R_lon_circle;
double?den_prime_vertical?R_prime_vertical?omiga_2;
if?(lat?>?M_PI_F?/?2?||?lat?-M_PI_F?/?2){
return?-1;
}
f?=?(E_a?-?E_b)?/?E_a;
e_2?=?f?*?(2.0?-?f);
sin_2_lat?=?sin(lat);
omiga_2?=?1?-?e_2?*?sin_2_lat;
den_prime_vertical?=?sqrtf(omiga_2);
R_prime_vertical?=?E_a?/?den_prime_vertical;
R_lat_circle?=?(R_prime_vertical?+?h)?*?cosf(lat);
R_lon_circle?=?R_prime_vertical?*?(1?-?e_2)?/?omiga_2?+?h;
pref->h_lat?=?lat;
pref->h_lon?=?lon;
pref->dx_mue?=?R_lon_circle;
pref->dy_lambda?=?R_lat_circle;
pref->inited?=?1;
return?0;
}
int?coordinate_map_project(const?coordinate_map_t?*pref?double?lon?double?lat?float?*x?float?*y)
{
if?(!pref->inited){
return?-1;
}
*x?=?pref->dx_mue?*?lon;
*y?=?pref->dy_lambda?*?lat;
return?0;
}
int?coordinate_map_reproject(const?coordinate_map_t?*pref?float?x?float?y?double?*lon?double?*lat)
{
if?(!pref->inited){
return?-1;
}
*lon?=?(double)x?/?pref->dx_mue;
*lat?=?(double)y?/?pref->dy_lambda;
return?0;
}
int?coordinate_map_ref_distance(const?coordinate_map_t?*pref?double?lon?double?lat?float?*d_x?float?*d_y)
{
if?(!pref->inited){
return?-1;
}
double?d_lon?d_lat;
d_lon?=?lon?-?pref->h_lon;
d_lat?=?lat?-?pref->h_lat;
*d_x?=?d_lon*pref->dx_mue;
*d_y?=?d_lat*pref->dy_lambda;
return?0;
}
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件????????2243??2019-07-29?22:15??map_project.cpp
?????文件?????????708??2019-07-29?22:11??map_project.h
評(píng)論
共有 條評(píng)論