模块:RailSystems/SuzhouRT

求闻百科,共笔求闻

苏州轨道交通的线路数据。

上述文档内容嵌入自Module:RailSystems/SuzhouRT/doc编辑 | 历史
编者可以在本模块的沙盒创建 | 镜像和测试样例创建页面进行实验。
请将模块自身所属的分类添加在文档中。本模块的子页面
local p = {
	name = '苏州轨道交通',
	page = '苏州轨道交通',
	title = '[[苏州轨道交通]]',
	-- override = 'Module:RailSystems/SuzhouRT/Special'
}

-- 用于索引所有线路的数组。其每个值均为一条线路。用于对所有线路进行迭代。
p._lineIndexes = {'L1','L2','L3','L4','L5','L6','L7','L8','L9','11','S2B','SNDT1','SNDT2','AIRPORT'}

p.line_index = {
	all = {'L1','L2','L3','L4','L5','L6','L7','L8','L9','11','S2B','SNDT1','SNDT2','AIRPORT','SH11'},
	open = {'L1','L2','L3','L4','L5','T1','T2'},
	subway = {'L1','L2','L3','L4','L5','L6','L7','L8','L9','11','S2B','AIRPORT'},
	tram = {'S1', 'S2B'},
	subway_open = {'L1','L2','L3','L4','L5'},
}

