OpenCPN Partial API docs
Loading...
Searching...
No Matches
meteo_points.h
Go to the documentation of this file.
1/***************************************************************************
2 * Copyright (C) 2023 Håkan Svensson *
3 * Copyright (C) 2023 Alec Leamas *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, see <https://www.gnu.org/licenses/>. *
17 **************************************************************************/
18
28#ifndef _METEO_POINTS_H__
29#define _METEO_POINTS_H__
30
32 // Ais8_001_31, Ais8_367_33 Meteo data
33 int original_mmsi;
34 int stationID; // SignalK ID
35 int month; // UTC 0
36 int day; // UTC 0
37 int hour; // UTC 24
38 int minute; // UTC 60
39 int pos_acc; // low = 0 GNSS
40 int wind_kn; // NAN=127
41 int wind_gust_kn; // kn NAN=127/122
42 int wind_dir; // NAN=360
43 int wind_gust_dir; // NAN=360
44 double air_temp; // C NAN = -102.4
45 int rel_humid; // % NAN = 101
46 double dew_point; // NAN = 501(50.1)
47 int airpress; // value+799 hPa NAN = 511(1310)
48 int airpress_tend; // NAN = 3
49 double hor_vis; // NAN = 127(12.7)
50 bool hor_vis_GT; // Greater than
51 double water_lev_dev; // Water level deviation (incl.tide) NAN = 30
52 double water_level; // Water level NAN = -32,768
53 int water_lev_trend; // NAN = 3
54 double current; // kn NAN = 255(25.5)
55 int curr_dir; // NAN = 360
56 double wave_height; // m NAN=255(24.5)
57 int wave_period; // s NAN = 63
58 int wave_dir; // NAN = 360
59 double swell_height; // m NAN = 255 (25.5)
60 int swell_per; // s NAN = 63
61 int swell_dir; // NAN=360
62 int seastate; // Bf NAN=13
63 double water_temp; // C NAN = 501(50.1)
64 int precipitation; // type NAN=7
65 double salinity; // ‰ NAN=510(50.0)
66 int ice; // NAN=3
67 int vertical_ref; // NAN=14
68};
69
74public:
75 const int mmsi;
76 const wxString lat;
77 const wxString lon;
78 const int siteID;
79 const int orig_mmsi;
80 AisMeteoPoint(int mmsi, const wxString& lat, const wxString& lon, int siteID,
81 int orig_mmsi)
82 : mmsi(mmsi), lat(lat), lon(lon), siteID(siteID), orig_mmsi(orig_mmsi) {}
83};
84
94public:
95 static AisMeteoPoints& GetInstance() {
96 static AisMeteoPoints me;
97 return me;
98 }
99 std::vector<AisMeteoPoint>& GetPoints() { return points; }
100
101 void operator=(const AisMeteoPoints&) = delete;
102 AisMeteoPoints(AisMeteoPoints& other) = delete;
103
104private:
105 AisMeteoPoints() = default;
106 std::vector<AisMeteoPoint> points;
107};
108
109#endif
Add a new point to the list of Meteo stations.
List of Meteo stations, a singleton.