MRPT  2.0.0
Classes | Functions
mrpt::topography Namespace Reference

Detailed Description

This namespace provides topography helper functions, coordinate transformations.

Classes

struct  TCoords
 A coordinate that is stored as a simple "decimal" angle in degrees, but can be retrieved/set in the form of DEGREES + arc-MINUTES + arc-SECONDS. More...
 
struct  TDatum10Params
 Parameters for a topographic transfomation. More...
 
struct  TDatum1DTransf
 Parameters for a topographic transfomation. More...
 
struct  TDatum7Params
 Parameters for a topographic transfomation. More...
 
struct  TDatum7Params_TOPCON
 
struct  TDatumHelmert2D
 Parameters for a topographic transfomation. More...
 
struct  TDatumHelmert2D_TOPCON
 
struct  TDatumHelmert3D
 Parameters for a topographic transfomation. More...
 
struct  TDatumHelmert3D_TOPCON
 Parameters for a topographic transfomation. More...
 
struct  TDatumTransfInterpolation
 Parameters for a topographic transfomation. More...
 
struct  TEllipsoid
 
struct  TGeodeticCoords
 A set of geodetic coordinates: latitude, longitude and height, defined over a given geoid (typically, WGS84) More...
 
struct  TPathFromRTKInfo
 Used to return optional information from mrpt::topography::path_from_rtk_gps. More...
 

Functions

void path_from_rtk_gps (mrpt::poses::CPose3DInterpolator &robot_path, const mrpt::obs::CRawlog &rawlog, size_t rawlog_first, size_t rawlog_last, bool isGUI=false, bool disableGPSInterp=false, int path_smooth_filter_size=2, TPathFromRTKInfo *outInfo=nullptr)
 Reconstruct the path of a vehicle equipped with 3 RTK GPSs. More...
 
Topography coordinate conversion functions
void geodeticToENU_WGS84 (const TGeodeticCoords &in_coords, mrpt::math::TPoint3D &out_ENU_point, const TGeodeticCoords &in_coords_origin)
 Coordinates transformation from longitude/latitude/height to ENU (East-North-Up) X/Y/Z coordinates The WGS84 ellipsoid is used for the transformation. More...
 
void ENUToGeocentric (const mrpt::math::TPoint3D &in_ENU_point, const TGeodeticCoords &in_coords_origin, TGeocentricCoords &out_coords, const TEllipsoid &ellip)
 ENU to geocentric coordinates. More...
 
void geocentricToENU_WGS84 (const mrpt::math::TPoint3D &in_geocentric_point, mrpt::math::TPoint3D &out_ENU_point, const TGeodeticCoords &in_coords_origin)
 ENU to EFEC (Geocentric) coordinates. More...
 
void geocentricToENU_WGS84 (const std::vector< mrpt::math::TPoint3D > &in_geocentric_points, std::vector< mrpt::math::TPoint3D > &out_ENU_points, const TGeodeticCoords &in_coords_origin)
 
void geodeticToGeocentric_WGS84 (const TGeodeticCoords &in_coords, mrpt::math::TPoint3D &out_point)
 Coordinates transformation from longitude/latitude/height to geocentric X/Y/Z coordinates (with a WGS84 geoid). More...
 
void geodeticToGeocentric (const TGeodeticCoords &in_coords, TGeocentricCoords &out_point, const TEllipsoid &ellip)
 Coordinates transformation from longitude/latitude/height to geocentric X/Y/Z coordinates (with an specified geoid). More...
 
void geocentricToGeodetic (const TGeocentricCoords &in_point, TGeodeticCoords &out_coords, const TEllipsoid &ellip=TEllipsoid::Ellipsoid_WGS84())
 Coordinates transformation from geocentric X/Y/Z coordinates to longitude/latitude/height. More...
 
void transform7params (const mrpt::math::TPoint3D &in_point, const TDatum7Params &in_datum, mrpt::math::TPoint3D &out_point)
 7-parameter Bursa-Wolf transformation: [ X Y Z ]_WGS84 = [ dX dY dZ ] + ( 1 + dS ) [ 1 RZ -RY; -RZ 1 RX; RY -RX 1 ] [ X Y Z ]_local More...
 
void transform7params_TOPCON (const mrpt::math::TPoint3D &in_point, const TDatum7Params_TOPCON &in_datum, mrpt::math::TPoint3D &out_point)
 7-parameter Bursa-Wolf transformation TOPCON: [ X Y Z ]_WGS84 = [ dX dY dZ ] + ( 1 + dS ) [ 1 RZ -RY; -RZ 1 RX; RY -RX 1 ] [ X Y Z ]_local More...
 
void transform10params (const mrpt::math::TPoint3D &in_point, const TDatum10Params &in_datum, mrpt::math::TPoint3D &out_point)
 10-parameter Molodensky-Badekas transformation: [ X Y Z ]_WGS84 = [ dX dY dZ ] + ( 1 + dS ) [ 1 RZ -RY; -RZ 1 RX; RY -RX 1 ] [ X-Xp Y-Yp Z-Zp ]_local + [Xp Yp Zp] More...
 
