Files
ncmr-songs-videos/song-274/route
mikkeli c965fbf5fe feat(274): route data for the transect; lyric fixes the transect exposed
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
2026-09-17 09:48:51 +09:00
..

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.