diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json
index a22e9ae..8e7132a 100644
--- a/dev/.documenter-siteinfo.json
+++ b/dev/.documenter-siteinfo.json
@@ -1 +1 @@
-{"documenter":{"julia_version":"1.9.3","generation_timestamp":"2023-10-30T17:55:52","documenter_version":"1.1.2"}}
\ No newline at end of file
+{"documenter":{"julia_version":"1.9.3","generation_timestamp":"2023-10-31T16:43:08","documenter_version":"1.1.2"}}
\ No newline at end of file
diff --git a/dev/index.html b/dev/index.html
index 69e97a0..f3980bd 100644
--- a/dev/index.html
+++ b/dev/index.html
@@ -1,2 +1,2 @@
-
Convert maps between LLA, ECEF, and ENU coordinates
Extract highways, buildings, and tagged features from OSM data
Compute shortest or fastest driving, cycling, and walking routes using Julia's LightGraphs.jl package including various systems for weighting travel speed
Use OpenStreetMapXPlot to draw maps using either Julia's PyPlot.jl or Plots.jl with GR backend packages
Integrate with Python folium (via PyCall.jl) to create interactive map plots
Convert maps between LLA, ECEF, and ENU coordinates
Extract highways, buildings, and tagged features from OSM data
Compute shortest or fastest driving, cycling, and walking routes using Julia's LightGraphs.jl package including various systems for weighting travel speed
Use OpenStreetMapXPlot to draw maps using either Julia's PyPlot.jl or Plots.jl with GR backend packages
Integrate with Python folium (via PyCall.jl) to create interactive map plots
High level function - parses .osm file and create the road network based on the map data. This code currently can parse both *.osm and *.pbf (@blegat - thank you!) files. The data type is determined by file extension.
Arguments
filepath : path with an .osm/.pbf file (directory or path to a file)
filename : name of the file (when the first argument is a directory)
road_levels : a set with the road categories (see: OpenStreetMapX.ROAD_CLASSES for more informations)
use_cache : a *.cache file will be crated with a serialized map image in the datapath folder
only_intersections : include only road system data
trim_to_connected_graph: trim orphan nodes in such way that the map is a strongly connected graph
High level function - parses .osm file and create the road network based on the map data. This code currently can parse both *.osm and *.pbf (@blegat - thank you!) files. The data type is determined by file extension.
Arguments
filepath : path with an .osm/.pbf file (directory or path to a file)
filename : name of the file (when the first argument is a directory)
road_levels : a set with the road categories (see: OpenStreetMapX.ROAD_CLASSES for more informations)
use_cache : a *.cache file will be crated with a serialized map image in the datapath folder
only_intersections : include only road system data
trim_to_connected_graph: trim orphan nodes in such way that the map is a strongly connected graph
High level function - implementation of A star search algorithm: (https://en.wikipedia.org/wiki/A*searchalgorithm). Based on the implementation in Graphs library, however significantly improved in terms of performance.
Arguments
g : graph object
S : start vertex
t : end vertex
distmx : distance matrix
heuristic : search heuristic function; by default returns zero
a_star_algorithm(m::MapData,
+ heuristic::Function = (u,v) -> zero(T)) where {T, U}
High level function - implementation of A star search algorithm: (https://en.wikipedia.org/wiki/A*searchalgorithm). Based on the implementation in Graphs library, however significantly improved in terms of performance.
Arguments
g : graph object
S : start vertex
t : end vertex
distmx : distance matrix
heuristic : search heuristic function; by default returns zero
get_distance(A::Int, B::Int,
nodes::Dict{Int,T} ,
- vertices_to_nodes::Vector{Int}) where T<:Union{OpenStreetMapX.ENU,OpenStreetMapX.ECEF}
Auxiliary function - takes two vertices of graph and return the distance between them. Used to compute straight line distance heuristic for A* algorithm.
Arguments
A : start vertex
B : end vertex
nodes : dictionary of .osm nodes ID's and correspoding points coordinates
vertices_to_nodes : dictionary mapping graph vertices to .osm file nodes
nodes_within_driving_time(m::MapData, start_indices::Vector{Int}, limit::Float64=Inf, speeds::Dict{Int,Float64}=SPEED_ROADS_URBAN)
+ vertices_to_nodes::Vector{Int}) where T<:Union{OpenStreetMapX.ENU,OpenStreetMapX.ECEF}
Auxiliary function - takes two vertices of graph and return the distance between them. Used to compute straight line distance heuristic for A* algorithm.
Arguments
A : start vertex
B : end vertex
nodes : dictionary of .osm nodes ID's and correspoding points coordinates
vertices_to_nodes : dictionary mapping graph vertices to .osm file nodes
nodes_within_range(nodes::Dict{Int,T},loc::T, m::OpenStreetMapX.MapData, range::Float64 = Inf) where T <:(Union{OpenStreetMapX.ENU,OpenStreetMapX.ECEF})
Find vertices of a routing network within range of a location
nodes_within_range(nodes::Dict{Int,T},loc::T, m::OpenStreetMapX.MapData, range::Float64 = Inf) where T <:(Union{OpenStreetMapX.ENU,OpenStreetMapX.ECEF})
Find vertices of a routing network within range of a location
Get route from to based on Google Distances API with two points (origin and destination) on map map_data using Google API key googleapi_key with optional Google Distances API request parameters googleapi_parameters.
Get route from to based on Google Distances API with two points (origin and destination) on map map_data using Google API key googleapi_key with optional Google Distances API request parameters googleapi_parameters.
Get route from to based on Google Distances API with three points (origin, destination and waypoint between) on map map_data using Google API key googleapi_key with optional Google Distances API request parameters googleapi_parameters.
Cycle classes - Level 1: Bike paths - Level 2: Separated bike lanes (tracks) - Level 3: Bike lanes - Level 4: Bikes typically allowed but not specified
Get route from to based on Google Distances API with three points (origin, destination and waypoint between) on map map_data using Google API key googleapi_key with optional Google Distances API request parameters googleapi_parameters.
Cycle classes - Level 1: Bike paths - Level 2: Separated bike lanes (tracks) - Level 3: Bike lanes - Level 4: Bikes typically allowed but not specified
Classifies a vector of OpenStreetMapX ways based on their cycleway attributes. It considers the presence of "bicycle", "cycleway", and "highway" tags and checks if the corresponding values or the constructed class strings are present in the specified classes dictionary.
Classifies a vector of OpenStreetMapX ways based on their pedestrian attributes. It considers the presence of a "sidewalk" tagand checks if the corresponding value or the "highway" tag value is present in the specified classes dictionary
Classifies a vector of OpenStreetMapX ways based on their cycleway attributes. It considers the presence of "bicycle", "cycleway", and "highway" tags and checks if the corresponding values or the constructed class strings are present in the specified classes dictionary.
Classifies a vector of OpenStreetMapX ways based on their pedestrian attributes. It considers the presence of a "sidewalk" tagand checks if the corresponding value or the "highway" tag value is present in the specified classes dictionary
Filters a vector of OpenStreetMapX ways to include only those that are relevant for cycleways. It considers the presence of "bicycle", "cycleway", and "highway" tags and checks if the corresponding values or the constructed class strings are present in the specified classes dictionary and levels set.
Arguments
ways::Vector{OpenStreetMapX.Way} : Way's vector
classes : classes dictionary
levels : set of levels useful to compare with the way tags
Filters a vector of OpenStreetMapX ways to include only those that are relevant for cycleways. It considers the presence of "bicycle", "cycleway", and "highway" tags and checks if the corresponding values or the constructed class strings are present in the specified classes dictionary and levels set.
Arguments
ways::Vector{OpenStreetMapX.Way} : Way's vector
classes : classes dictionary
levels : set of levels useful to compare with the way tags
Filters a vector of ways to include only those that are relevant for pedestrian walkways. It considers the presence of a "sidewalk" tag and checks if the corresponding value or the "highway" tag value is present in the specified classes dictionary and levels set.
Arguments
ways::Vector{OpenStreetMapX.Way} : Way's vector
classes : classes dictionary
levels : set of levels useful to compare with the way tags
Filters a vector of ways to include only those that are relevant for pedestrian walkways. It considers the presence of a "sidewalk" tag and checks if the corresponding value or the "highway" tag value is present in the specified classes dictionary and levels set.
Arguments
ways::Vector{OpenStreetMapX.Way} : Way's vector
classes : classes dictionary
levels : set of levels useful to compare with the way tags
find_segments(nodes::Dict{Int,T}, highways::Vector{OpenStreetMapX.Way}, intersections::Dict{Int,Set{Int}}) where T<:Union{OpenStreetMapX.ENU,OpenStreetMapX.ECEF}
find_segments(nodes::Dict{Int,T}, highways::Vector{OpenStreetMapX.Way}, intersections::Dict{Int,Set{Int}}) where T<:Union{OpenStreetMapX.ENU,OpenStreetMapX.ECEF}