diff options
| author | Rutger Broekhoff | 2026-09-08 01:36:38 +0200 |
|---|---|---|
| committer | Rutger Broekhoff | 2026-09-08 01:37:34 +0200 |
| commit | 3e8ce840c70ee00925210b96738696d1dc445f8f (patch) | |
| tree | 4eb6b30b1d571daa596394c36e7769f6ee0af956 /server/src/api.cppm | |
| parent | 15bcf23f2e75f9c710eee3753d530ebefc5f78f1 (diff) | |
| download | routemon-3e8ce840c70ee00925210b96738696d1dc445f8f.tar.gz routemon-3e8ce840c70ee00925210b96738696d1dc445f8f.zip | |
UTM projection
Diffstat (limited to 'server/src/api.cppm')
| -rw-r--r-- | server/src/api.cppm | 19 |
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 | ||
| 8 | import std; | 8 | import std; |
| 9 | import :datex2; | 9 | import :datex2; |
| 10 | import :geo; | 10 | import :geo.wgs84; |
| 11 | import :geo.multizonal; | ||
| 11 | import :gpx; | 12 | import :gpx; |
| 12 | import :log; | 13 | import :log; |
| 13 | import :time; | 14 | import :time; |
| @@ -25,20 +26,20 @@ export namespace routemon::api { | |||
| 25 | 26 | ||
| 26 | struct relevant_road_closure | 27 | struct 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 | ||
| 31 | struct relevant_situation | 32 | struct 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 | ||
| 39 | struct track_segment | 40 | struct track_segment |
| 40 | { | 41 | { |
| 41 | geo::linestring points; | 42 | geo::utm::zonable_wgs84_linestring points; |
| 42 | }; | 43 | }; |
| 43 | 44 | ||
| 44 | struct track | 45 | struct 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_; |