Goby3  3.1.5a
2024.05.23
moos_geodesy.h
Go to the documentation of this file.
1 // Copyright 2011-2021:
2 // GobySoft, LLC (2013-)
3 // Massachusetts Institute of Technology (2007-2014)
4 // Community contributors (see AUTHORS file)
5 // File authors:
6 // Toby Schneider <toby@gobysoft.org>
7 //
8 //
9 // This file is part of the Goby Underwater Autonomy Project Libraries
10 // ("The Goby Libraries").
11 //
12 // The Goby Libraries are free software: you can redistribute them and/or modify
13 // them under the terms of the GNU Lesser General Public License as published by
14 // the Free Software Foundation, either version 2.1 of the License, or
15 // (at your option) any later version.
16 //
17 // The Goby Libraries are distributed in the hope that they will be useful,
18 // but WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU Lesser General Public License for more details.
21 //
22 // You should have received a copy of the GNU Lesser General Public License
23 // along with Goby. If not, see <http://www.gnu.org/licenses/>.
24 
25 // This file uses the same basic API provided by MOOS pre-v10
26 // (C) Paul Newman, released GPL v3
27 
28 #ifndef GOBY_MOOS_MOOS_GEODESY_H
29 #define GOBY_MOOS_MOOS_GEODESY_H
30 
31 #include <memory>
32 
33 namespace goby
34 {
35 namespace util
36 {
37 class UTMGeodesy;
38 }
39 } // namespace goby
40 
41 namespace goby
42 {
43 namespace moos
44 {
46 {
47  public:
48  CMOOSGeodesy();
49  ~CMOOSGeodesy();
50 
51  double GetOriginLatitude();
52  double GetOriginLongitude();
53 
54  double GetOriginNorthing();
55  double GetOriginEasting();
56  int GetUTMZone();
57 
58  bool LatLong2LocalUTM(double lat, double lon, double& MetersNorth, double& MetersEast);
59  bool UTM2LatLong(double dfX, double dfY, double& dfLat, double& dfLong);
60 
61  bool Initialise(double lat, double lon);
62 
63  private:
64  std::unique_ptr<goby::util::UTMGeodesy> geodesy_;
65 };
66 } // namespace moos
67 } // namespace goby
68 
69 #endif
goby::moos::CMOOSGeodesy::GetOriginEasting
double GetOriginEasting()
goby::moos::CMOOSGeodesy::Initialise
bool Initialise(double lat, double lon)
goby::moos::CMOOSGeodesy::UTM2LatLong
bool UTM2LatLong(double dfX, double dfY, double &dfLat, double &dfLong)
goby
The global namespace for the Goby project.
Definition: acomms_constants.h:33
goby::moos::CMOOSGeodesy::LatLong2LocalUTM
bool LatLong2LocalUTM(double lat, double lon, double &MetersNorth, double &MetersEast)
goby::moos::CMOOSGeodesy::GetOriginLongitude
double GetOriginLongitude()
goby::moos::CMOOSGeodesy::CMOOSGeodesy
CMOOSGeodesy()
goby::moos::CMOOSGeodesy::~CMOOSGeodesy
~CMOOSGeodesy()
goby::moos::CMOOSGeodesy
Definition: moos_geodesy.h:45
goby::moos::CMOOSGeodesy::GetOriginNorthing
double GetOriginNorthing()
goby::moos::CMOOSGeodesy::GetOriginLatitude
double GetOriginLatitude()
goby::moos::CMOOSGeodesy::GetUTMZone
int GetUTMZone()