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
4.4 KiB
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, pluskm_from/km_tospanning 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.