eclipse-sumo / sumo

Eclipse SUMO is an open source, highly portable, microscopic and continuous traffic simulation package designed to handle large networks. It allows for intermodal simulation including pedestrians and comes with a large set of tools for scenario creation.
https://eclipse.dev/sumo
Eclipse Public License 2.0
2.51k stars 1.42k forks source link

Bitte um Bugbehebung netconvert bzgl. Output mit Option --dlr-navteq-output #14071

Closed elmarbrockfeld closed 8 months ago

elmarbrockfeld commented 10 months ago

Beispiel Braunschweig. Aufgetreten bei neuen Arbeiten, um Fahrrad-Routing in KeepMoving zu realisieren. In den bisherigen Extraktionen waren diese nur deutlich unzureichend drin. "Verloren" gingen sie bei netconvert. Durch folgende Ergänzungen in der custom_types.xml sieht das Netz bzgl. Radwegen nun deutlich vollständiger aus (kein Anspruch auf Vollständigkeit, aber für uns sieht es dadurch erstmal zufriedenstellend aus):

<type oneway="false" priority="1" speed="5.56" numLanes="1" id="highway.path" disallow="rail rail_urban rail_electric tram ship"/> <type oneway="false" priority="1" speed="5.56" numLanes="1" id="highway.footway" disallow="rail rail_urban rail_electric tram ship"/> <type oneway="false" priority="1" speed="5.56" numLanes="1" id="bicycle.yes" disallow="rail rail_urban rail_electric tram ship"/> <type oneway="false" priority="1" speed="5.56" numLanes="1" id="bicycle.designated" disallow="rail rail_urban rail_electric tram ship"/> <type oneway="false" priority="1" speed="5.56" numLanes="1" id="highway.cycleway" disallow="rail rail_urban rail_electric tram ship"/> <type oneway="false" priority="1" speed="5.56" numLanes="1" id="cycleway:both.lane" disallow="rail rail_urban rail_electric tram ship"/> <type oneway="false" priority="1" speed="5.56" numLanes="1" id="oneway:bicycle.yes" disallow="rail rail_urban rail_electric tram ship"/> <type oneway="false" priority="1" speed="5.56" numLanes="1" id="cycleway.lane" disallow="rail rail_urban rail_electric tram ship"/> <type oneway="false" priority="1" speed="5.56" numLanes="1" id="cycleway.track" disallow="rail rail_urban rail_electric tram ship"/>

Probleme, die dabei aufgetreten sind und bitte behoben werden müssen (@behrisch: Testdateien liegen unter T:\Brockfeld\brunswick2022q3_neu_mit_rad_und_fuss):

  1. Von ca. 607.721 Knoten sind bei 20 keine Geokoordinaten hinterlegt. Dabei handelt es sich nur um Zwischenknoten, die den genauen Verlauf zwischen Anfangs- und Endknoten beschreiben. Findet man in der nodes_unsplittet, indem man sucht nach TAB1TAB0. Erstes Vorkommen: 1092338199 1 0

  2. Die Attribuierung der neuen Kanten bzgl. erlaubter Fahrzeuge ist zumindest bzgl. dem für uns erstmal wichtigen Attribut "vehicle_type" sehr deutlich unpassend. Die zahlreichen neu hinzugekommenen Kanten müssten vor allem durch Radfahrende und Fussgänger genutzt werden, aber vermutlich recht selten durch motorisierte Fahrzeuge. Beim Großteil ist aber leider alles erlaubt, siehe folgende Übersicht der Anzahl Vorkommnisse im alten im Vergleich zum neuen Netz mit vielen Radkanten:

select vehicle_type, count(*) from net_edge_testbicycle[alt/neu] group by vehicle_type order by vehicle_type asc;

<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">

vehicle_type | ohne bicycle (alt) | mit bicycle (neu) | DIFF -- | -- | -- | -- 000000000001 | 2 | 21 | 19 000000010010 | 252 | 252 | 0 000000010011 | 131389 | 131379 | -10 000000100001 | 0 | 9 | 9 000000100010 | 6 | 2 | -4 000000100011 | 0 | 4 | 4 000000110010 | 22 | 22 | 0 000000110011 | 1769 | 1769 | 0 011111111100 | 4660 | 4636 | -24 011111111101 | 2 | 2 | 0 011111111110 | 19185 | 21603 | 2418 011111111111 | 345537 | 557613 | 212076

Beschreibung "vehicle_type": Trafficability of the edge by individual vehicle types or under certain conditions, formatted by 12 characters (0 = not allowed, 1 = allowed, U = undefined): [0] -> all, [1] -> passenger cars, [2] -> residential vehicle (12; only Teleatlas), [3] -> high occupancy vehicle, [4] -> emergency vehicle, [5] -> taxi, [6] -> public bus, [7] -> delivery truck, [8] -> transport truck, [9] -> motorcycle, [10] -> bicycle, [11] -> pedestrian

Anmerkung 1: Andere Attribute als "vehicle_type" wurden bisher kaum detailliert gecheckt. FRC (functional_road_class) sieht aber ok aus. Anmerkung 2: Interessanterweise gibt es offenbar auch einige Kanten, die im neuen Netz einen anderen Wert für "vehicle_type" bekommen (DIFF negativ). Mag an gewisser Heuristik / Plausibilitätsjustierungen liegen, die sich durch neue Kanten in der Umgebung im Einzelfall etwas justiert.

behrisch commented 10 months ago

Das erste war ein bug und ist jetzt repariert, das zweite liegt an Eurer custom typemap. Die erlaubt ja explizit auf vielen Wegen alle Typen. Vielleicht versucht Ihr lieber die Option --osm.bike-access siehe auch https://sumo.dlr.de/docs/Simulation/Bicycles.html#building_a_network_for_bicycle_simulation

behrisch commented 8 months ago

I failed in building a sufficiently small test for that