fix(extract): carriageway[].klasse als irreführendes Feld entfernt
Befund 6, Controller-Entscheidung: carriageway_area() vereinigt das ganze Straßennetz zu wenigen Zusammenhangskomponenten, und _classified() gab jeder Komponente die Klasse ihrer breitesten enthaltenen Straße - am echten Netz trugen dadurch 91,2 % der Fahrbahnfläche "boulevard", auch wo tatsächlich eine Wohnstraße lag. Kein Verbraucher las das Feld (Browser und Minimap färben die Fahrbahn einheitlich); die Klasse je Straße steht weiterhin in edges. _classified() samt Aufruf aus run.py entfernt, chunk_payload() nimmt carriageway jetzt als reine Liste von Polygonen statt (poly, klasse)- Tupeln entgegen, Sortierschlüssel entsprechend auf poly allein verkürzt. Fixtures in test_emit.py, test_overview.py, tests/geometry.test.js und tests/streaming.test.js sowie das Chunk-Format im Entwurf nachgezogen; tests/props.test.js bleibt unverändert, weil dort edges betroffen sind, nicht carriageway.
This commit is contained in:
1 parent
a397892847
commit
77d53fb170
7 files changed
+23
-37
No files matched your search
@@ -118,6 +118,12 @@ def chunk_payload(i, j, *, land, surfaces, carriageway, curb, sidewalk, markings
|
||||
Sortiert wird nach der gerundeten Ausgabestruktur selbst, nicht nach Flaeche, Schwerpunkt oder
|
||||
Bounding-Box: nur sie ist total geordnet und ohne Sonderfall, denn zwei Eintraege mit gleichem
|
||||
Schluessel sind dann bytegleich und ihre Reihenfolge wieder egal.
|
||||
|
||||
carriageway traegt keine Klasse (Befund 6 der Fixwelle): carriageway_area() vereinigt das
|
||||
ganze Strassennetz, ein Eintrag ist eine Zusammenhangskomponente und bekaeme damit nur die
|
||||
breiteste Klasse irgendeiner enthaltenen Strasse zugewiesen - am echten Netz 91,2 % der
|
||||
Flaeche "boulevard", unabhaengig davon, was dort tatsaechlich liegt. Die Klasse je Strasse
|
||||
steht in edges; kein Verbraucher las carriageway[].klasse.
|
||||
"""
|
||||
ox = SLICE["x0"] + i * CHUNK_SIZE
|
||||
oy = SLICE["y1"] - j * CHUNK_SIZE
|
||||
@@ -126,8 +132,7 @@ def chunk_payload(i, j, *, land, surfaces, carriageway, curb, sidewalk, markings
|
||||
"origin": [ox, -oy],
|
||||
"land": sorted(_rings(p, i, j) for p in land),
|
||||
"surfaces": _sorted_surfaces([{"poly": _rings(p, i, j), "kind": k} for p, k in surfaces]),
|
||||
"carriageway": sorted(({"poly": _rings(p, i, j), "klasse": k} for p, k in carriageway),
|
||||
key=lambda c: (c["poly"], c["klasse"])),
|
||||
"carriageway": sorted(({"poly": _rings(p, i, j)} for p in carriageway), key=lambda c: c["poly"]),
|
||||
"curb": sorted(_line(l, i, j) for l in curb),
|
||||
"sidewalk": sorted(({"poly": _rings(p, i, j)} for p in sidewalk), key=lambda s: s["poly"]),
|
||||
"markings": sorted(({"poly": _rings(p, i, j), "art": a} for p, a in markings),
|
||||
|
||||
Reference in new issue
Block a user