summaryrefslogtreecommitdiffstats
path: root/server/src/api.cppm
diff options
context:
space:
mode:
authorRutger Broekhoff2026-09-08 01:36:38 +0200
committerRutger Broekhoff2026-09-08 01:37:34 +0200
commit3e8ce840c70ee00925210b96738696d1dc445f8f (patch)
tree4eb6b30b1d571daa596394c36e7769f6ee0af956 /server/src/api.cppm
parent15bcf23f2e75f9c710eee3753d530ebefc5f78f1 (diff)
downloadroutemon-3e8ce840c70ee00925210b96738696d1dc445f8f.tar.gz
routemon-3e8ce840c70ee00925210b96738696d1dc445f8f.zip
UTM projection
Diffstat (limited to 'server/src/api.cppm')
-rw-r--r--server/src/api.cppm19
1 files changed, 9 insertions, 10 deletions
diff --git a/server/src/api.cppm b/server/src/api.cppm
index b0f3944..77e0f85 100644
--- a/server/src/api.cppm
+++ b/server/src/api.cppm
@@ -7,7 +7,8 @@ export module routemon:api;
7 7
8import std; 8import std;
9import :datex2; 9import :datex2;
10import :geo; 10import :geo.wgs84;
11import :geo.multizonal;
11import :gpx; 12import :gpx;
12import :log; 13import :log;
13import :time; 14import :time;
@@ -25,20 +26,20 @@ export namespace routemon::api {
25 26
26struct relevant_road_closure 27struct relevant_road_closure
27{ 28{
28 std::vector<geo::linestring> relevant_lss; 29 std::vector<geo::utm::zonable_wgs84_linestring> relevant_lss;
29}; 30};
30 31
31struct relevant_situation 32struct relevant_situation
32{ 33{
33 std::string id; 34 std::string id;
34 std::optional<geo::point> location; 35 std::optional<geo::utm::zonable_wgs84_point> location;
35 std::vector<std::string> comments; 36 std::vector<std::string> comments;
36 std::vector<relevant_road_closure> relevant_road_closures; 37 std::vector<relevant_road_closure> relevant_road_closures;
37}; 38};
38 39
39struct track_segment 40struct track_segment
40{ 41{
41 geo::linestring points; 42 geo::utm::zonable_wgs84_linestring points;
42}; 43};
43 44
44struct track 45struct track
@@ -79,13 +80,11 @@ class handler
79{ 80{
80 constexpr static auto const min_distance_ = 5.0; 81 constexpr static auto const min_distance_ = 5.0;
81 82
82 using blse_index_value = std::tuple< 83 using blse_index_value = std::shared_ptr<datex2::road_closure>;
83 geo::box, geo::multi_polygon, std::shared_ptr<datex2::road_closure> 84 using blse_index = geo::multizonal::linestring_rtree<blse_index_value>;
85 using p_index_value = std::pair<
86 geo::utm::zonable_wgs84_point, std::shared_ptr<datex2::road_closure>
84 >; 87 >;
85 using p_index_value =
86 std::pair<geo::point, std::shared_ptr<datex2::road_closure>>;
87 using blse_index =
88 bgeo::index::rtree<blse_index_value, bgeo::index::quadratic<16>>;
89 using p_index = bgeo::index::rtree<p_index_value, bgeo::index::quadratic<16>>; 88 using p_index = bgeo::index::rtree<p_index_value, bgeo::index::quadratic<16>>;
90 89
91 log::logger l_; 90 log::logger l_;