Add further documentation
This commit is contained in:
		
							parent
							
								
									8a608eb930
								
							
						
					
					
						commit
						3035219212
					
				| @ -301,6 +301,7 @@ void ExtractionContainers::PrepareData(const std::string &output_file_name, | |||||||
|         node_iterator = all_nodes_list.begin(); |         node_iterator = all_nodes_list.begin(); | ||||||
|         edge_iterator = all_edges_list.begin(); |         edge_iterator = all_edges_list.begin(); | ||||||
| 
 | 
 | ||||||
|  |         // Also serializes the edges
 | ||||||
|         while (edge_iterator != all_edges_list.end() && node_iterator != all_nodes_list.end()) |         while (edge_iterator != all_edges_list.end() && node_iterator != all_nodes_list.end()) | ||||||
|         { |         { | ||||||
|             if (edge_iterator->target < node_iterator->node_id) |             if (edge_iterator->target < node_iterator->node_id) | ||||||
| @ -329,6 +330,8 @@ void ExtractionContainers::PrepareData(const std::string &output_file_name, | |||||||
|                 int integer_weight = std::max( |                 int integer_weight = std::max( | ||||||
|                     1, (int)std::floor( |                     1, (int)std::floor( | ||||||
|                            (edge_iterator->is_duration_set ? edge_iterator->speed : weight) + .5)); |                            (edge_iterator->is_duration_set ? edge_iterator->speed : weight) + .5)); | ||||||
|  |                 // FIXME: This means we have a _minimum_ edge length of 1m
 | ||||||
|  |                 // maybe use dm as base unit?
 | ||||||
|                 const int integer_distance = std::max(1, (int)distance); |                 const int integer_distance = std::max(1, (int)distance); | ||||||
|                 const short zero = 0; |                 const short zero = 0; | ||||||
|                 const short one = 1; |                 const short one = 1; | ||||||
|  | |||||||
| @ -64,6 +64,24 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||||
| #include <unordered_map> | #include <unordered_map> | ||||||
| #include <vector> | #include <vector> | ||||||
| 
 | 
 | ||||||
|  | /**
 | ||||||
|  |  * TODO: Refactor this function into smaller functions for better readability. | ||||||
|  |  * | ||||||
|  |  * This function is the entry point for the whole extraction process. The goal of the extraction | ||||||
|  |  * step is to filter and convert the OSM geometry to something more fitting for routing. | ||||||
|  |  * That includes: | ||||||
|  |  *  - extracting turn restrictions | ||||||
|  |  *  - splitting ways into (directional!) edge segments | ||||||
|  |  *  - checking if nodes are barriers or traffic signal | ||||||
|  |  *  - discarding all tag information: All relevant type information for nodes/ways | ||||||
|  |  *    is extracted at this point. | ||||||
|  |  * | ||||||
|  |  * The result of this process are the following files: | ||||||
|  |  *  .names : Names of all streets, stored as long consecutive string with prefix sum based index | ||||||
|  |  *  .osrm  : Nodes and edges in a intermediate format that easy to digest for osrm-prepare | ||||||
|  |  *  .restrictions : Turn restrictions that are used my osrm-prepare to construct the edge-expanded graph | ||||||
|  |  * | ||||||
|  |  */ | ||||||
| int extractor::run(const ExtractorConfig &extractor_config) | int extractor::run(const ExtractorConfig &extractor_config) | ||||||
| { | { | ||||||
|     try |     try | ||||||
| @ -83,6 +101,7 @@ int extractor::run(const ExtractorConfig &extractor_config) | |||||||
|         // setup scripting environment
 |         // setup scripting environment
 | ||||||
|         ScriptingEnvironment scripting_environment(extractor_config.profile_path.string().c_str()); |         ScriptingEnvironment scripting_environment(extractor_config.profile_path.string().c_str()); | ||||||
| 
 | 
 | ||||||
|  |         // used to deduplicate street names: actually maps to name ids
 | ||||||
|         std::unordered_map<std::string, NodeID> string_map; |         std::unordered_map<std::string, NodeID> string_map; | ||||||
|         string_map[""] = 0; |         string_map[""] = 0; | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user