CMakeLists.txt:
1 2 3
| find_package (GeographicLib REQUIRED) include_directories(${GeographicLib_INCLUDE_DIRS}) target_link_libraries(<可执行程序> ${GeographicLib_LIBRARIES})
|
直接看代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #include <GeographicLib/LocalCartesian.hpp>
GeographicLib::LocalCartesian geo_converter; double longitude = 0.0; double latitude = 0.0; double altitude = 0.0; double local_E, local_N, local_U;
GeographicLib::LocalCartesian geo_converter;
geo_converter.Reset(latitude, longitude, altitude);
latitude = 1.0; longitude = 1.0; altitude = 1.0;
geo_converter.Forward(latitude, longitude, altitude, local_E, local_N, local_U); std::cout << "local_E: "<< local_E<< " local_N: "<<local_N << " local_U: "<< local_U << std::endl<<std::endl;
|
运行结果是
local_E: 111297 local_N: 110569 local_U: -1935.19
,也就是说移动经纬1°,对应地面上的距离为11万米多。