Module:Road data/strings/USA/NY

MyWikiBiz, Author Your Legacy — Thursday November 14, 2024
Jump to navigationJump to search

Documentation for this module may be created at Module:Road data/strings/USA/NY/doc

--[==[
To inspect the content of this data module, use [[Special:ExpandTemplates]]
and enter the following input text:
  {{#invoke:Road data/dump|dump|module=Module:<name-of-this-module>}}

To inspect the content of this data module when editing, enter the following
into the Debug console:
  local util = require("Module:Road data/util")
  print(util.arrayToString(p))
To inspect a particular route type, change `p` above to include the route type,
e.g., `p.I` and `p["US-Hist"]`.
]==]

-- New York
local NY = {}

local util = require("Module:Road data/util")
local format = mw.ustring.format
util.addAll(NY, require("Module:Road data/strings/USA"))

local suffix = " ([dab||%dab%, |]New York)"
local maint = "[[New York Department of Transportation|NYDOT]]"

NY.I.link = "Interstate %route% (New York)"

NY["I-Future"].link = NY.I.link
NY.Future=NY["I-Future"]

NY["I 1957"].link = NY.I.link
	     
NY.BL.link = "Interstate %route% Business ([dab||%dab%, |]New York)"

NY.US.shield = {
	["1-9"] = "US 1-9.svg",
	["9W"] = "US 9W (NY).svg",
	default = {
		hook = "splitlen",
        split = 3,
        above = "US %route% (NY).svg",
        below = "US %route%.svg"
	}
}
NY.US.shieldmain = NY.US.shield
NY.US.link = "U.S. Route %route% in New York"

for _,year in ipairs({"1926", "1948", "1961"}) do
	NY["US " .. year] = {
		shield = format("US %%route%% (%s).svg", year),
		shieldmain = format("US %%route%% New York %s.svg", year),
		base = NY.US.base,
		name = NY.US.name,
		link = NY.US.link,
		abbr = NY.US.abbr,
		width = "square",
	}
end

NY["US 1961"].shield = "US %route% (1961).svg"
NY["US 1961"].shieldmain = "US %route% (1961).svg"

for _,type in ipairs({'US', 'US 1926', 'US 1948', 'US 1961'}) do
	for _,auxType in ipairs({"Alt", "Bus", "Byp", "Conn", "Opt", "Scenic", "Spur", "Temp", "Truck"}) do
		local spec = NY[" aux "][auxType]
		NY[type .. "-" .. auxType] = {
			shield = NY[type].shield,
			shieldmain = NY[type].shieldmain,
			name = NY[type].name .. " " .. spec.name,
			link = NY[type].link .. " " .. spec.name .. suffix,
			abbr = NY[type].abbr .. " " .. spec.abbrsuffix,
			banner = spec.bannerprefix .. " plate.svg",
			aux = spec.aux,
			width = NY[type].width
		}
	end
end

NY.NY = {
	base = "New York State Route %route%",
	shield = "NY-%route%.svg",
	shieldmain = {
		["74"] = {"NY-%route%.svg", "Vermont %route%.svg"},
		["149"] = {"NY-%route%.svg", "Vermont %route%.svg"},
		["295"] = {"NY-%route%.svg", "MA Route %route%.svg"},
		["313"] = {"NY-%route%.svg", "Vermont %route%.svg"},
		["314"] = {"NY-%route%.svg", "Vermont %route%.svg"},
		["343"] = {"NY-%route%.svg", "Connecticut Highway %route% wide.svg"},
		["346"] = {"NY-%route%.svg", "Vermont %route%.svg"},
		default = "NY-%route%.svg"
	},
	name = {
		["74"] = "Route %route%",
		["149"] = "Route %route%",
		["295"] = "Route %route%",
		["313"] = "Route %route%",
		["314"] = "Route %route%",
		["343"] = "New York State Route %route% and<br>Connecticut Route %route%",
		["346"] = "Route %route%",
		default = "New York State Route %route%"
	},
	link = "New York State Route %route% [dab||(%dab%)|]",
	abbr = "NY&nbsp;%route%",
	width = "expand"
}

NY.SR = NY.NY

NY.Ref = {
	shield = "", 			--Reference routes
	name = NY.NY.name.default,
	link = NY.NY.link,
	abbr = NY.NY.abbr
}
	
for _,year in ipairs({"1927", "1948", "1955", "1960"}) do
	NY["NY " .. year] = {
		shield = format("NY-%%route%% (%s).svg", year),
		shieldmain = format("NY-%%route%% (%s).svg", year),
		name = NY.NY.name.default,
		link = NY.NY.link,
		abbr = NY.NY.abbr,
		width = "square",
	}
end

for _,type in ipairs({'NY'}) do
	for _,auxType in ipairs({"Alt", "Bus", "Byp", "Spur", "Truck"}) do
		local spec = NY[" aux "][auxType]
		NY["NY-" .. auxType] = {
			shield = NY.NY.shield,
			shieldmain = NY.NY.shield,
			name = NY.NY.name.default .. " " .. spec.name,
			link = NY.NY.base .. " " .. spec.name .. NY[" dab "],
			abbr = NY.NY.abbr .. " " .. spec.abbrsuffix,
			banner = spec.bannerprefix .. " plate.svg",
			aux = spec.aux,
			width = "expand",
		}
	end
end
         
NY.NYST = {
	shield = "NYS Thruway Sign.svg",
	name = "New York State Thruway",
	link = "New York State Thruway",
	abbr = "New York Thruway",
	bannersuffix = "blue"
}

NY.NYBC = {
	shield = "NYS Thruway Sign.svg",
	name = "Berkshire Connector",
	link = "Berkshire Connector",
	abbr = "Berkshire Connector",
	bannersuffix = "blue"
}

NY.CR.name = {
	arg = "county",
	default = "County Route %route%",
	Fulton = "County Highway %route%"
	}
	
NY.CR.shield = {
	ifexists   = true,
	arg        = "county",
	default    = "CR %route% jct.svg",
	Albany		= "CR %route% jct wide.svg",
	Broome		= {
		hook = "splitlen",
		split = 3,
		below = "CR %route% jct.svg", 
		above = "CR %route% jct wide.svg"
	},
	Cayuga		= "",
	Columbia		= {
		["21C"] = "CR 21C jct wide.svg",
		default = "CR %route% jct.svg"
	},
	Clinton		= "CR %route% jct.svg", 
	Cortland		= "",
	Dutchess		= {
		hook = "splitlen",
		split = 3,
		below = "CR %route% jct.svg", 
		above = "CR %route% jct wide.svg"
	},
	Erie			= "Erie County %route% NY.svg",
	Franklin		= "Franklin County %route% NY.svg",
	Fulton		= "CR %route% jct wide.svg",
	Genesee		= "",
	Herkimer		= "",
	Monroe		= "",
	Montgomery	= "",
	Nassau		= "",
	Niagara		= "",
	Onandaga		= {
		["57"] = "CR 57 jct.svg",
		default = ""
	},
	Oneida		= {
		["840"] = "CR 840 jct wide.svg",
		default = "CR %route% jct.svg"
	},
	Ontario		= "",
	Orleans		= "",
	Schenectady	= "",
	Seneca		= "",
	Steuben		=  {
		["333"] = "CR 333 jct wide.svg",
		default = "CR %route% jct.svg"
	},
	Wayne		= "",
	Westcheser	= "",
	Wyoming		= "",
	Yates		= ""
}
NY.CR.link = "County Route %route% (%county% County, New York)" --ifexist
NY.CR.width = {ifexists   = true,
	arg		= "county",
	default 	= "square",
	Albany	= "wide",
	Columbia	= {
		["21C"] = "wide",
		default = "square"
	},
	Erie		= "16",
	Fulton	= "wide",
	Oneida	= 	{
		["840"] = "wide",
		default = "square"
	},
	Steuben	= 	{
		["333"] = "wide",
		default = "square"
	}
}
NY.CR.bannersuffix = {
	arg = "county",
	Franklin = "green"
}

NY["CR-Truck"] = {
	shield = NY.CR.shield,
	link = NY.CR.link .. " Truck",
	abbr = NY.CR.abbr .." Truck",
	banner = "Truck plate county.svg"
}
	
NY.ILR = {
	shield = "Rochester Inner Loop.svg",
	name = "Inner Loop",
	link = "Inner Loop (Rochester)",
	abbr = "Inner Loop",
	width = "wide"
}

NY.LSEX = {
	shield = "LaSalle Expy.svg",
	name = "LaSalle Expressway",
	link = "LaSalle Expressway",
	abbr = "LaSalle Expressway",
	bannersuffix = "green"
}

NY.STE = {
	shield = "Southern Tier Expressway.svg",
	name = "Southern Tier Expressway",
	link = "Southern Tier Expressway",
	abbr = "Southern Tier Expressway",
	bannersuffix = "green"
}

local pkwys = {
	-- link-suffix => parkways
	-- Do not list "Parkway" link-suffix.
	[""] = {
		["Saw Mill"] = "Saw Mill River Parkway",
		["Robert Moses Cswy"] = "Robert Moses Causeway"
	},
	Drive = {
		["FDR"] = "Franklin D. Roosevelt East River",
		"Harlem River",
		"Seven Lakes"
	},
	["Interstate Parkway"] = {
		"Palisades"
	},
	Road = {
		"Arden Valley",
		"Tiorati Brook"
	},
	["State Parkway"] = {
		"Bear Mountain",
		"Caumsett",
		"Lake Ontario",
		"Robert Moses",
		"Taconic",
	}
}
local pkwyShields = {
	default = "%route% Pkwy Shield.svg",
	Belt = "%route% Pkwy Shield free.svg",
	["Bronx River"] = "%route% Pkwy Shield free.svg",
	["Cross Island"] = "%route% Pkwy Shield free.svg",
	["FDR"] = "%route% Drive Shield free.svg",
	["FDR Drive"] = "%route% Shield free.svg",
	["Grand Central"] = "%route% Pkwy Shield free.svg",
	["Harlem River"] = "%route% Drive Shield free.svg",
	["Harlem River Drive"] = "%route% Shield free.svg",
	["Henry Hudson"] = "%route% Pkwy Shield free.svg",
	["Hutchinson River"] = "%route% Pkwy Shield free.svg",
	["Jackie Robinson"] = "%route% Pkwy Shield free.svg",
	["Korean War Vets"] = "%route% Pkwy Shield free.svg",
	Pelham = "%route% Pkwy Shield free.svg",
	Bay = "",
	["Long Mountain"] = ""
}
	
local pkwyAbbrs = {
	-- link-suffix => abbr-suffix
	["Interstate Parkway"] = "Parkway"
}
local pkwyLIPkwys = {
	-- Parkways in Long Island that do not end with "State Parkway"
	"Loop",
	"Ocean",
	"Robert Moses Cswy",
}
local pkwyLIStatePkwys = {
	-- Parkways in Long Island that end with "State Parkway"
	"Bethpage",
	"Heckscher",
	"Meadowbrook",
	"Northern",
	"Sagtikos",
	"Southern",
	"Sunken Meadow",
	"Wantagh"
}
for _,pkwy in ipairs(pkwyLIStatePkwys) do
	table.insert(pkwyLIPkwys, pkwy)
	table.insert(pkwys["State Parkway"], pkwy)
end
local pkwyPIPPkwys = {
	-- Parkways maintained by Palisades Interstate Park Commission
	"Lake Welch",
	"Palisades"
}
for _,pkwy in ipairs(pkwys.Road) do
	table.insert(pkwyPIPPkwys, pkwy)
end
NY.Parkway = {
	shield = pkwyShields,
	name = {default = "%route% Parkway"},
	link = {default = "%route% Parkway [dab||(%dab%)|]"},
	abbr = {default = "%route% Parkway"},
	width = {
	   	default = 'square',
		["Bear Mountain"] = 'wide',
		["Cross County"] = 'wide',
		["Saw Mill"] = 'wide',
		["Sprain Brook"] = 'wide',
		["Taconic State"] = 'wide'
	},
	bannersuffix = {
		default = "green",
		["Garden State"] = "GSP",
		["Grand Central"] = "",
	}
}
for suffix,list in pairs(pkwys) do
	local abbrSuffix = pkwyAbbrs[suffix] or suffix
	for abbr,pkwy in pairs(list) do
		if type(abbr) == "number" then abbr = pkwy end
		if suffix == "" then
			NY.Parkway.name[abbr] = pkwy
			NY.Parkway.link[abbr] = pkwy
			NY.Parkway.abbr[abbr] = pkwy
		else
			NY.Parkway.name[abbr] = pkwy .. " " .. suffix
			NY.Parkway.link[abbr] = pkwy .. " " .. suffix
			if abbrSuffix ~= "Parkway" then
				NY.Parkway.abbr[abbr] = abbr .. " " .. abbrSuffix
			end
		end
	end
end
for _,pkwy in ipairs(pkwyLIPkwys) do
	NY.Parkway.bannersuffix[pkwy] = ""
end
for _,pkwy in ipairs(pkwyPIPPkwys) do
	NY.Parkway.bannersuffix[pkwy] = "brown"
end

NY.SBR = {
	shield = "US Bike %route% (M1-8).svg",
	name = "New York State Bicycle Route %route%",
	link = "New York State Bicycle Route System#State Bicycle Route %route%",
	abbr = "State Bicycle Route %route%",
	orientation = "upright"
}

NY.GSP = {alias = {module = "USA/NJ", type = "GSP"}}
NY.CT = {alias = {module = "USA/CT", type = "CT"}}
NY.MATP = {alias = {module = "USA/MA", type = "MATP"}}
NY.NJ = {alias = {module = "USA/NJ", type = "NJ"}}
NY.PA = {alias = {module = "USA/PA", type = "PA"}}
NY.VT = {alias = {module = "USA/VT", type = "VT"}}
NY["I-VT"] = {alias = {module = "USA/VT", type = "I"}}
NY["QC-A"] = {alias = {module = "CAN/QC", type = "A"}}
NY.ON = {alias = {module = "CAN/ON", type = "ON"}}

return NY