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:
knso committed 2026-09-18 06:54:01 +02:00
1 parent a397892847
commit 77d53fb170
7 files changed
+23 -37

No files matched your search

@@ -212,7 +212,7 @@ Neue und geänderte Schlüssel:
```json
{
"land": [[ring, loch, loch, ...]],
"carriageway": [{ "poly": [ring, ...], "klasse": "wohnstrasse" }],
"carriageway": [{ "poly": [ring, ...] }],
"curb": [{ "line": [[x, z], ...] }],
"sidewalk": [{ "poly": [ring, ...] }],
"markings": [{ "poly": [ring], "art": "gelb_doppelt" }],
@@ -223,6 +223,7 @@ Neue und geänderte Schlüssel:
```
- `roads` entfällt und wird durch `carriageway` und `lots` ersetzt.
- `carriageway` trägt keine Klasse (Fixwelle, Befund 6): Ein Eintrag ist eine Zusammenhangskomponente des ganzen Straßennetzes und bekäme damit nur die breiteste Klasse irgendeiner enthaltenen Straße zugewiesen — am echten Netz 91,2 % der Fläche „boulevard", unabhängig davon, was dort tatsächlich liegt. Die Klasse je Straße steht in `edges`; kein Verbraucher las `carriageway[].klasse`.
- `centerlines` wird zu `edges` — dieselben Linien, aber mit Klasse und Breite. Laternen, Palmenabstand und später der Verkehr lesen daraus.
- `curb` ist eine Liste von Linienzügen entlang des Fahrbahnrands — die Stücke, die einen Bordstein tragen. Gassen und Brücken liefern hier nichts. Die Wand und ihre Oberkante entstehen daraus im Browser; ein Polygon wäre falsch, weil die Wand keine Grundfläche hat.
- `land` behält seine Form, bekommt aber die Fahrbahnlöcher.