1 #include "cgeodesic.h" 2 #include "GeographicLib/Geodesic.hpp" 3 #include "GeographicLib/Rhumb.hpp" 4 5 extern "C" { 6 gdirect(double lat1,double lon1,double azi1,double s12,double & lat2,double & lon2,double & azi2)7 void gdirect(double lat1, double lon1, double azi1, double s12, 8 double& lat2, double& lon2, double& azi2) { 9 GeographicLib::Geodesic::WGS84().Direct(lat1, lon1, azi1, s12, 10 lat2, lon2, azi2); 11 } 12 ginverse(double lat1,double lon1,double lat2,double lon2,double & s12,double & azi1,double & azi2)13 void ginverse(double lat1, double lon1, double lat2, double lon2, 14 double& s12, double& azi1, double& azi2) { 15 GeographicLib::Geodesic::WGS84().Inverse(lat1, lon1, lat2, lon2, 16 s12, azi1, azi2); 17 } 18 rdirect(double lat1,double lon1,double azi12,double s12,double & lat2,double & lon2)19 void rdirect(double lat1, double lon1, double azi12, double s12, 20 double& lat2, double& lon2) { 21 GeographicLib::Rhumb::WGS84().Direct(lat1, lon1, azi12, s12, 22 lat2, lon2); 23 } 24 rinverse(double lat1,double lon1,double lat2,double lon2,double & s12,double & azi12)25 void rinverse(double lat1, double lon1, double lat2, double lon2, 26 double& s12, double& azi12) { 27 GeographicLib::Rhumb::WGS84().Inverse(lat1, lon1, lat2, lon2, 28 s12, azi12); 29 } 30 31 } 32