From e278d31fde63d23d2cd48c03d82c792b62a5910c Mon Sep 17 00:00:00 2001 From: Sun-Cheong <190251853+Sun-Cheong@users.noreply.github.com> Date: Mon, 10 Feb 2025 10:12:42 +0000 Subject: [PATCH] #1677 Shanghai Metro --- .../resources/templates/shmetro/00config.json | 4 +- public/resources/templates/shmetro/sh2.json | 459 ++++++++++-------- 2 files changed, 271 insertions(+), 192 deletions(-) diff --git a/public/resources/templates/shmetro/00config.json b/public/resources/templates/shmetro/00config.json index 5bb501f3..71d8dad9 100644 --- a/public/resources/templates/shmetro/00config.json +++ b/public/resources/templates/shmetro/00config.json @@ -13,9 +13,9 @@ "filename": "sh2", "name": { "en": "Line 2", - "ko": "2호선", "zh-Hans": "2号线", - "zh-Hant": "2號線" + "zh-Hant": "2號線", + "ko": "2호선" }, "uploadBy": "thekingofcity" }, diff --git a/public/resources/templates/shmetro/sh2.json b/public/resources/templates/shmetro/sh2.json index 3e988258..cda68fde 100644 --- a/public/resources/templates/shmetro/sh2.json +++ b/public/resources/templates/shmetro/sh2.json @@ -10,7 +10,7 @@ "#000" ], "direction": "r", - "current_stn_idx": "lh7j", + "current_stn_idx": "iwf6", "platform_num": "", "stn_list": { "linestart": { @@ -18,10 +18,6 @@ "children": [ "iwf6" ], - "name": [ - "路綫右端", - "RIGHT END" - ], "transfer": { "tick_direc": "r", "paid_area": true, @@ -35,17 +31,18 @@ "num": "00", "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "路綫右端", + "en": "RIGHT END" + }, + "character_spacing": 75 }, "lineend": { "parents": [ "mx89" ], "children": [], - "name": [ - "路綫左端", - "LEFT END" - ], "transfer": { "tick_direc": "r", "paid_area": true, @@ -59,7 +56,12 @@ "num": "30", "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "路綫左端", + "en": "LEFT END" + }, + "character_spacing": 75 }, "l1mz": { "parents": [ @@ -68,10 +70,6 @@ "children": [ "n4at" ], - "name": [ - "虹桥火车站", - "Hongqiao Railway Station" - ], "num": "02", "transfer": { "tick_direc": "r", @@ -108,11 +106,17 @@ ] }, "services": [ - "local" + "local", + "express" ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "虹桥火车站", + "en": "Hongqiao Railway Station" + }, + "character_spacing": 75 }, "iwf6": { "children": [ @@ -121,10 +125,6 @@ "parents": [ "linestart" ], - "name": [ - "徐泾东", - "East Xujing" - ], "num": "01", "transfer": { "tick_direc": "r", @@ -134,11 +134,18 @@ ] }, "services": [ - "local" + "local", + "express", + "direct" ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "徐泾东", + "en": "East Xujing" + }, + "character_spacing": 75 }, "n4at": { "parents": [ @@ -147,16 +154,27 @@ "children": [ "8gmo" ], - "name": [ - "虹桥2号航站楼", - "Hongqiao Airport Terminal 2" - ], "num": "03", "transfer": { "tick_direc": "r", "paid_area": true, "groups": [ - {}, + { + "lines": [ + { + "theme": [ + "shanghai", + "airport", + "#236890", + "#fff" + ], + "name": [ + "机场联络线", + "Airport Link Line" + ] + } + ] + }, { "lines": [ { @@ -176,11 +194,17 @@ ] }, "services": [ - "local" + "local", + "express" ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "虹桥2号航站楼", + "en": "Hongqiao Airport Terminal 2" + }, + "character_spacing": 75 }, "8gmo": { "parents": [ @@ -189,10 +213,6 @@ "children": [ "uixu" ], - "name": [ - "淞虹路", - "Songhong Road" - ], "num": "04", "transfer": { "tick_direc": "r", @@ -206,7 +226,12 @@ ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "淞虹路", + "en": "Songhong Road" + }, + "character_spacing": 75 }, "uixu": { "parents": [ @@ -215,10 +240,6 @@ "children": [ "f6ez" ], - "name": [ - "北新泾", - "Beixinjing" - ], "num": "05", "transfer": { "tick_direc": "r", @@ -232,7 +253,12 @@ ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "北新泾", + "en": "Beixinjing" + }, + "character_spacing": 75 }, "f6ez": { "parents": [ @@ -241,10 +267,6 @@ "children": [ "5fjd" ], - "name": [ - "威宁路", - "Weining Road" - ], "num": "06", "transfer": { "tick_direc": "r", @@ -258,7 +280,12 @@ ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "威宁路", + "en": "Weining Road" + }, + "character_spacing": 75 }, "5fjd": { "parents": [ @@ -267,10 +294,6 @@ "children": [ "11dr" ], - "name": [ - "娄山关路", - "Loushanguan Road" - ], "num": "07", "transfer": { "tick_direc": "r", @@ -296,11 +319,17 @@ ] }, "services": [ - "local" + "local", + "express" ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "娄山关路", + "en": "Loushanguan Road" + }, + "character_spacing": 75 }, "11dr": { "parents": [ @@ -309,10 +338,6 @@ "children": [ "orew" ], - "name": [ - "中山公园", - "Zhongshan Park" - ], "num": "08", "transfer": { "tick_direc": "r", @@ -336,7 +361,7 @@ "theme": [ "shanghai", "sh4", - "#461D84", + "#461d84", "#fff" ], "name": [ @@ -349,11 +374,17 @@ ] }, "services": [ - "local" + "local", + "express" ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "中山公园", + "en": "Zhongshan Park" + }, + "character_spacing": 75 }, "orew": { "parents": [ @@ -362,10 +393,6 @@ "children": [ "wwxm" ], - "name": [ - "江苏路", - "Jiangsu Road" - ], "num": "09", "transfer": { "tick_direc": "r", @@ -390,11 +417,17 @@ ] }, "services": [ - "local" + "local", + "express" ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "江苏路", + "en": "Jiangsu Road" + }, + "character_spacing": 75 }, "1i6w": { "parents": [ @@ -403,10 +436,6 @@ "children": [ "lh7j" ], - "name": [ - "南京西路", - "West Nanjing Road" - ], "num": "10", "transfer": { "tick_direc": "r", @@ -444,11 +473,17 @@ ] }, "services": [ - "local" + "local", + "express" ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "南京西路", + "en": "West Nanjing Road" + }, + "character_spacing": 75 }, "lh7j": { "parents": [ @@ -457,10 +492,6 @@ "children": [ "gicw" ], - "name": [ - "人民广场", - "People's Square" - ], "num": "11", "transfer": { "tick_direc": "r", @@ -497,11 +528,17 @@ ] }, "services": [ - "local" + "local", + "express" ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "人民广场", + "en": "People's Square" + }, + "character_spacing": 75 }, "gicw": { "parents": [ @@ -510,10 +547,6 @@ "children": [ "ebgb" ], - "name": [ - "南京东路", - "East Nanjing Road" - ], "num": "12", "transfer": { "tick_direc": "r", @@ -538,11 +571,17 @@ ] }, "services": [ - "local" + "local", + "express" ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "南京东路", + "en": "East Nanjing Road" + }, + "character_spacing": 75 }, "ebgb": { "parents": [ @@ -551,10 +590,6 @@ "children": [ "ttuu" ], - "name": [ - "陆家嘴", - "Lujiazui" - ], "num": "13", "transfer": { "tick_direc": "r", @@ -579,11 +614,17 @@ ] }, "services": [ - "local" + "local", + "express" ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "陆家嘴", + "en": "Lujiazui" + }, + "character_spacing": 75 }, "ttuu": { "parents": [ @@ -592,10 +633,6 @@ "children": [ "m5bp" ], - "name": [ - "东昌路", - "Dongchang Road" - ], "num": "14", "transfer": { "tick_direc": "r", @@ -609,7 +646,12 @@ ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "东昌路", + "en": "Dongchang Road" + }, + "character_spacing": 75 }, "m5bp": { "parents": [ @@ -618,10 +660,6 @@ "children": [ "4nai" ], - "name": [ - "世纪大道", - "Century Avenue" - ], "num": "15", "transfer": { "tick_direc": "r", @@ -633,7 +671,7 @@ "theme": [ "shanghai", "sh4", - "#461D84", + "#461d84", "#fff" ], "name": [ @@ -670,11 +708,17 @@ ] }, "services": [ - "local" + "local", + "express" ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "世纪大道", + "en": "Century Avenue" + }, + "character_spacing": 75 }, "4nai": { "parents": [ @@ -683,10 +727,6 @@ "children": [ "dhsq" ], - "name": [ - "上海科技馆", - "Shanghai Science & Technology Museum" - ], "num": "16", "transfer": { "tick_direc": "r", @@ -700,7 +740,12 @@ ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "上海科技馆", + "en": "Shanghai Science & Technology Museum" + }, + "character_spacing": 75 }, "dhsq": { "parents": [ @@ -709,10 +754,6 @@ "children": [ "2q8m" ], - "name": [ - "世纪公园", - "Century Park" - ], "num": "17", "transfer": { "tick_direc": "r", @@ -726,7 +767,12 @@ ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "世纪公园", + "en": "Century Park" + }, + "character_spacing": 75 }, "2q8m": { "parents": [ @@ -735,10 +781,6 @@ "children": [ "uh7r" ], - "name": [ - "龙阳路", - "Longyang Road" - ], "num": "18", "transfer": { "tick_direc": "r", @@ -791,7 +833,7 @@ "theme": [ "shanghai", "maglev", - "#009090", + "#008b9a", "#fff" ], "name": [ @@ -804,11 +846,17 @@ ] }, "services": [ - "local" + "local", + "express" ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "龙阳路", + "en": "Longyang Road" + }, + "character_spacing": 75 }, "uh7r": { "parents": [ @@ -817,10 +865,6 @@ "children": [ "cwlm" ], - "name": [ - "张江高科", - "Zhangjiang High Technology Park" - ], "num": "19", "transfer": { "tick_direc": "r", @@ -834,7 +878,12 @@ ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "张江高科", + "en": "Zhangjiang High Technology Park" + }, + "character_spacing": 75 }, "cwlm": { "parents": [ @@ -843,10 +892,6 @@ "children": [ "6d8a" ], - "name": [ - "金科路", - "Jinke Road" - ], "num": "20", "transfer": { "tick_direc": "r", @@ -860,7 +905,12 @@ ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "金科路", + "en": "Jinke Road" + }, + "character_spacing": 75 }, "6d8a": { "parents": [ @@ -869,10 +919,6 @@ "children": [ "8qia" ], - "name": [ - "广兰路", - "Guanglan Road" - ], "num": "21", "transfer": { "tick_direc": "r", @@ -886,7 +932,12 @@ ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "广兰路", + "en": "Guanglan Road" + }, + "character_spacing": 75 }, "8qia": { "parents": [ @@ -895,10 +946,6 @@ "children": [ "ww5f" ], - "name": [ - "唐镇", - "Tangzhen" - ], "num": "22", "transfer": { "tick_direc": "r", @@ -912,7 +959,12 @@ ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "唐镇", + "en": "Tangzhen" + }, + "character_spacing": 75 }, "ww5f": { "parents": [ @@ -921,10 +973,6 @@ "children": [ "r3cg" ], - "name": [ - "创新中路", - "Middle Chuangxin Road" - ], "num": "23", "transfer": { "tick_direc": "r", @@ -938,7 +986,12 @@ ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "创新中路", + "en": "Middle Chuangxin Road" + }, + "character_spacing": 75 }, "r3cg": { "parents": [ @@ -947,10 +1000,6 @@ "children": [ "i21j" ], - "name": [ - "华夏东路", - "East Huaxia Road" - ], "num": "24", "transfer": { "tick_direc": "r", @@ -962,13 +1011,18 @@ "services": [ "local" ], - "secondaryName": [ - "1号航站楼", - "Terminal 1" - ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "华夏东路", + "en": "East Huaxia Road" + }, + "localisedSecondaryName": { + "zh": "1号航站楼", + "en": "Terminal 1" + }, + "character_spacing": 75 }, "i21j": { "parents": [ @@ -977,10 +1031,6 @@ "children": [ "zloz" ], - "name": [ - "川沙", - "Chuansha" - ], "num": "25", "transfer": { "tick_direc": "r", @@ -992,19 +1042,20 @@ "services": [ "local" ], - "secondaryName": [ - "2号航站楼", - "Terminal 2" - ], "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "川沙", + "en": "Chuansha" + }, + "localisedSecondaryName": { + "zh": "2号航站楼", + "en": "Terminal 2" + }, + "character_spacing": 75 }, "zloz": { - "name": [ - "凌空路", - "Lingkong Road" - ], "num": "26", "services": [ "local" @@ -1024,13 +1075,14 @@ }, "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "凌空路", + "en": "Lingkong Road" + }, + "character_spacing": 75 }, "5ltj": { - "name": [ - "远东大道", - "Yuandong Avenue" - ], "num": "27", "services": [ "local" @@ -1050,13 +1102,14 @@ }, "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "远东大道", + "en": "Yuandong Avenue" + }, + "character_spacing": 75 }, "r4df": { - "name": [ - "海天三路", - "Haitiansan Road" - ], "num": "28", "services": [ "local" @@ -1076,16 +1129,19 @@ }, "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "海天三路", + "en": "Haitiansan Road" + }, + "character_spacing": 75 }, "mx89": { - "name": [ - "浦东国际机场", - "Pudong International Airport" - ], "num": "29", "services": [ - "local" + "local", + "express", + "direct" ], "parents": [ "r4df" @@ -1097,7 +1153,22 @@ "tick_direc": "r", "paid_area": true, "groups": [ - {}, + { + "lines": [ + { + "theme": [ + "shanghai", + "airport", + "#236890", + "#fff" + ], + "name": [ + "机场联络线", + "Airport Link Line" + ] + } + ] + }, {}, { "lines": [ @@ -1105,7 +1176,7 @@ "theme": [ "shanghai", "maglev", - "#009090", + "#008b9a", "#fff" ], "name": [ @@ -1119,16 +1190,18 @@ }, "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "浦东1号2号航站楼", + "en": "Pudong Airport Terminal 1&2" + }, + "character_spacing": 75 }, "wwxm": { - "name": [ - "静安寺", - "Jing'an Temple" - ], "num": "00", "services": [ - "local" + "local", + "express" ], "parents": [ "orew" @@ -1160,7 +1233,12 @@ }, "loop_pivot": false, "one_line": false, - "int_padding": 355 + "int_padding": 355, + "localisedName": { + "zh": "静安寺", + "en": "Jing'an Temple" + }, + "character_spacing": 75 } }, "line_name": [ @@ -1180,7 +1258,8 @@ "destination": 1500, "runin": 1500, "railmap": 2500, - "indoor": 3000 + "indoor": 3000, + "platform": 1200 }, "namePosMTR": { "isStagger": true,