World Library  
Flag as Inappropriate
Email this Article

New Zealand State Highway 20

Article Id: WHEBN0009457834
Reproduction Date:

Title: New Zealand State Highway 20  
Author: World Heritage Encyclopedia
Language: English
Subject: Auckland Southern Motorway, New Zealand State Highway 18, Transport in Auckland, Manukau, New Zealand State Highway 43
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

New Zealand State Highway 20

Southwestern Motorway
Route information
Maintained by New Zealand Transport Agency
Length: 19 km (12 mi)
Existed: 1977 – present
Major junctions
South end: SH 1 Southern Motorway at Manukau City Centre
  SH 20B at Puhinui
SH 20A at Mangere
North end: Sandringham Road/Maioro Street at Mount Roskill
Highway system
SH 18 SH 21
}|}}|}}}|yes|1|0}}|0}}+

}|{{#ifeq:{{Infobox road/hide/regions

Aerial view of the interchange between SH20 (diagonal from bottom left to upper right) and SH20A towards the airport (towards bottom right).

State Highway 20, also known as the Southwestern Motorway, is a New Zealand State Highway linking State Highway 1 at Manukau City Centre with Mount Roskill, via Mangere and Onehunga. Along with its spurs, State Highway 20A and 20B, the state highway serves Auckland Airport, the country's largest, therefore making State Highway 20 a key arterial route connecting the airport to the wider Auckland region and most of the upper North Island. The route also forms the southern part of the Western Ring Route, a 48 km motorway route bypassing central Auckland.

Route

SH 20 stretches from the Auckland Southern Motorway / New Zealand State Highway 1 at Manukau to Sandringham Road, Sandringham, in Auckland City. From south to north the motorway passes through, or adjacent to, the suburbs of Wiri, Mangere, Onehunga, Hillsborough and Mount Roskill.

The motorway (and SH 20) currently terminates at Maioro Street. The planned final terminus will be the Northwest Motorway / New Zealand State Highway 16 via the Waterview Connection scheduled to open in 2017.[1]

Airport connection

SH 20, SH 20A, and SH 20B form an almost triangular shape between the Puhinui Interchange of the Southwestern Motorway, Auckland International Airport, and the SH 20/SH 20A motorway junction. The Southwestern Motorway bypasses Auckland International Airport, with spurs SH 20A from the north and SH 20B from the east both providing airport access.

SH 20B leaves SH 20 at the Cavendish Dr/Puhinui Rd/Roscommon Rd Interchange of the Southwestern Motorway and travels west along Puhinui Road to the airport. SH 20B officially terminates at the intersection with Orrs Road. SH20A leaves the Southwestern Motorway in Mangere and travels south along an additional stretch of motorway, commonly referred to as the "Airport Motorway". The motorway terminates at Kirkbride Road, and traffic continues on SH 20A terminating just north of the roundabout with Verissimo Drive. From there the road continues south to the airport. NZTA are currently planning to turn SH 20A into a motorway for its entire length by turning the intersection at Kirkbride Road (and a known black spot) into a grade-separated intersection.

History

The first section of what would become the Southwestern Motorway was the Onehunga Bypass from Queenstown Road, Hillsborough to Neilson Street, Onehunga but the start of the motorway proper was not completed until 1983 when the bypass was connected through the new Mangere Bridge to Coronation Road, Mangere.

The northern section was extended first to Hillsborough Road, then to Hayr Road, then to Maioro Street, the last section opening on 15 May 2009.[2]

The southern section was extended to Puhinui Road in 1997, along with the extensions SH20A and SH20B connecting to Auckland International Airport. The final southern section connecting Puhinui Road to State Highway 1 at Manukau was completed in 2010.[3] A duplication of Mangere Bridge, with future provision for rail, was also opened in 2010.[4]

Future

The final section of the Southwestern Motorway, the Waterview Connection, will connect the current western terminus of State Highway 20 at Maioro Street with State Highway 16 at the Great North Road Interchange. Construction of this section began in 2012 and is due for completion in 2017.[1]

Proposals to upgrade State Highway 20A as part of a general route upgrade to the airport have been floated in a number of studies.

Exit list

Territorial authority Location km Exit Destinations Notes
Former Current (from 1 Nov 2010)[5]
Manukau City AucklandOtara-Papatoetoe/Manurewa Boards Manukau CBD 0.0 SH 1 Southern Motorway south — Hamilton, Tauranga SH 20 and Southwest Motorway end
1 SH 1 Southern Motorway north — Auckland
2 Lambie Drive — Manukau, Wiri
Puhinui 3 Route 30 Cavendish Drive/Roscommon Road - Manukau, Wiri No southbound exit (use Puhinui Road)
Northbound entrance and connection to SH 20B and
AucklandOtara-Papatoetoe Board Puhinui 3 SH 20B Puhinui Road — Airport, Papatoetoe No northbound exit (use Cavendish Drive)
Southbound entrance and connection to SH 20B and
AucklandMangere-Otahuhu Board Mangere 7 Route 14 Massey Road - Mangere
9 SH 20A — Airport No southbound entrance (use SH20B or Massey Road)
Carriageway mainline connects north to west, traffic proceeding from/to south on motorway must 'exit'.
10 Walmsley Road Southbound
Coronation Road Northbound
Mangere Bridge 12 Mahunga Drive — Mangere Bridge Southbound exit and northbound entrance
Mangere Bridge over Manukau Harbour
Auckland City AucklandMaungakiekie-Tāmaki Board Onehunga
13 Neilson Street — Onehunga Wharf, Onehunga, Penrose, Mt Wellington
AucklandMaungakiekie-Tāmaki/Puketapapa Boards Hillsborough 15 Route 12 Queenstown Road — Epsom, Royal Oak, Auckland CBD Northbound exit and southbound entrance
AucklandPuketapapa Board 16 Route 15 Hillsborough Road - Hillsborough, Blockhouse Bay
Mount Roskill 18 Route 4 Dominion Road - Mount Roskill
19.7 Maioro Street - New Lynn, Sandringham SH 20 and Southwest Motorway end
1.000 mi = 1.609 km; 1.000 km = 0.621 mi

See also

References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^ a b Auckland Motorways - The Waterview Connection
  2. ^
  3. ^ Auckland Motorways - Manukau Extension
  4. ^
  5. ^

External links

  • "Mangere Bridge Opened Today". The New Zealand Herald. 25 July 2010. Retrieved 1 August 2010.


This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.