Class UtmUtil::UtmData

Nested Relationships

This class is a nested type of Class UtmUtil.

Class Documentation

class UtmData

The actual UTM conversion processing takes place in this helper class, which is a singleton due to the large memory footprint of the underlying PROJ.4 projections library structures. Thread safety is enforced with mutexes around the PROJ.4 functions, but could be achieved in the future with a thread-safe version of PROJ.4 or ignored all together if the calls can be determined to be thread safe in this context.

Public Functions

~UtmData()
void ToUtm(double latitude, double longitude, int &zone, char &band, double &easting, double &northing) const

Convert WGS84 latitude and longitude to UTM.

Parameters:
  • latitude[in] Latitude value in degrees.

  • longitude[in] Longitude value in degrees.

  • zone[out] UTM zone number

  • band[out] UTM band letter

  • easting[out] UTM easting in meters.

  • northing[out] UTM northing in meters.

void ToUtm(double latitude, double longitude, double &easting, double &northing) const

Convert WGS84 latitude and longitude to UTM.

Parameters:
  • latitude[in] Latitude value in degrees.

  • longitude[in] Longitude value in degrees.

  • easting[out] UTM easting in meters.

  • northing[out] UTM northing in meters.

void ToLatLon(int zone, char band, double easting, double northing, double &latitude, double &longitude) const

Convert UTM easting and northing to WGS84 latitude and longitude.

Parameters:
  • zone[in] UTM zone.

  • band[in] UTM band.

  • easting[in] UTM easting in meters.

  • northing[in] UTM northing in meters.

  • latitude[out] WGS84 latitude in degrees.

  • longitude[out] WGS84 longitude in degrees.

Friends

friend class boost::serialization::detail::singleton_wrapper< swri_transform_util::UtmUtil::UtmData >