void transformHelmert2D (const mrpt::math::TPoint2D &p, const TDatumHelmert2D &d, mrpt::math::TPoint2D &o)
 Helmert 2D transformation: [ X Y ]_WGS84 = [ dX dY ] + ( 1 + dS ) [ cos(alpha) -sin(alpha); sin(alpha) cos(alpha) ] [ X-Xp Y-Yp Z-Zp ]_local + [Xp Yp Zp]. More...
 
void transformHelmert2D_TOPCON (const mrpt::math::TPoint2D &p, const TDatumHelmert2D_TOPCON &d, mrpt::math::TPoint2D &o)
 Helmert 2D transformation: [ X Y ]_WGS84 = [ dX dY ] + ( 1 + dS ) [ cos(alpha) -sin(alpha); sin(alpha) cos(alpha) ] [ X-Xp Y-Yp Z-Zp ]_local + [Xp Yp Zp]. More...
 
void transformHelmert3D (const mrpt::math::TPoint3D &p, const TDatumHelmert3D &d, mrpt::math::TPoint3D &o)
 Helmert3D transformation: [ X Y Z ]_WGS84 = [ dX dY dZ ] + ( 1 + dS ) [ 1 -RZ RY; RZ 1 -RX; -RY RX 1 ] [ X Y Z ]_local. More...
 
void transformHelmert3D_TOPCON (const mrpt::math::TPoint3D &p, const TDatumHelmert3D_TOPCON &d, mrpt::math::TPoint3D &o)
 Helmert 3D transformation: [ X Y ]_WGS84 = [ dX dY ] + ( 1 + dS ) [ cos(alpha) -sin(alpha); sin(alpha) cos(alpha) ] [ X-Xp Y-Yp Z-Zp ]_local + [Xp Yp Zp]. More...
 
void transform1D (const mrpt::math::TPoint3D &p, const TDatum1DTransf &d, mrpt::math::TPoint3D &o)
 1D transformation: [ Z ]_WGS84 = (dy * X - dx * Y + Z)*(1+e)+DZ More...
 
void transfInterpolation (const mrpt::math::TPoint3D &p, const TDatumTransfInterpolation &d, mrpt::math::TPoint3D &o)
 Interpolation: [ Z ]_WGS84 = (dy * X - dx * Y + Z)*(1+e)+DZ. More...
 
void UTMToGeodetic (double X, double Y, int zone, char hem, double &out_lon, double &out_lat, const TEllipsoid &ellip=TEllipsoid::Ellipsoid_WGS84())
 Returns the Geodetic coordinates of the UTM input point. More...
 
void UTMToGeodetic (const TUTMCoords &UTMCoords, int zone, char hem, TGeodeticCoords &GeodeticCoords, const TEllipsoid &ellip=TEllipsoid::Ellipsoid_WGS84())
 Returns the Geodetic coordinates of the UTM input point. More...
 
void GeodeticToUTM (double in_latitude_degrees, double in_longitude_degrees, double &out_UTM_x, double &out_UTM_y, int &out_UTM_zone, char &out_UTM_latitude_band, const TEllipsoid &ellip=TEllipsoid::Ellipsoid_WGS84())
 Convert latitude and longitude coordinates into UTM coordinates, computing the corresponding UTM zone and latitude band. More...
 
void geodeticToUTM (const TGeodeticCoords &GeodeticCoords, TUTMCoords &UTMCoords, int &UTMZone, char &UTMLatitudeBand, const TEllipsoid &ellip=TEllipsoid::Ellipsoid_WGS84())
 
void GeodeticToUTM (const TGeodeticCoords &GeodeticCoords, TUTMCoords &UTMCoords, int &UTMZone, char &UTMLatitudeBand, const TEllipsoid &ellip=TEllipsoid::Ellipsoid_WGS84())
 Convert latitude and longitude coordinates into UTM coordinates, computing the corresponding UTM zone and latitude band. More...
 
Miscellaneous

=======================================================================

void ENU_axes_from_WGS84 (double in_longitude_reference_degrees, double in_latitude_reference_degrees, double in_height_reference_meters, mrpt::math::TPose3D &out_ENU, bool only_angles=false)
 Returns the East-North-Up (ENU) coordinate system associated to the given point. More...
 
void ENU_axes_from_WGS84 (const TGeodeticCoords &in_coords, mrpt::math::TPose3D &out_ENU, bool only_angles=false)
 

Data structures

using TUTMCoords = mrpt::math::TPoint3D
 
using TGeocentricCoords = mrpt::math::TPoint3D
 
bool operator== (const TCoords &a, const TCoords &o)
 
bool operator!= (const TCoords &a, const TCoords &o)
 
std::ostream & operator<< (std::ostream &out, const TCoords &o)
 
bool operator== (const TGeodeticCoords &a, const TGeodeticCoords &o)
 
bool operator!= (const TGeodeticCoords &a, const TGeodeticCoords &o)
 



Page generated by Doxygen 1.8.14 for MRPT 2.0.0 Git: b38439d21 Tue Mar 31 19:58:06 2020 +0200 at miƩ abr 1 00:50:30 CEST 2020