2.8 KiB
2.8 KiB
Native road center lines
Goal
Restore the existing osm2streets-style road-centre dashed markings in the native-road provider before treating native output as ready for broader quality gates or new-area validation.
Confirmed Facts
- Nantaizi's existing
osm2streets_web_out/center_lines.geojsonhas 885type="center line"polygons. Its sampled dash geometry is approximately 2.00m long by 0.25m wide. - The legacy extraction excludes centre lines that overlap crosswalk zones and
that fall on service driving polygons (
build-osm2streets-qgis.js:474-480). - Native output currently has only same-direction
lane_separators; it has nocenter_lines.geojson, so a bidirectional road's directional carriageways lack their visual and semantic divider. - Existing Blender already owns a
center_lines/Center Linematerial layer. Native must adapt to it rather than creating a second scene registry.
Requirements
- R1: For supported non-service, bidirectional native road segments, emit a
center_lines.geojsondashed centre divider derived from the canonical OSM centreline and the segment's two directional carriageways. - R2: Match the established visual baseline: yellow 0.25m-wide, 2m-long dashes, clipped away from ordinary junction cutbacks and control markings.
- R3: Preserve source traceability: each dash records its native segment, source OSM way, involved directional roads, placement interval/rule, and a dedicated provenance value.
- R4: Add the layer to compilation records, Road Workbench display/selection
in Chinese, and the existing Blender/Cesium
center_linesmaterial path. - R5: Do not render a centre divider on one-way or
highway=servicesegments; report invalid geometry instead of fabricating a divider.
Acceptance Criteria
- Native Nantaizi output contains a valid
layers/center_lines.geojsonwith source-traceable 2m x 0.25m dashed polygons. - No native centre dash intersects a generated crosswalk or vehicle stop line, and no dash reaches into the supported junction surface cutback.
- The Workbench can toggle and select centre lines, presenting their source and rule in Chinese rather than calling them lane separators.
- Native
blender,cesium,previewconsumes the layer using the existingcenter_linesmaterial and does not runpackage. - Tests cover two-way generation, one-way/service skips, control-marking avoidance, provenance, output contract, and Workbench wiring.
Out Of Scope
- Centre-line editing overrides, solid/double-centre-line semantics, arbitrary
OSM
overtakinginterpretation, lane colouring changes, and other areas.
Key Decision
This task deliberately matches the existing stable visual layer first. It does not claim to infer a country-wide legal marking taxonomy from sparse OSM tags.