From 76e2421ba2fe61a02cc90791b6c34bb99f809b6c Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 9 Dec 2013 22:28:15 +0000 Subject: [PATCH] WGS84 function in CCoordinateGeodetic refs #81 --- src/blackmisc/coordinategeodetic.cpp | 14 ++++++++++++++ src/blackmisc/coordinategeodetic.h | 9 +++++++++ 2 files changed, 23 insertions(+) diff --git a/src/blackmisc/coordinategeodetic.cpp b/src/blackmisc/coordinategeodetic.cpp index f21eaf4f2..ef6914f05 100644 --- a/src/blackmisc/coordinategeodetic.cpp +++ b/src/blackmisc/coordinategeodetic.cpp @@ -5,6 +5,11 @@ #include "blackmisc/coordinategeodetic.h" #include "blackmisc/blackmiscfreefunctions.h" +#include "mathematics.h" +#include + +using namespace BlackMisc::PhysicalQuantities; +using namespace BlackMisc::Math; namespace BlackMisc { @@ -80,6 +85,15 @@ namespace BlackMisc return BlackMisc::calculateHash(hashs, "CCoordinateGeodetic"); } + /* + * From WGS84 coordinates + */ + CCoordinateGeodetic CCoordinateGeodetic::fromWgs84(const QString &latitudeWgs84, const QString &longitudeWgs84, const CLength height) + { + CLatitude lat = CLatitude::fromWgs84(latitudeWgs84); + CLongitude lon = CLongitude::fromWgs84(longitudeWgs84); + return CCoordinateGeodetic(lat, lon, height); + } /* * Great circle distance diff --git a/src/blackmisc/coordinategeodetic.h b/src/blackmisc/coordinategeodetic.h index 9bc834d66..aa96aec17 100644 --- a/src/blackmisc/coordinategeodetic.h +++ b/src/blackmisc/coordinategeodetic.h @@ -226,6 +226,15 @@ namespace BlackMisc * Register metadata */ static void registerMetadata(); + + /*! + * \brief Coordinate by WGS84 position data + * \param latitudeWgs84 + * \param longitudeWgs84 + * \param height + * \return + */ + static CCoordinateGeodetic fromWgs84(const QString &latitudeWgs84, const QString &longitudeWgs84, const BlackMisc::PhysicalQuantities::CLength height = BlackMisc::PhysicalQuantities::CLength()); }; } // namespace