c965fbf5fe
Building the transect visualisation (Song274Transect) is what exposed problems in the lyric and its index: syncing nodes to the lyric showed 紅葉山橋 lighting up although it is not on this road (it is on R452), 下福山橋 and オロロップ橋 sitting at the wrong km, and lines timed against the wrong stretch. They were fixed upstream in the wiki (ncmr-songs 7af0f48, "274: drop 紅葉山橋, fix オロロップ橋 and 下福山橋, re-timed lyric"), and the lyric deliverables here follow. 274.lrc — byte-identical copy of the wiki LRC at 7af0f48: 紅葉山橋 removed; 紅楓橋 through 楓信号場 re-timed (1:35.24–1:55.54) with 夕張市楓 at 1:45.77; 登川トンネル at 2:05.23 and its section end at 2:06.62; 稲里トンネル's section end at 4:25.27. 下福山橋 and オロロップ橋 keep their timing; their km were corrected in the roster and index. 274.srt — regenerated with scripts/lrc2srt.py, 116 cues. 274.ass — events follow the LRC: district headers as transparent_title spanning their section, 東に続く as transparent_lyrics_jp, spacers as empty events, the final line held 5 s. The Aegisub header and all 17 styles are untouched. 117 events -> 116. route/ — copied from novoyuuparosk-wiki/ncmr-songs wip/274, where it is generated; read-only here, and its README says so. src/song-274/data.ts loads 274-route.json, 274-lookup.csv and 274-lyrics-index.csv, plus the two approach stubs: 274-route-west.json (always drawn as covered) and 274-route-east.json (painted after 東に続く). Also carries the district bands, the GeoJSON and the reference page. The route shapes are single clean polylines: no second-carriageway points in the divided sections, km strictly increasing. Verified: all 116 ASS events and SRT cues match the LRC's order, text and timestamps; every sung node in the index joins to the roster at matching km. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PLt25nCVMsoroKALYUBu6u
75 lines
4.4 KiB
Markdown
75 lines
4.4 KiB
Markdown
# Route data — 274
|
|
|
|
Copied from `novoyuuparosk-wiki/ncmr-songs/wip/274/`, which is where these are
|
|
generated and edited. **Treat everything here as read-only**: change it upstream
|
|
and re-copy, or the two will drift.
|
|
|
|
## Files
|
|
|
|
| File | What it is |
|
|
|---|---|
|
|
| `274-lyrics-index.csv` | One row per sung line, resolved to its roster entry, with start/stop timing and coordinates. The file the video syncs to. |
|
|
| `274-lookup.csv` | The full roster — every named object on the stretch, sung or not. The page draws all of these; the index only covers the ones that get sung. |
|
|
| `274-route.json` | The road itself: `[km, lat, lon]` per point, for drawing the line. |
|
|
| `274-route-west.json` | A short run of R274 before the western cutoff, same format — km 30.46 to 35.53, ending exactly on the first point of `274-route.json`. The road arriving before 川端橋, in symmetry with the east stub. Also in the GeoJSON as `kind: route-west`. |
|
|
| `274-route-east.json` | A short continuation past the eastern cutoff — km 108.56 to 113.99, overlapping the main shape by 0.18 km so the join is seamless. For `東に続く`: the road visibly carrying on after the last named thing. Also in the GeoJSON as `kind: route-east`. |
|
|
| `274-districts.json` | The 大字 bands with entry/exit km — the strip across the top of the transect page. |
|
|
| `274-lookup.geojson` | Route line, one point per roster entry, and the bands as geometryless features. For anything that wants GeoJSON directly. |
|
|
| `274-transect.html` | The interactive page the video is based on. Self-contained; opens from disk. |
|
|
|
|
## Using the index
|
|
|
|
`start` / `stop` are `mm:ss.xx`; `start_s` / `stop_s` are the same in seconds.
|
|
`stop` is the next timestamp in the LRC, blank spacer lines included, so every
|
|
line has one and the spans butt up against each other without gaps.
|
|
|
|
Join to `274-lookup.csv` on `object`, which is unique across the roster. The
|
|
`sung` column is the line as it appears in the lyric — the three power stations
|
|
are sung without their operator prefix, so `sung` and `object` differ for those.
|
|
|
|
Two row types are not ordinary nodes:
|
|
|
|
- **`kind = district`** — the address headers. These have no single point; they
|
|
carry the first coordinate of the run they introduce, plus `km_from`/`km_to`
|
|
spanning it.
|
|
- **`kind = closing`** — `東に続く`, which is text rather than an object. No
|
|
coordinates.
|
|
|
|
**モトツ橋にモトツシェルター emits two rows** sharing one timing and one
|
|
coordinate. It is one structure to drive through — a bridge roofed by a shelter,
|
|
between モトツトンネル and 福山トンネル — and two separately inspected facilities
|
|
in the national registers. Light both or either; they are the same place.
|
|
|
|
## Caveats that matter for the visuals
|
|
|
|
**All three route shapes are single clean polylines.** Where R274 has a central
|
|
reservation — the divided climbs after 福山大橋 and through 占冠 — OpenStreetMap
|
|
draws each carriageway as its own way. The shapes follow one spine through those
|
|
sections: point spacing adds up to exactly the km span, and km strictly increases
|
|
along every file, so the line can be drawn point to point without sideways spikes.
|
|
|
|
**`km` is not an official kilopost.** It is measured along the OpenStreetMap
|
|
route geometry from a datum near 上野幌, because the route relation is broken
|
|
across the divided carriageway in 札幌. Official KP is roughly this plus 14 km,
|
|
unverified. Ordering, spacing and geometry are all internally consistent; only
|
|
the absolute labels would be wrong if shown as real KP.
|
|
|
|
**`offset_m` is the straight-line distance from the object to the road.** Some
|
|
things sung are well off the carriageway — 日高神社 is 221 m away, クオーベツダム
|
|
1798 m. If the camera follows the road, an object's own coordinate is not always
|
|
where the camera should point.
|
|
|
|
**The lyric is monotonic by km end to end** — no backward jumps — so a camera
|
|
driven by `start_s` moves forward continuously from km 38.41 to 106.22.
|
|
|
|
**The lyric ends before the music does.** Lines run 14.54 s to 492.66 s (8:12),
|
|
while the release master is 619.27 s (10:19). Roughly two minutes of music play
|
|
past 東に続く.
|
|
|
|
## Provenance
|
|
|
|
How the roster was built, what was verified by hand, and what is derived rather
|
|
than measured: see `274-dev.md` in the source directory. Several entries exist
|
|
only because they were found on Google Maps and are absent from OpenStreetMap
|
|
entirely — ten of them, including four of the eight shrines.
|