radar-coord-conversion-utility 0.8
RadarGeoCoord_util.hpp
Go to the documentation of this file.
1
5#ifndef __RADAR_GEO_COORD__
6#define __RADAR_GEO_COORD__
7
8#include <limits>
9#include <iostream>
10using namespace std;
11
12/* Utilizzo le funzioni messe a disposizione dalla GeographicLib per muovermi sul geoide */
13#include <GeographicLib/Math.hpp>
14#include <GeographicLib/Geodesic.hpp>
15#include <GeographicLib/GeodesicLine.hpp>
16#include <GeographicLib/AzimuthalEquidistant.hpp>
17
22
23using namespace GeographicLib;
37 protected:
38
39//private :
40
44
47 float Xcoord_p;
50 float Ycoord_p;
54 float Lat_p;
58 float Lon_p;
64 float Azimuth;
65
66 public:
88 RadarGeoCoord_util(float latr,float lonr,float heightr, float aTH);
89
94 float getLatR();
95
100 float getLonR();
101
106 float getHeightR();
107
112 float getAntennaTowerHeight();
113
122 void setRadarCoord(float latr,float lonr,float heightr, float aTH, bool cleanPointCoord = true);
123
127 virtual void setPoint2Missing();
128
135 void setPointAeqdCoords(float X, float Y, bool cleanOtherCoords = true) ;
136
141 bool isPointXCoordSet();
142
147 bool isPointYCoordSet();
148
154
159 float getPointXCoord();
160
165 float getPointYCoord();
166
171 bool AeqdCoords2GeoCoords () ;
172
179 void setPointGeoCoords(float lat, float lon, bool cleanOtherCoords = true) ;
180
185 bool isPointLongitudeSet();
186
191 bool isPointLatitudeSet() ;
192
196 bool isPointGeoCoordsSet();
197
202 float getPointLat();
203
208 float getPointLon();
209
214 bool GeoCoords2AeqdCoords () ;
215
228
240
247 void setPointGeodesicCoordinate (float Azimuth, float SurfaceDist, bool cleanOtherCoords = true);
248
253 bool isAzimuthSet() ;
254
259 bool isSurfaceDistanceSet() ;
260
265 bool isGeodesicCoordsSet();
266
271 float getSurfaceDistance() ;
272
277 float getAzimuth() ;
278
284 virtual bool fillCoords () ;
285
286protected:
292 void setLatR( float value) ;
293
299 void setLonR( float value);
300
305 void setHeightR( float value);
306
312 void setAntennaTowerHeight( float value);
313
318 void setPointXCoord(float value);
319
324 void setPointYCoord(float value);
325
331 void setPointLat(float value);
332
338 void setPointLon(float value);
339
344 void setSurfaceDistance(float value);
345
350 void setAzimuth(float value);
351};
352
353#endif
354
Class to manage relationship between radar coordinates (Azimuth, elevation, range) and "pseudo-cilind...
Class to store radar site coordinates.
Class to calculate point coordinates related to radar place and coordinates.
Definition RadarGeoCoord_util.hpp:36
bool isPointLongitudeSet()
Check if point longitude is valid and set.
Definition RadarGeoCoord_util.cpp:80
void setPointAeqdCoords(float X, float Y, bool cleanOtherCoords=true)
Set Aeqd coordinates (Aeqd projection centred on radar site)
Definition RadarGeoCoord_util.cpp:34
bool AeqdCoords2GeoCoords()
Compute geographic coordinates from Aeqd coordinates.
Definition RadarGeoCoord_util.cpp:42
RadarSite radar_site
Definition RadarGeoCoord_util.hpp:43
void setPointYCoord(float value)
Set point y coordinate (Aeqd projection centred on radar site)
Definition RadarGeoCoord_util.cpp:175
float getAzimuth()
Get Azimuth of geodetic between radar site and point.
Definition RadarGeoCoord_util.cpp:173
float getLonR()
get radar longitude value
Definition RadarGeoCoord_util.cpp:25
float getAntennaTowerHeight()
get beam electromagnetic focus height above surface value
Definition RadarGeoCoord_util.cpp:27
float Azimuth
Definition RadarGeoCoord_util.hpp:64
virtual bool fillCoords()
Compute point coordinates for all Aeqd,Geographic and Geodesic systems.
Definition RadarGeoCoord_util.cpp:179
float Lon_p
Definition RadarGeoCoord_util.hpp:58
virtual void setPoint2Missing()
Set Point coordinates to missing.
Definition RadarGeoCoord_util.cpp:10
void setPointXCoord(float value)
Set point X coordinate (Aeqd projection centred on radar site)
Definition RadarGeoCoord_util.cpp:174
RadarGeoCoord_util()
Constructor.
Definition RadarGeoCoord_util.cpp:2
void setSurfaceDistance(float value)
Set distance on the Earth surface.
Definition RadarGeoCoord_util.cpp:176
float getPointXCoord()
Get point X coordinate (Aeqd projection centred on radar site)
Definition RadarGeoCoord_util.cpp:159
bool isPointXCoordSet()
Check if point X coordinate is valid.
Definition RadarGeoCoord_util.cpp:156
float Xcoord_p
Definition RadarGeoCoord_util.hpp:47
bool isGeodesicCoordsSet()
Check if point Geodetic coordinates are set.
Definition RadarGeoCoord_util.cpp:171
bool invertGeodesicCalculation()
Calculate geographic and gnomonic coordinates from Earth distance and Azimuth.
Definition RadarGeoCoord_util.cpp:136
bool isSurfaceDistanceSet()
Check if.
Definition RadarGeoCoord_util.cpp:170
void setPointGeodesicCoordinate(float Azimuth, float SurfaceDist, bool cleanOtherCoords=true)
Set Geodesic coordinate (Azimuth, Surface distance)
Definition RadarGeoCoord_util.cpp:164
float getPointLon()
Get point longitude.
Definition RadarGeoCoord_util.cpp:163
void setAntennaTowerHeight(float value)
set beam electromagnetic focus height above surface value
Definition RadarGeoCoord_util.cpp:23
bool isPointGeoCoordsSet()
Check if point Geographic coordinates are valid.
Definition RadarGeoCoord_util.cpp:161
bool GeoCoords2AeqdCoords()
Compute Aeqd coordinates fro Geographic coordinates.
Definition RadarGeoCoord_util.cpp:92
bool calculateGeodesicParam()
Calculate Earth distance and Azimuth from radar site to the point set.
Definition RadarGeoCoord_util.cpp:116
void setPointLat(float value)
Set point latitude.
Definition RadarGeoCoord_util.cpp:64
bool isPointLatitudeSet()
Check if point latitude is valid and set.
Definition RadarGeoCoord_util.cpp:86
void setHeightR(float value)
set radar height above msl value
Definition RadarGeoCoord_util.cpp:22
float getSurfaceDistance()
Get distance on the Earth surface.
Definition RadarGeoCoord_util.cpp:172
void setAzimuth(float value)
Set Azimuth of geodetic between radar site and point.
Definition RadarGeoCoord_util.cpp:177
bool isAzimuthSet()
Check if geodetic Azimuth is set.
Definition RadarGeoCoord_util.cpp:169
float Ycoord_p
Definition RadarGeoCoord_util.hpp:50
float Lat_p
Definition RadarGeoCoord_util.hpp:54
float surfaceDistance
Definition RadarGeoCoord_util.hpp:61
float getHeightR()
get radar height above msl value
Definition RadarGeoCoord_util.cpp:26
void setLonR(float value)
set radar longitude value
Definition RadarGeoCoord_util.cpp:21
float getPointYCoord()
Get point y coordinate (Aeqd projection centred on radar site)
Definition RadarGeoCoord_util.cpp:160
bool isPointYCoordSet()
Check if point Y coordinate is valid.
Definition RadarGeoCoord_util.cpp:157
bool isPointAeqdCoordsSet()
Check if point Aeqd coordinates are valid.
Definition RadarGeoCoord_util.cpp:158
void setLatR(float value)
set radar latitude value
Definition RadarGeoCoord_util.cpp:20
void setPointLon(float value)
Set point longitude.
Definition RadarGeoCoord_util.cpp:68
void setRadarCoord(float latr, float lonr, float heightr, float aTH, bool cleanPointCoord=true)
Set radar coordinates.
Definition RadarGeoCoord_util.cpp:29
float getPointLat()
Get point latitude.
Definition RadarGeoCoord_util.cpp:162
float getLatR()
get radar latitude value
Definition RadarGeoCoord_util.cpp:24
void setPointGeoCoords(float lat, float lon, bool cleanOtherCoords=true)
Set point geographic coordinates.
Definition RadarGeoCoord_util.cpp:73
Class to store radar site coordinate.
Definition RadarSite.hpp:18
Namespace for generic utility used.
Radar coord exceptions.