p.lines = {
	L1 = {
		title = "苏州轨道交通1号线|1号线", -- 线路标题。因历史原因而使用
		full_name = '苏州轨道交通1号线', -- 该线路的完整名称
		page = nil, -- 该线路对应的页面标题,设为nil,则取full_name
		short_name = '1号线', -- 该线路的简短名称
		blink_name = '1', -- 该线路的最短名称
		stations = mw.text.split([[木渎 - 金枫路 - 汾湖路 - 玉山路 - 狮子山 - 塔园路 - 滨河路 - 西环路 - 桐泾北路 - 广济南路 - 养育巷 - 乐桥 - 临顿路 - 相门 - 东环路 - 中央公园 - 星海广场 - 东方之门 - 文化博览中心 - 时代广场 - 星湖街 - 南施街 - 星塘街 - 钟南街]]," %- "), -- 该线路的所有车站
		color = '78BE20' 
	},
	L2 = {
		title = "苏州轨道交通2号线|2号线", 
		stations = mw.text.split([[骑河 - 富翔路 - 高铁苏州北站 - 大湾 - 富元路 - 蠡口 - 徐图港 - 阳澄湖中路 - 陆慕 - 平泷路东 - 平河路 - 苏州火车站 - 山塘街 - 石路 - 广济南路 - 三香广场 - 劳动路 - 胥江路 - 桐泾公园 - 友联 - 盘蠡路 - 新家桥 - 石湖东路 - 宝带桥南 - 尹中路 - 郭巷 - 郭苑路 - 尹山湖 - 独墅湖南 - 独墅湖邻里中心 - 月亮湾 - 松涛街 - 星塘街南 - 金谷路 - 金尚路 - 桑田岛]]," %- "),
		color = 'EF3340' ,
		
	},
	L3 = { title = "苏州轨道交通3号线|3号线",
		stations = mw.text.split([[苏州新区火车站 - 惠昌路 - 文昌路 - 长亭 - 铜墩 - 马运路 - 西津桥 - 何山 - 狮子山 - 狮山路 - 沙金桥 - 索山桥西 - 横山 - 横塘 - 石湖北 - 新郭 - 盘蠡路 - 宝带路 - 迎春路 - 北港路 - 通园路南 - 墅浦路北 - 东振路 - 金厍桥 - 李公堤西 - 东方之门 - 烟雨桥 - 倪浜 - 唐庄 - 跨塘 - 苏州园区火车站 - 方湾街 - 丰和路 - 双马街 - 葑亭大道 - 戈巷街 - 唯亭]]," %- "),
		color = 'FF8200' },
	L4base = {
		-- 4号线未分支部分。
		page = '苏州轨道交通4号线',
		stations = mw.text.split([[龙道浜 - 张庄路 - 姚祥 - 活力岛 - 孙武纪念园 - 平泷路西 - 苏锦 - 苏州火车站 - 北寺塔 - 察院场 - 乐桥 - 三元坊 - 南门 - 人民桥南 - 团结桥 - 宝带路 - 石湖东路 - 红庄]],' %- '),
	},
	L4main = {
		-- 4号线主线部分。
		stations = mw.text.split([[清树湾 - 花港 - 江陵西路 - 江兴西路 - 流虹路 - 笠泽路 - 顾家荡 - 苏州湾东 - 松陵大道 - 吴江人民广场 - 吴江汽车站 - 庞金路 - 同里]],' %- '),
	},
	L4branch = {
		-- 4号线支线部分。
		stations = mw.text.split([[蠡墅 - 石湖莫舍 - 越溪 - 文溪路 - 天鹅荡路 - 苏州湾北 - 木里]],' %- '),
	},
	L4 = {
		title = "苏州轨道交通4号线|4号线",
		stations = nil, -- 后面再补
		color = '0072CE' },
	L5 = { title = "苏州轨道交通5号线|5号线",
		stations = mw.text.split([[太湖香山 - 花墩 - 津桥 - 胥口 - 茅蓬路东 - 许家桥 - 灵岩山 - 渎川桥 - 大治桥 - 西跨塘 - 石城 - 落星桥 - 索山桥西 - 双桥 - 劳动路 - 新市桥 - 南门 - 南园北路 - 竹辉桥 - 荷花荡 - 黄天荡 - 金厍桥 - 星波街 - 李公堤南 - 金湖 - 华莲 - 斜塘 - 苏州奥体中心 - 方洲公园 - 星塘街 - 龙墩 - 东沙湖 - 葑亭大道 - 阳澄湖南]], ' %- '),
		color = 'E93CAC' },
	L6 = { title = "苏州轨道交通6号线|6号线",
		stations = mw.text.split([[苏州新区火车站 - 城际路 - 金筑街 - 金储街 - 金业街 - 虎丘西路 - 虎丘 - 清塘路 - 江星路 - 苏锦 - 平河路 - 苏站东路 - 拙政园 - 悬桥巷 - 临顿路 - 苏州大学 - 徐家浜 - 中新大道西 - 星海广场 - 东方之门 - 中塘公园 - 南施街 - 苏胜路 - 中新大道东 - 港田路 - 金家堰 - 斜步 - 新昌路 - 金尚路 - 桑田岛 - 新庆路 - 东关村 - 长虹路 - 古成路 - 吴淞路 - 金尚路 - 甪直]], ' %- '),
		notOpen = true,
		planning = true,
		color = '41B6E6' },
	L7 = { title = "苏州轨道交通7号线|7号线", 
		stations = mw.text.split([[相城大道北 - 高铁苏州北站 - 青龙港 - 富元路 - 蠡塘河路 - 春申湖东路 - 相城区行政中心北 - 相城区行政中心南 - 白荡南 - 扬东路 - 扬华路 - 现代大道西 - 中央公园 - 东兴路西 - 群星二路 - 林家潭路 - 郭巷 - 尹中路南 - 澄湖东路 - 枫津路 - 红庄 - 蠡墅 - 石湖莫舍 - 越溪 - 文溪路 - 天鹅荡路 - 苏州湾北 - 木里]], " %- "),
		notOpen = true,
		planning = true,
		color = 'A77BCA' },
	L8 = { title = "苏州轨道交通8号线|8号线", 
		stations = mw.text.split([[西津桥 - 长江路 - 汽车城 - 时家桥 - 金业街 - 虎殿路 - 虎丘湿地公园 - 孙武纪念园 - 陆慕老街 - 阳澄湖中路 - 大湾 - 相城区行政中心南 - 田大港 - 和顺路 - 唐庄 - 娄中路 - 苏州园区火车站 - 西沈浒路 - 时代广场 - 右岸街 - 仁爱路 - 松涛街 - 裕新路 - 车坊]], " %- "),
		notOpen = true,
		planning = true,
		color = 'A09200' },
	L9 = { title = "苏州轨道交通9号线|9号线", notOpen = true },
	L10 = {
		terminus = {'金港', '高铁苏州北站'},
		color = 'CA9A8E',
		notOpen = true,
	},
	L11 = { title = "苏州轨道交通11号线|11号线",
		stations = mw.text.split([[唯亭 - 草鞋山 - 阳澄湖东 - 正仪 - 莲湖公园 - 祖冲之公园 - 昆山文化艺术中心 - 共青 - 江浦 - 白马泾 - 玉山广场 - 绣衣 - 昆山城市广场 - 金浦大桥东 - 顺帆北路 - 鱼池泾 - 白河潭 - 兵希 - 夏驾河公园 - 盛庄 - 章基路南 - 夏桥 - 神童泾 - 菉葭 - 花桥博览中心 - 集善 - 花溪公园 - 花桥]], " %- "),
		color = 'F1C6A6',
		textColor = '000000'
	},
	S2B = { 
		title = "苏州市域铁路S2B线|S2B线",
		short_name = 'S2B线',
		blink_name = 'S2B',
		notOpen = true,
		planning = true,
	},
	SNDT1 = { 
		title = "苏州高新区有轨电车1号线|有轨电车1号线",
		color = 'B5CD56' ,
		full_name = '苏州高新区有轨电车1号线',
		page = '苏州高新区有轨电车1号线',
		short_name = '有轨电车1号线',
		blink_name = 'T1',
	},
	SNDT2 = {
		title = "苏州高新区有轨电车2号线|有轨电车2号线" ,
		terminus = {
			{ type = 'branches', main = {stations = {'新区火车站'}}, branch = {stations = {'文昌路'}} },
			'龙康路'
		},
		color = '850000',
		full_name = "苏州高新区有轨电车2号线",
		page = "苏州高新区有轨电车2号线",
		short_name = '有轨电车2号线',
		blink_name = 'T2',
	},
	AIRPORT = { title = "苏州市域铁路机场轨道专线|机场轨道专线", notOpen = true, planning = true },
	SH11 = { page = "上海轨道交通11号线", 
		full_name = '上海轨道交通11号线',
		short_name = '上海11号线',
		blink_name = '上海11',
		stations = {
			{
				type = 'branches',
				main = {stations = mw.text.split('嘉定北 – 嘉定西 – 白银路', ' – ')},
				branch = {stations = mw.text.split('花桥 – 光明路 – 兆丰路 – 安亭 – 上海汽车城 – 昌吉东路 – 上海赛车场', ' – ')}
			},
			{	type = 'line',
				line = { stations = { "嘉定新城",  "马陆",  "陈翔公路",  "南翔",  "桃浦新村",  "武威路",  "祁连山路",  "李子园",  "上海西站",  "真如",  "枫桥路",  "曹杨路",  "隆德路",  "江苏路",  "交通大学",  "徐家汇",  "上海游泳馆",  "龙华",  "云锦路",  "龙耀路",  "东方体育中心",  "三林",  "三林东",  "浦三路",  {id="严御路", notOpen=true},  "御桥",  "罗山路",  "秀沿路",  "康新公路",  "迪士尼" }}
			}
		},
		color = '7C2230' },
}

