I'm trying to understand how the conversion of coordinators from latitute and longitute to UTM works. Found also on the site GeographicLib example

 // Example of using the GeographicLib::UTMUPS class #include <iostream> #include <iomanip> #include <exception> #include <string> #include <GeographicLib/UTMUPS.hpp> using namespace std; using namespace GeographicLib; int main() { try { // See also example-GeoCoords.cpp { // Sample forward calculation double lat = 33.3, lon = 44.4; // Baghdad int zone; bool northp; double x, y; UTMUPS::Forward(lat, lon, zone, northp, x, y); string zonestr = UTMUPS::EncodeZone(zone, northp); cout << fixed << setprecision(2) << zonestr << " " << x << " " << y << "\n"; } { // Sample reverse calculation string zonestr = "38n"; int zone; bool northp; UTMUPS::DecodeZone(zonestr, zone, northp); double x = 444e3, y = 3688e3; double lat, lon; UTMUPS::Reverse(zone, northp, x, y, lat, lon); cout << lat << " " << lon << "\n"; } } catch (const exception& e) { cerr << "Caught exception: " << e.what() << "\n"; return 1; } } 

But it does not work. Help please write a simple code conversion.

Errors that pop up when compiling this code. What parameters and for what they need them, I did not understand.

 undefined reference to `GeographicLib::UTMUPS::EncodeZone(int, bool, bool)' undefined reference to `GeographicLib::UTMUPS::Forward(double, double, int&, bool&, double&, double&, double&, double&, int, bool)' collect2: error: ld returned 1 exit status 
  • What specifically does not work? - zed
  • @zed error pops up here UTMUPS::Forward(lat, lon, zone, northp, x, y); all code is copied from the site. - Insider
  • What mistake? Why do you have to pull the tongue? Give the maximum information about the problem if you want help. - zed
  • @zed I can not write it at the moment, since I am not near the PC. - Insider
  • @zed added missing information - Insider

0