--[==[
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"]`.
]==]
-- Texas
local TX = {}
local util = require("Module:Road data/util")
local format = mw.ustring.format
util.addAll(TX, require("Module:Road data/strings/USA"))
local suffix = " ([dab||%dab%, |]Texas)"
local suffix2 = " [dab||(%dab%)|]"
-- Interstate types
TX.I.link = {
["2"] = "Interstate 2",
["14"] = "Interstate 14",
["27"] = "Interstate 27",
["30"] = "Interstate 30",
["35E"] = "Interstate 35E (Texas)",
["35W"] = "Interstate 35W (Texas)",
["37"] = "Interstate 37",
["45"] = "Interstate 45",
["69C"] = "Interstate 69C",
["69E"] = "Interstate 69E",
["69W"] = "Interstate 69W",
["410"] = "Interstate 410",
["820"] = "Interstate 820",
default = {
hook = "split",
split = 100,
above = "Interstate %route% (Texas)",
below = "Interstate %route% in Texas"
}
}
TX.IH = TX.I
for _,auxType in ipairs({"Alt", "Express", "Future", "Local", "Spur", "Temp", "Toll", "Truck"}) do
local spec = TX[" aux "][auxType]
for k, v in pairs(TX) do if k:find (auxType) then if k:find ("^I-") then
v.link = "Interstate %route% " .. spec.name .. suffix
end
end
end
TX["I-Toll"].shield = "Toll Texas Interstate Highway %route%.svg"
TX["I-Express"].shield = "%route% Express Lane free.svg"
TX["I-Express"].banner = ""
TX["I-Future"].shield = TX.I.shield
TX["I-Future"].link = TX.I.link
TX["I-Future"].banner = "Future plate blue.svg"
TX.BL.shieldmain = "Business Interstate %route% (TX).svg"
TX.BL.name = "Business " .. TX.I.name
TX.BL.link = "Interstate %route% Business" .. suffix
for k, v in pairs(TX) do if k:find ("^B%a") then
v.shieldmain = TX.BL.shieldmain
v.name = TX.BL.name
v.link = TX.BL.link
end
end
TX["I-Bus"]=TX.BL
TX.BLBS.shieldmain = {TX.BL.shield, TX.BS.shield}
-- US types
TX.US.name = "U.S. Highway %route%"
TX.US.link = "U.S. Route %route% in Texas"
for k, v in pairs(TX) do if k:find ("^US %d") then
v.name = TX.US.name
v.link = TX.US.link
end
end
for _,auxType in ipairs({"Alt", "Bus", "Byp", "City", "Conn", "Emerg", "Opt", "Scenic", "Spur", "Temp", "Toll", "Truck"}) do
local spec = TX[" aux "][auxType]
for k, v in pairs(TX) do if k:find (auxType) then if k:find ("^US") then
v.shieldmain = TX.US.shield
v.name = spec.name .. " " .. TX.US.name
v.link = TX.US.base .. " " .. spec.name .. suffix
v.abbr = TX.US.abbr .. " " .. spec.abbrsuffix
end
end
end
end
TX.UA = TX["US-Alt"]
TX.BU = TX["US-Bus"]
for _,year in ipairs({'1926', '1948', '1961'}) do
for _,auxType in ipairs({"Alt", "Bus", "Byp", "Conn", "Opt", "Scenic", "Spur", "Temp", "Truck"}) do
local type = "US " .. year
local spec = TX[" aux "][auxType]
TX[type .. "-" .. auxType] = {
shield = TX[type].shield,
shieldmain = TX[type].shieldmain,
name = spec.name .. " " .. TX[type].name,
link = TX[type].base .. " " .. spec.name .. suffix,
abbr = TX[type].abbr .. " " .. spec.abbrsuffix,
banner = spec.bannerprefix .. " plate " .. year .. ".svg",
aux = spec.aux,
width = "square"
}
end
end
TX["US-Bus"] = {
shield = TX.US.shield,
name = "Business " .. TX.US.name,
link = "U.S. Route %route% Business" .. suffix,
abbr = "Bus. " .. TX.US.abbr,
banner = "Business plate.svg", -- see SHSD p. 3-7 https://ftp.dot.state.tx.us/pub/txdot-info/trf/shsd/2012/section3.pdf
width = "expand",
aux = TX[" aux "]
}
TX["Bus-US"] = TX["US-Bus"]
TX["US-Alt-Bus"] = {
shield = TX.US.shield,
name = "Business " .. TX["US-Alt"].name,
link = "U.S. Route %route% Business Alternate" .. suffix,
abbr = "Bus. " .. TX["US-Alt"].abbr,
banner = "Business alternate plate.svg",
width = "expand",
aux = TX[" aux "].Alt
}
-- SH (main) types
TX.SH = {
shield = "Texas %route%.svg",
shieldmain = {
["249"] = {"Texas %route%.svg", "Tomball Tollway.svg"},
default = "Texas %route%.svg"
},
base = "Texas State Highway %route%",
name = "State Highway %route%",
link = "Texas State Highway %route%" .. suffix2,
abbr = "SH %route%"
}
TX.TX = TX.SH
for _,type in ipairs({"SH", "TX"}) do
for _,auxType in ipairs({"Alt", "Byp", "Conn", "Opt", "Scenic", "Spur", "Temp", "Truck"}) do
local spec = TX[" aux "][auxType]
TX[type .. "-" .. auxType] = {
shield = TX.SH.shield,
name = spec.name .. " " .. TX.SH.name,
link = TX.SH.base .. " " .. spec.name .. suffix2,
abbr = TX.SH.abbr .. " " .. spec.abbrsuffix,
banner = spec.bannerprefix .. " plate.svg",
aux = spec.aux,
width = "square"
}
end
end
TX["SH-Bus"] = {
shield = "Texas %route%.svg",
name = "Business " .. TX.SH.name,
link = "Texas State Highway %route% Business" .. suffix2,
abbr = "Bus. " .. TX.SH.abbr,
banner = "Business plate.svg",
aux = TX[" aux "],
width = "square"
}
TX["TX-Bus"] = TX["SH-Bus"]
TX["Bus-SH"] = TX["SH-Bus"]
TX["Bus-TX"] = TX["SH-Bus"]
TX["SH-Bus 1969"] = {
shield = "Texas Business %route%.svg",
name = TX["SH-Bus"].name,
link = TX["SH-Bus"].link,
abbr = TX["SH-Bus"].abbr,
}
TX["TX-Bus 1969"] = TX["SH-Bus 1969"]
for _,type in ipairs({"SH", "TX"}) do
for _,year in ipairs({"1917", "1935", "old"}) do
TX[type .. "-" .. year] = {
shield = format("Texas %%route%% %s.svg", year),
name = TX.SH.name,
link = TX.SH.link,
abbr = TX.SH.abbr,
width = "square"
}
end
end
end
TX["SH-old"].shield = "Old Texas %route%.svg"
TX["TX-old"].shield = TX["SH-old"].shield
-- Loop/Spur types
TX.Beltway = {
shield = "Texas Beltway %route%.svg",
shieldmain = {
hook = "pagename",
article = "Texas State Highway Beltway 8",
iftrue = {"Texas Beltway %route%.svg", "Sam Houston Tollway.svg"},
default = "Texas Beltway %route%.svg"
},
name = "State Highway Beltway %route%",
link = "Texas State Highway Beltway %route%",
abbr = "Beltway %route%"
}
TX.BW = TX.Beltway
TX.Loop = {
shield = "Texas Loop %route%.svg",
base = "Texas State Highway Loop %route%",
name = "State Highway Loop %route%",
link = {
default = "Texas State Highway Loop %route%" .. suffix2,
["1910"] = "Andrews Loop 1910"
},
abbr = "Loop %route%"}
TX.SL = TX.Loop
TX.Spur = {
shield = "Texas Spur %route%.svg",
base = "Texas State Highway Spur %route%",
name = "State Highway Spur %route%",
link = "Texas State Highway Spur %route%" .. suffix2,
abbr = "Spur %route%"
}
TX.SS = TX.Spur
-- FM/RM types
TX.FM = {
shield = "Texas FM %route%.svg",
name = "Farm to Market Road %route%",
base = "Farm to Market Road %route%",
link = "Farm to Market Road %route%",
abbr = "FM %route%"
}
TX.Farm = TX.FM
TX.RM = {
shield = "Texas RM %route%.svg",
base = "Ranch to Market Road %route%",
name = "Ranch to Market Road %route%",
link = "Ranch to Market Road %route%",
abbr = "RM %route%"
}
TX.Ranch = TX.RM
for _,type in ipairs({"FM", "RM"}) do
for _,year in ipairs({"1956"}) do
TX[type .. "-" .. year] = {
shield = format("Texas %s %%route%% (%s).svg", type, year),
name = TX[type].name,
link = TX[type].link,
abbr = TX[type].abbr,
width = "square"
}
end
end
TX["FM 1956"] = TX["FM-1956"]
for _,type in ipairs({"FM", "RM"}) do
for _,auxType in ipairs({"Bus", "Loop", "Spur"}) do
local spec = TX[" aux "][auxType]
TX[type .. "-" .. auxType] = {
name = TX[type].name .. " " .. spec.name,
link = TX[type].base .. " " .. spec.name .. suffix2,
abbr = type .. " " .. spec.abbrsuffix .. " %route%",
aux = spec.aux,
width = "square"
}
end
end
TX["FM-Bus"].shield = "Texas Business FM %route%.svg"
TX["FM-Loop"].shield = TX.Loop.shield
TX["FM-Spur"].shield = TX.Spur.shield
-- Misc SH types --
TX.Park = {
shield = "Texas Park Road %route%.svg",
link = "Texas Park Road %route%",
abbr = "PR %route%",
color = "hist"
}
TX.PR = TX.Park
TX.NASA = {
shield = "Texas NASA Road %route%.svg",
name = "NASA Road %route%",
link = "NASA Road %route%",
abbr = "NASA %route%"
}
TX.RR = {
shield = "Texas RM %route%.svg",
name = "Ranch Road %route%",
link = "Ranch Road %route%",
abbr = "RR %route%"
}
TX.RE = {
shield = "Texas Recreational Road %route%.svg",
name = "Recreational Road %route%",
link = "Texas Recreational Road %route%",
abbr = "RE %route%",
color = "hist",
bannersuffix = "brown"
}
TX["RE-Spur"] = {
shield = TX.Spur.shield,
name = TX.RE.name .. " Spur",
link = TX.RE.name .. " Spur",
abbr = "RE Spur %route%",
color = "hist",
aux = TX[" aux "].Spur,
}
TX.PA = {
shield = {
ifexists = true,
default = "Texas PA %route%.svg",
otherwise = ""
},
name = "Principal Arterial Road %route%",
link = "Texas Principal Arterial Road %route%",
abbr = "PA %route%"
}
-- add new types above this line if you want it to have the state highway browse and maint
for k, v in pairs(TX) do if k:find ("^%a") then
v.maint = "[[Texas Department of Transportation|TxDOT]]"
end
end
for k, v in pairs(TX) do if k:find ("%d") then
v.maint = "[[Texas State Highway Department]]"
end
end
TX.INTL = {
shield = "Texas Spur 97.svg",
name = "International Parkway",
link = "International Parkway",
abbr = "International Parkway"
}
TX.IP = TX.INTL
local tollAbbrs = {
default = TX.SH.abbr .. " Toll",
Hardy = "Hardy Toll Road",
HTR = "Hardy Toll Road",
["Sam Houston"] = "Sam Houston Tollway",
SHT = "Sam Houston Tollway",
Tomball = "Tomball Tollway",
TBT = "Tomball Tollway",
Westpark = "Westpark Tollway",
WPT = "Westpark Tollway",
CTP = "Chisholm Trail Parkway",
DNT = "Dallas North Tollway",
PGBT = "Pres. George Bush Turnpike",
SRT = "Sam Rayburn Tollway",
FBT = "Fort Bend Tollway",
FBPTR = "Fort Bend Parkway Toll Road", --is Tollroad one word as signed on SH 6?
["Fort Bend Westpark"] = "Fort Bend Westpark Tollway",
FBWPT = "Fort Bend Westpark Tollway",
KFML = "I-10 Toll (Katy Tollway)",
["1"] = "Loop %route% Toll",
["49"] = "Loop %route% Toll",
["71"] = "71 Toll Lanes",
["183"] = "183 Toll Road",
["183A"] = "183A Toll Road",
["290"] = "290 Toll Road"
}
--Toll maint
local BCTRA = "Brazoria County Toll Road Authority"
local CTRMA = "[[Central Texas Regional Mobility Authority]]"
local CTTP = "Central Texas Turnpike Project"
local FBCTRA = "[[Fort Bend County Toll Road Authority]]"
local HCTRA = "[[Harris County Toll Road Authority]]"
local MCTRA = "[[Montgomery County Toll Road Authority]]"
local NETRMA = "[[North East Texas Regional Mobility Authority]]"
local NTTA = "[[North Texas Tollway Authority]]"
-- Toll types
TX.Toll = {
shield = {
default = "Toll Texas %route% new.svg",
Hardy = "Hardy Toll Road.svg",
HTR = "Hardy Toll Road.svg",
["Sam Houston"] = "Sam Houston Tollway.svg",
SHT = "Sam Houston Tollway.svg",
Tomball = "Tomball Tollway.svg",
TBT = "Tomball Tollway.svg",
Westpark = "Westpark Tollway.svg",
WPT = "Westpark Tollway.svg",
FBT = "Fort Bend Toll Road.svg",
FBPTR = "",
["Fort Bend Westpark"] = "",
FBWPT = "",
KFML= "Toll Texas Interstate Highway 10.svg",
["71"] = "71 Toll Lane free.svg",
["183"] = "183 Toll Road free.svg",
["183A"] = "183A Toll Road free.svg",
["290"] = "290 Toll Road free.svg"
},
shieldmain = {
default = "Toll Texas %route% new.svg",
Hardy = "Hardy Toll Road.svg",
HTR = "Hardy Toll Road.svg",
["Sam Houston"] = "Sam Houston Tollway.svg",
SHT = "Sam Houston Tollway.svg",
Tomball = "Tomball Tollway.svg",
TBT = "Tomball Tollway.svg",
Westpark = {
hook = "pagename",
article = "Westpark Tollway",
iftrue = {"Fort Bend Westpark Tollway logo.png", "Westpark Tollway.svg"},
default = "Westpark Tollway.svg"
},
WPT = {
hook = "pagename",
article = "Westpark Tollway",
iftrue = {"Fort Bend Westpark Tollway logo.png", "Westpark Tollway.svg"},
default = "Westpark Tollway.svg"
},
FBT = {
hook = "pagename",
article = "Fort Bend Parkway",
iftrue = {"Fort Bend Parkway Toll Road logo.png", "Fort Bend Toll Road.svg"},
default = "Fort Bend Toll Road.svg"
},
FBPTR = {
hook = "pagename",
article = "Fort Bend Parkway",
iftrue = {"Fort Bend Parkway Toll Road logo.png", "Fort Bend Toll Road.svg"},
default = "Fort Bend Toll Road.svg"
},
["Fort Bend Westpark"] = {
hook = "pagename",
article = "Westpark Tollway",
iftrue = {"Fort Bend Westpark Tollway logo.png", "Westpark Tollway.svg"},
default = "Westpark Tollway.svg"
},
FBWPT = {
hook = "pagename",
article = "Westpark Tollway",
iftrue = {"Fort Bend Westpark Tollway logo.png", "Westpark Tollway.svg"},
default = "Westpark Tollway.svg"
},
CTP = "Toll Texas Chisholm Trail Parkway.svg",
DNT = "Toll Texas Dallas North Tollway.svg",
PGBT = "Toll Texas President George Bush Turnpike.svg",
SRT = "Toll Texas Sam Rayburn Tollway.svg",
KFML= "Toll Texas Interstate Highway 10.svg",
["71"] = "71 Toll Lane.svg", -- also has free version
["183"] = "183 Toll Road.svg", -- also has free version
["183A"] = "183A Toll Road.svg", -- also has free version
["290"] = "290 Toll Road.svg" -- also has free version
},
name = tollAbbrs,
link = {
default = TX.SH.link,
Hardy = "Hardy Toll Road",
HTR = "Hardy Toll Road",
["Sam Houston"] = "Sam Houston Tollway",
SHT = "Sam Houston Tollway",
Tomball = "Tomball Tollway",
TBT = "Tomball Tollway",
Westpark = "Westpark Tollway",
WPT = "Westpark Tollway",
CTP = "Chisholm Trail Parkway",
DNT = "Dallas North Tollway",
PGBT = "President George Bush Turnpike",
SRT = "Sam Rayburn Tollway",
FBT = "Fort Bend Tollway",
FBPTR = "Fort Bend Parkway Toll Road",
["Fort Bend Westpark"] = "Fort Bend Westpark Tollway",
FBWPT = "Fort Bend Westpark Tollway",
KFML = "Katy Tollway",
["1"] = TX.Loop.link,
["49"] = TX.Loop.link,
["71"] = "71 Toll Lanes",
["183"] = "183 Toll Road",
["183A"] = "183A Toll Road",
["290"] = "290 Toll Road"
},
abbr = tollAbbrs,
bannersuffix = {
default = "blue",
["Sam Houston"] = "HCTRA",
SHT = "HCTRA",
Westpark = "HCTRA",
WPT = "HCTRA",
Tomball = "HCTRA",
TBT = "HCTRA",
["Fort Bend Westpark"] = "HCTRA",
FBWPT = "HCTRA",
Hardy = "HCTRA",
HTR = "HCTRA",
FBT = "HCTRA",
FBPTR = "HCTRA"
},
orientation = "upright",
maint = {
default = "",
Hardy = HCTRA,
HTR = HCTRA,
["Sam Houston"] = HCTRA,
SHT = HCTRA,
Tomball = HCTRA,
TBT = HCTRA,
Westpark = FBCTRA .. " and " .. HCTRA,
WPT = FBCTRA .. " and " .. HCTRA,
CTP = NTTA,
DNT = NTTA,
PGBT = NTTA,
SRT = NTTA,
FBT = FBCTRA .. " and " .. HCTRA,
FBPTR = FBCTRA .. " and " .. HCTRA,
["Fort Bend Westpark"] = FBCTRA .. " and " .. HCTRA,
FBWPT = FBCTRA .. " and " .. HCTRA,
KFML = HCTRA,
["1"] = CTTP,
["45"] = CTTP,
["49"] = NETRMA,
["71"] = CTRMA,
["130"] = CTTP,
["183"] = CTRMA,
["183A"] = CTRMA,
["249"] = MCTRA,
["288"] = BCTRA .. " and " .. TX.SH.maint,
["290"] = CTRMA,
["360"] = NTTA,
["375"] = "Camino Real Regional Mobility Authority",
["550"] = "Cameron County Regional Mobility Authority",
}
}
TX.Both = {
shield = {"Texas %route%.svg", "Toll Texas %route% new.svg"},
name = TX.SH.name,
link = TX.SH.link,
abbr = TX.SH.abbr,
width = 40,
bannersuffix = {"", "blue"}
}
TX.AATT = {
shield = "Toll Texas AATT new.svg",
shieldmain = "Toll Texas Addison Airport Toll Tunnel.svg",
name = "Addison Airport Toll Tunnel",
link = "Addison Airport Toll Tunnel",
abbr = "Addison Airport Toll Tunnel",
orientation = "upright",
bannersuffix = "blue",
maint = NTTA
}
TX.DFW = {
shield = "DFW Turnpike Shield.svg",
name = "Dallas-Fort Worth Turnpike",
link = "Dallas-Fort Worth Turnpike",
abbr = "D/FW Turnpike"
}
TX.LLTB = {
shield = "Toll Texas LLTB new.svg",
shieldmain = "Toll Texas Lewisville Lake Toll Bridge.svg",
name = "Lewisville Lake Toll Bridge",
link = "Lewisville Lake Toll Bridge",
abbr = "Lewisville Lake Toll Bridge",
orientation = "upright",
bannersuffix = "blue",
maint = NTTA
}
TX.MCLB = {
shield = "Toll Texas MCLB new.svg",
shieldmain = "Toll Texas Mountain Creek Lake Bridge.svg",
name = "Mountain Creek Lake Bridge",
link = "Mountain Creek Lake Bridge",
abbr = "Mountain Creek Lake Bridge",
orientation = "upright",
bannersuffix = "blue",
maint = NTTA
}
TX["SH-Express"] = {
shield = "%route% Express Lane free.svg",
name = TX.SH.name .. " Express ",
link = TX.SH.base .. " Express ".. suffix2,
abbr = TX.SH.abbr .. " Express",
banner = "",
maint = {
default = NTTA,
["1"] = CTTP
}
}
TX["Loop Dual"] = {
shield = {"Texas Loop %route%.svg", "Toll Texas %route% new.svg"},
shieldmain = {"Texas Loop %route%.svg", "Toll Texas %route% new.svg"},
name = TX.Loop.name,
link = TX.Loop.link,
abbr = TX.Loop.abbr
}
TX["Loop-Express"] = {
shield = {
default = TX.Loop.shield, --actually has a special variant of the toll shield http://maps.google.com/maps?ll=32.820965,-97.201688&spn=0.012929,0.024784&t=m&z=16&layer=c&cbll=32.820896,-97.205511&panoid=coL0_PX6xfY9Ia3Rkrr8cA&cbp=12,353.63,,1,-8.72
["1"] = "1 Express Lane free.svg"
},
name = "Loop %route% Express",
link = TX.Loop.base .. " Express ".. suffix2,
abbr = TX.Loop.abbr .. " Express",
banner = "",
bannersuffix = "blue",
maint = {
default = "",
["1"] = CTRMA
}
}
TX["SL-Express"] = TX["Loop-Express"]
TX.CR.shield = {
arg = "county",
default = "",
Brazoria = "Generic green square county %route%.svg"
}
TX.CR.maint = ""
TX.CR.browse = ""
TX.CR.browselinks = ""
TX.MEX = {alias = {module = "MEX", type = "FH"}}
TX["I-AR"] = {alias = {module = "USA/AR", type = "I"}}
TX["US-AR"] = {alias = {module = "USA/AR", type = "US"}}
TX.AR = {alias = {module = "USA/AR", type = "AR"}}
TX.LA = {alias = {module = "USA/LA", type = "LA"}}
TX.OK = {alias = {module = "USA/OK", type = "SH"}}
TX.NM = {alias = {module = "USA/NM", type = "NM"}}
return TX