18 #include <nlohmann/json.hpp>
20 #include "nav2_core/route_exceptions.hpp"
21 #include "nav2_route/interfaces/graph_file_saver.hpp"
22 #include "nav2_route/plugins/graph_file_loaders/geojson_graph_file_loader.hpp"
24 #ifndef NAV2_ROUTE__PLUGINS__GRAPH_FILE_SAVERS__GEOJSON_GRAPH_FILE_SAVER_HPP_
25 #define NAV2_ROUTE__PLUGINS__GRAPH_FILE_SAVERS__GEOJSON_GRAPH_FILE_SAVER_HPP_
37 using Json = nlohmann::json;
54 const rclcpp_lifecycle::LifecycleNode::SharedPtr node)
override;
64 std::string filepath)
override;
95 rclcpp::Logger logger_{rclcpp::get_logger(
"GeoJsonGraphFileSaver")};
A GraphFileSaver plugin to save a geojson graph representation.
void convertOperationsToJson(const Operations &operations, Json &json_operations)
Convert graph operation to Json.
void configure(const rclcpp_lifecycle::LifecycleNode::SharedPtr node) override
Configure, but do not store the node.
GeoJsonGraphFileSaver()=default
Constructor.
bool saveGraphToFile(Graph &graph, std::string filepath) override
Saves the graph to a geojson file.
void loadNodesFromGraph(Graph &graph, std::vector< Json > &json_features)
Add nodes into the graph.
void loadEdgesFromGraph(Graph &graph, std::vector< Json > &json_edges)
Add edges into the graph.
~GeoJsonGraphFileSaver()=default
Destructor.
void convertMetaDataToJson(const Metadata &metadata, Json &json_metadata)
Convert graph metadata to Json.
A plugin interface to parse a file into the graph.