Repository navigation
NetworkForge 1.0.0
The first stable release: every OSM feature a network build needs -
new lines, changed and removed streets, turn restrictions, points on
the network, ferries - tested against Valhalla.
Stability
- The command line (
build,check,presets,info), its exit codes
and its--jsonevents, and the Python API (build_network,
write_osm,write_gpkg, the errors) are now stable. New fields may
be added to the JSON events; none is removed or changes meaning
without a new major version.
Added
- New ferries. A custom line with
route=ferry(or
route=shuttle_train) and nohighwaytag is a ferry, as in
OpenStreetMap. It joins the streets only at its ends, passing over
streets it crosses. Everyone may use it unless an access tag closes
it (motor_vehicle=nofor a foot ferry);duration=hh:mmsets the
crossing time, else 10 km/h - both as Valhalla reads them. In the
GeoPackage every mode takes the ferry's time.info --jsonlists
tag_values.routeandtag_patterns.duration. - Warnings for values routers don't know on
surface,smoothness,
tracktype,sac_scale,sidewalk,cycleway*,segregated,lit,
toll,junction,bridge,tunnelandincline, for new lines and
edits alike, with the likely spelling (surface='asphault' ... did you mean 'asphalt'?). OSM allows any value, so the build carries on.
info --jsonlists the known values intag_values(and
tag_patterns.incline). - Deleting tags from an existing street. On a feature with an OSM
id,remove_tags=maxspeed;motor_vehicledeletes those tags from the
stretch (an empty attribute still means "no change"). Deleting
onewaymakes the street two-way.info --jsonhas
remove_tags_field. - Points: barriers, signals, crossings. A point in the custom layer
with node tags (barrier=bollard,highway=traffic_signals,
crossing=zebra, ...) tags the node it is on (within snap_tolerance)
or cuts the nearest street there with a new node - on new lines,
existing and changed streets alike.remove_tagson a point deletes
an existing node's tags (take out a bollard).layerpicks the street
where a bridge crosses one.check/build --jsonreportpoints/
tagged_nodes. - Via-way turn restrictions. A turn line through two junctions
joined by a street becomes a restriction over that stretch (from way,
via way, to way), e.g. no U-turn across a dual carriageway. Valhalla
obeys it. - Tests for multi-part custom lines: offline (parts that share an end,
cross, nearly meet, stray from the network or collapse; random
multi-part lines in the property tests) and in Valhalla (each part
routable, crossing parts joined, per-part edits and removals,
standalone networks).
Changed
- Point features are accepted in the custom layer (they tag nodes,
see above); only other geometry types are refused, now as "not a line
or point".
Fixed
- A multi-part feature that changes an existing street (
osm_id)
now applies to each part on its own:onewayfollows the direction
each part is drawn in (all parts took the first part's), and a problem
or an unchanged feature is reported once, not once per part. - A new roundabout without
onewayis one-way in the GeoPackage's
car_direction/bike_direction, as OSM and Valhalla treat it. It
was marked two-way there (the PBF was already right). - A line that crosses itself within 1 m of a motorway (or another
grade-separated way) no longer joins it there. The line was cut at the
crossing before snapping, and the cut ends counted as line ends, which
may join a motorway (as slip roads do). Now only the ends you drew do.
Found by the new multi-part property tests; single lines were affected
too.