列車の現在位置を表して列車が動く様子を表現したいです。
以下のURLでは列車が動く様子が再現されていますが、数値がよくがわからないのです。
http://chocoden.chobi.net/yamanote/yamanote_now.html
以下画像です。
こういった複雑なアニメーションはcssだけではできないのでjavascriptを使用しているものだと思われます。
駅データの五反田駅の前にある009とか、線路位置データの最初のほうにある[ 6196, 7285 ],とか、ダイヤグラムのほうにある"01G": "210438093725777",がわからないです。01gはおそらく列車番号のことを指しているものだと思われます。
以下はソースの一部です。
// 駅データ aSt: [ "000*大崎,Ōsaki", "009 五反田,Gotanda", "020 目黒,Meguro", "035 恵比寿,Ebisu",
この間省略
],
// 線路位置データ aLoc: [ [ 6196, 7285 ], [ 6206, 7279 ], [ 6213, 7272 ], [ 6221, 7267 ], [ 6229, 7261 ], [ 6237, 7255 ], [ 6244, 7250 ], [ 6252, 7244 ], [ 6260, 7238 ], [ 6267, 7232 ], [ 6274, 7225 ], [ 6280, 7217 ],
この間省略
],
// 駅数の取得: 引数=なし, 戻り値=駅数 getStNum: function() { return this.aSt.length; }, // 駅情報の取得: 引数=駅番号0-29, 戻り値=文字列 getStData: function(n) { if (!((n >= 0) && (n < this.getStNum()))) n = 0; return this.aSt[n]; }, // 駅位置の取得: 引数=駅番号0-29, 戻り値=駅位置0-344 getStPos: function(n) { if (n == this.getStNum()) return 344; return parseInt(this.getStData(n).slice(0, 3), 10); }, // 駅マークの取得: 引数=駅番号0-29, 戻り値=マーク有無 isStMark: function(n) { return (this.getStData(n).charAt(3) == "*"); }, // 駅名の取得: 引数=駅番号0-29/言語0-1, 戻り値=文字列 getStName: function(n, lang) { var str = this.getStData(n).slice(4); var pos = str.indexOf(","); if (pos > 0) { str = lang ? str.slice(pos + 1) : str.slice(0, pos); } return str; }, // 駅番号の検索: 引数=駅名, 戻り値=数値 searchStName: function(s) { var n = -1; if (s) { for (var i = 0; i < this.getStNum(); i++) { if ((s == this.getStName(i, false)) || (s == this.getStName(i, true))) { n = i; break; } } } return n; }, // ダイヤ情報 diaData: null, // 平日ダイヤ weekday: { // ダイヤ名 name: "Weekday", name_jp: "平日", // 運行順番 orderOut: [ "01G", "31G", "13G", "33G", "45G", "53G", "15G", "17G", "35G", "61G", "37G", "19G", "47G", "39G", "05G", "21G", "41G", "07G", "43G", "49G", "23G", "03G", "25G", "09G", "27G", "11G", "51G", "29G" ], orderIn: [ "00G", "10G", "64G", "32G", "76G", "12G", "24G", "80G", "02G", "14G", "66G", "26G", "34G", "60G", "16G", "68G", "28G", "04G", "18G", "70G", "36G", "30G", "62G", "06G", "20G", "72G", "08G", "22G", "74G", "78G" ], // 運用変更テーブル changeOutDaytm: [ "31G", "13G", "15G", "17G", "35G", "19G", "39G", "05G", "41G", "07G", "23G", "03G", "25G", "11G", "29G" ], changeInDaytm: [ "00G", "64G", "76G", "24G", "02G", "14G", "60G", "16G", "68G", "04G", "30G", "62G", "06G", "08G", "74G" ], changeOutNight: [ "31G", "13G", "45G", "53G", "15G", "17G", "35G", "19G", "47G", "39G", "05G", "41G", "07G", "49G", "23G", "03G", "25G", "11G", "51G", "29G" ], changeInNight: [ "00G", "64G", "32G", "76G", "24G", "80G", "02G", "14G", "34G", "60G", "16G", "68G", "04G", "36G", "30G", "62G", "06G", "08G", "74G", "78G" ], // ダイヤ diagram: { // 外回り "01G": "210438093725777", "03G": "04042724316589965555687678A", "05G": "2305112516246896555577776899", "07G": "04052524185889655555777699", "09G": "0105390926678", "11G": "0405462323578755555586776", "13G": "04055624507888455556776879", "15G": "0406012347877765556986777", "17G": "03060724555787655568876777", "19G": "03061725046875655557867779", "21G": "040627094758", "23G": "0106342450A885555579676798", "25G": "040641221489B5555568676", "27G": "040648101078", "29G": "0106542509789555556967768A", "31G": "0407002445877555556867778", "33G": "04070609207", "35G": "0107142422897655568776787", "37G": "040720104087", "39G": "04072624078856555787767A", "41G": "010735233488565555876789", "43G": "04074009569", "45G": "04155421276776", "47G": "0316112509976778A", "49G": "04162822039767", "51G": "0116462355876777", "53G": "0317022450967678", "61G": "14042509323767", // 内回り "00G": "400430243169988555557768776", "02G": "4104452431A878875556867878B", "04G": "40050920446988875555768", "06G": "410523250659898555567789888", "08G": "40053123196888555565768A9", "10G": "4005421012788", "12G": "4005501020788", "14G": "400600224058898555577696", "16G": "4106102445687875557777978A", "18G": "4006181049979", "20G": "400632095588", "22G": "400640100388", "24G": "400659201697865556576", "26G": "40071009268", "28G": "410721101888", "30G": "40073223058766555777887", "32G": "411542220077697", "34G": "4016002351877876", "36G": "401617251686886A6", "60G": "1004342503177877755578688778", "62G": "100452241635B78765556868977", "64G": "130627244018785555557787977", "66G": "1006431031188", "68G": "1006542405178A75555868979", "70G": "100703094428", "72G": "1007151103478", "74G": "10072422133785555556789", "76G": "100735244338865557676A678", "78G": "10161421071678", "80G": "131632245236776897" } }, // 土休日ダイヤ holiday: { // ダイヤ名 name: "Holiday", name_jp: "土休日", // 運行順番 orderOut: [ "01G", "19G", "33G", "09G", "21G", "25G", "61G", "11G", "27G", "05G", "35G", "23G", "29G", "13G", "03G", "15G", "07G", "31G", "17G" ], orderIn: [ "00G", "66G", "08G", "20G", "68G", "02G", "16G", "10G", "60G", "70G", "22G", "12G", "04G", "72G", "62G", "14G", "18G", "06G", "74G", "64G" ], // 運用変更テーブル changeOutDaytm: [ "01G", "19G", "33G", "09G", "21G", "25G", "61G", "11G", "27G", "05G", "23G", "29G", "13G", "03G", "15G", "07G", "31G", "17G" ], changeInDaytm: [ "00G", "66G", "08G", "20G", "68G", "02G", "16G", "10G", "60G", "70G", "22G", "12G", "04G", "72G", "62G", "14G", "18G", "06G", "74G", "64G" ], changeOutNight: [ "01G", "19G", "33G", "09G", "21G", "25G", "61G", "11G", "27G", "05G", "35G", "23G", "29G", "13G", "03G", "15G", "07G", "31G", "17G" ], changeInNight: [ "00G", "66G", "08G", "20G", "68G", "02G", "16G", "10G", "60G", "70G", "22G", "12G", "04G", "72G", "62G", "14G", "18G", "06G", "74G", "64G" ], // ダイヤ diagram: { // 外回り "01G": "2304392431166656554556567988", "03G": "010427200865676455556655", "05G": "2305112458255675555554566778", "07G": "04054324185655554556656687", "09G": "04060121187555665555566", "11G": "04061724506655555555564777", "13G": "01063124337875555556567767", "15G": "03064325166655555556565767", "17G": "0406532429666555456658788", "19G": "040703200555654555556", "21G": "01071225095556645555666777", "23G": "04073319335854555765", "25G": "040820244665565555566867", "27G": "030831245275555555565767", "29G": "030842250675555566556767", "31G": "010902245055555565676877", "33G": "04112623315555557588", "35G": "0116142318656776", "61G": "140425202135785556555555", // 内回り "00G": "400430205365766555555567", "02G": "4104451832756765555555", "04G": "400509181467665555555", "06G": "400527251666565555555677A86", "08G": "400544220457555555555565", "10G": "4005582336676555555557779", "12G": "4006102024776555555576", "14G": "410628190455555555556", "16G": "4308072440755555555576997", "18G": "410841244565555555558968", "20G": "410904250655555555675678", "22G": "430926245265555556678677", "60G": "10043419061655655555555", "62G": "1004522503355655555555577877", "64G": "10071824161765555555578A8", "66G": "10072718431565555555", "68G": "1007342427186555555576677", "70G": "10075422301555555555577", "72G": "100806234916555555555677", "74G": "1008221833255555555" } },