p.lines.L4.stations = {
	{
		type = 'line',
		line = p.lines.L4base,
	}, {
		type = 'branches',
		main = p.lines.L4main,
		branch = p.lines.L4branch,
	}
}

-- 从这里开始,就需要留意这个 lines 中会有重复的值,因为需要有不同的键。
for i = 1, 11 do
	local line = p.lines["L" .. i]
	if line then
	    p.lines[tostring(i)] = line
	    line.full_name = line.full_name or '苏州轨道交通' .. i .. '号线'
	    line.short_name = line.short_name or i .. '号线'
	    line.blink_name = tostring(i)
	    line.page = line.full_name
	end
end
p.lines.S1 = p.lines.L11

p.lines['高1'] = p.lines.SNDT1
p.lines['机'] = p.lines.AIRPORT
p.lines.T1 = p.lines.SNDT1
p.lines.T2 = p.lines.SNDT2

p.stationNames = {
-- 消歧义
	-- 1号线
	['东环路'] = '东环路站(苏州)|东环路',
	['中央公园'] = '中央公园站(苏州)|中央公园',
	['星海广场'] = '星海广场站(苏州)|星海广场',
	['时代广场'] = '时代广场站(苏州)|时代广场',
	['西环路'] = '西环路站(苏州地铁)|西环路',
	['狮子山'] = '狮子山站(苏州)|狮子山',
	['玉山路'] = '玉山路站(苏州)|玉山路',
	
	-- 2号线
	['高铁苏州北站'] = '高铁苏州北站|高铁苏州北站',
	['大湾'] = '大湾站(苏州)|大湾',
	['苏州火车站'] = '苏州火车站(地铁)|苏州火车站',
	['劳动路'] = '劳动路站(苏州)|劳动路',
	
	-- 3号线
	['苏州新区火车站'] = '苏州新区火车站(地铁)|苏州新区火车站',
	['文昌路'] = '文昌路站(苏州)|文昌路',
	['华山路'] = '华山路站(苏州)|华山路',
	['竹园路'] = '竹园路站(苏州)|竹园路',
	['东兴路'] = '东兴路站(苏州)|东兴路',
	['唯亭'] = '唯亭站(地铁)|唯亭',
	
	-- 4号线
	['张庄'] = '张庄站(苏州)|张庄',
	['南门'] = '南门站(苏州)|南门',
	['红庄'] = '红庄站(苏州)|红庄',
	
	-- 5号线
	['石城'] = '石城站(苏州)|石城',
	['双桥'] = '双桥站(苏州)|双桥',
	['金湖'] = '金湖站(苏州)|金湖',
	
	-- 6号线
	
	-- 7号线
	
	-- 8号线
	
	-- 11号线
	['花桥'] = '花桥站(昆山市地铁车站)|花桥',
	['正仪'] = '正仪站(苏州地铁)|正仪',
	['江浦'] = '江浦站(苏州地铁)|江浦',
	['花溪公园'] = '花溪公园站(苏州)|花溪公园',
	
	-- T线
	['珠江路'] = '珠江路站(苏州有轨电车)|珠江路',
	['金枫路T'] = '金枫路站(苏州有轨电车)|金枫路',
	['华山路T'] = '华山路站(苏州有轨电车)|华山路',
	
	-- 模板格式需要
	['同里/木里'] = {'同里站|同里', '/', '木里站|木里', page = nil, link = '[[同里站|同里]]/[[木里站|木里]]'},
	
	-- 用于测试。
	['测试站1'] = {page = 'Project:首页', name = '测试站(1)'},
	['测试站2'] = {name = '测试站(2)', page = false},
	-- ['测试站3'] = {page = 'Project:首页', name = '测试站(3)', link_format = '{{站|%s}}'},
	['测试站4'] = {page = 'Project:茶馆'},
	['测试站5'] = {name = '测试站(5)'},
}

local stationAliases = {
	-- 1号线
	['東環路'] = '东环路',
	['中央公園'] = '中央公园',
	['時代廣場'] = '时代广场',
	['苏州乐园'] = '狮子山',
	['蘇州樂園'] = '狮子山',
	
	-- 2号线
	['高鐵蘇州北站'] = '高铁苏州北站',
	['大灣'] = '大湾',
	['蘇州火車站'] = '苏州火车站',
	['勞動路'] = '劳动路',
	
	-- 3号线
	['蘇州新區'] = '苏州新区火车站',
	['苏州新区'] = '苏州新区火车站',
	['蘇州新區火車站'] = '苏州新区火车站',
	['華山路'] = '华山路',
	['竹園路'] = '竹园路',
	['東興路'] = '东兴路',
	
	-- 4号线
	['張莊'] = '张庄',
	['南門'] = '南门',
	['紅莊'] = '红庄',
	
	-- 5号线
	['雙橋'] = '双桥',
	
	-- 6号线
	
	-- 7号线
	
	-- 8号线
	
	-- T線
	['金楓路T'] = '金枫路T',
	['華山路T'] = '华山路T',
}
for k, v in pairs(stationAliases) do
	p.stationNames[k] = p.stationNames[v]
end

return p