模板:Infobox Settlement:修订间差异

来自悠日計画 維基百科 ~ Yuuni Wiki
导入1个版本
无编辑摘要
第1行: 第1行:
--
<templatestyles src="ShareCSS/infobox.css" />{{Infobox
-- This template will implement {{Infobox settlement}}
| child = {{yesno|{{{embed|}}}}}
--
| bodyclass = geography vcard
local p = {}
| bodystyle = width:23em
local math_module = require( "Module:Math" )
local precision = math_module._precision
local infobox_module = require('Module:Infobox')
local image_module = require('Module:InfoboxImage')
local locationmap_module = require('Module:Location map')


local function isnotempty(s)
| headerstyle = text-align:left
return s and s:match( '^%s*(.-)%s*$' ) ~= ''
end


local function firstnonempty(s)
| abovestyle = font-size:1.25em; white-space:nowrap
for i=1,#s do
| {{#ifeq:{{yesno|{{{embed|}}}}}|yes|title|above}} = {{#ifeq:{{yesno|{{{embed|}}}}}|yes|
if (s[i] and s[i]:match( '^%s*(.-)%s*$' ) ~= '') then
    |<span class="fn org">{{if empty|{{{name|}}}|{{{official_name|}}}|{{PAGENAMEBASE}}}}</span>
return s[i]
    }}{{#if:{{{native_name|}}}|<br /><span class="nickname" {{#if:{{{native_name_lang|}}}|lang="{{{native_name_lang}}}"}}>{{{native_name}}}</span>}}{{#if:{{{other_name|}}}|<br /><span class="nickname" style="font-size:78%">{{{other_name}}}</span>}}
end
end
return ''
end


local function yesno(s, yes, no, ukn, blank)
<!--** names, type, and transliterations ** -->
-- this function implements yesno
local vals = {['yes'] = 1, ['y'] = 1, ['1'] = 1, ['no'] = 0, ['n'] = 0, ['0'] = 0}
if( s and s:match( '^%s*(.-)%s*$' ) ~= '') then
local outval = vals(s:lower())
if( outval == nil ) then
return ukn
else
return (outval == 1) and yes or no
end
else
return blank
end
end


local function rnd(num, digits)
| subheaderstyle = background-color:#cddeff; font-weight:bold;
-- This function implements {{rnd}}
| subheader = {{#if:{{both|{{{name|}}}{{{official_name|}}}{{#ifeq:{{yesno|{{{embed|}}}}}|yes|1}}|{{{settlement_type|{{{type|}}}}}}}}|<span class="category">{{{settlement_type|{{{type}}}}}}</span>}}
return math_module._precision_format(tostring(num), tostring(digits))
end


local function order_of_magnitude(num)
| rowclass1 = mergedtoprow
-- This function partially implements {{Order of magnitude}}
| rowcellstyle1 = font-weight:bold;
    if( num ) then
| data1 = {{#if:{{{name|}}}|{{{official_name|}}}}}
num = math.abs(num)
if( num == 0 ) then
return 0
else
return math.floor( math.log10(num) )
end
else
return 0
end
end


local function page_exists( title )
<!-- ***Transliteration language 1*** -->
    -- This function implements #ifexist
| rowclass2 = mergedtoprow
    local noError, titleObject = pcall(mw.title.new, title)
| header2 = {{#if:{{{translit_lang1|}}}|{{{translit_lang1}}}轉寫}}
    if not noError then
        return false
    else
        if titleObject then
            return titleObject.exists
        else
            return false
        end
    end
end


local function link(pagelink, linktext, name)
| rowclass3 = {{#if:{{{translit_lang1_type1|}}}|mergedrow|mergedbottomrow}}
    -- This function implements {{Infobox settlement/link}}
| label3 = &nbsp;•&nbsp;{{{translit_lang1_type}}}
    pagelink = pagelink or ''
| data3 = {{#if:{{{translit_lang1|}}}|{{#if:{{{translit_lang1_type|}}}|{{{translit_lang1_info|}}}}}}}
    linktext = linktext or ''
    name    = name or ''
   
    if( pagelink ~= '' ) then
        -- use "[[pagelink|linktext]]"
        return string.format('[[%s|%s]]', pagelink, linktext)
    else
        -- try "[[linktext of PAGENAME|linktext]]"
        pagelink = string.format('%s of %s',linktext, mw.title.getCurrentTitle().text)
        if( page_exists( pagelink ) ) then
            return string.format('[[%s|%s]]', pagelink, linktext)
        elseif( name ~= '' ) then
            -- try "[[linktext of name|linktext]]"
            pagelink = string.format('%s of %s', linktext, name)
            if( page_exists(pagelink) ) then
              return string.format('[[%s|%s]]', pagelink, linktext)
            end
        end
    end


    return linktext
| rowclass4 = {{#if:{{{translit_lang1_type2|}}}|mergedrow|mergedbottomrow}}
end
| label4 = &nbsp;•&nbsp;{{{translit_lang1_type1}}}
| data4 = {{#if:{{{translit_lang1|}}}|{{#if:{{{translit_lang1_type1|}}}|{{{translit_lang1_info1|}}}}}}}


local function columns(cell1, cell2, cell3, cell4)
| rowclass5 = {{#if:{{{translit_lang1_type3|}}}|mergedrow|mergedbottomrow}}
    --- This function implements {{Infobox settlement/columns}} with no cell0
| label5 =&nbsp;•&nbsp;{{{translit_lang1_type2}}}
    local function makecell( c1 )
| data5 = {{#if:{{{translit_lang1|}}}|{{#if:{{{translit_lang1_type2|}}}|{{{translit_lang1_info2|}}}}}}}
        if isnotempty(c1) then
local root = mw.html.create('td')
root:attr('align', 'center')
:css('vertical-align', 'middle')
:wikitext(c1)
            return tostring(root)
        end
        return ''
    end
   
    local function makerow( c1, c2 )
        local root = mw.html.create('')
        if isnotempty(c1) then
            if isnotempty(c2) then
            root:tag('td')
:attr('align', 'center')
:css('vertical-align', 'middle')
:wikitext(c1)
root:tag('td')
:attr('align', 'center')
:css('vertical-align', 'middle')
:wikitext(c2)
            else
            root:tag('td')
:attr('colspan', '2')
:attr('align', 'center')
:css('vertical-align', 'middle')
:wikitext(c1)
            end
        elseif isnotempty(c2) then
root:tag('td')
:attr('colspan', '2')
:attr('align', 'center')
:css('vertical-align', 'middle')
:wikitext(c2)
        end
        return tostring(root)
    end
   
    local count = 0
    count = count + (isnotempty(cell1) and 1 or 0)
    count = count + (isnotempty(cell2) and 1 or 0)
    count = count + (isnotempty(cell3) and 1 or 0)
    count = count + (isnotempty(cell4) and 1 or 0)


    if(count > 0) then
| rowclass6 = {{#if:{{{translit_lang1_type4|}}}|mergedrow|mergedbottomrow}}
local root = mw.html.create('table')
| label6 = &nbsp;•&nbsp;{{{translit_lang1_type3}}}
root:css('width', '100%')
| data6 = {{#if:{{{translit_lang1|}}}|{{#if:{{{translit_lang1_type3|}}}|{{{translit_lang1_info3|}}}}}}}
:css('background', 'transparent')
if(count > 2) then
root:tag('tr')
:wikitext(makerow(cell1, cell2))
root:tag('tr')
:wikitext(makerow(cell3, cell4))
else
root:tag('tr')
:wikitext(makecell(cell1))
:wikitext(makecell(cell2))
:wikitext(makecell(cell3))
:wikitext(makecell(cell4))
end
return tostring(root)
else
return ''
end
end


local function columns2(cell0, cell1, cell2, cell3, cell4, cell5)
| rowclass7 = {{#if:{{{translit_lang1_type5|}}}|mergedrow|mergedbottomrow}}
    -- This function implements {{Infobox settlement/columns}} with cell0
| label7 = &nbsp;•&nbsp;{{{translit_lang1_type4}}}
    local function makerow( c1 )
| data7 = {{#if:{{{translit_lang1|}}}|{{#if:{{{translit_lang1_type4|}}}|{{{translit_lang1_info4|}}}}}}}
if isnotempty(c1) then
local root = mw.html.create('tr')
root:tag('td')
:attr('align', 'center')
:css('style', 'vertical-align:middle')
:wikitext(c1)
return tostring(root)
else
return ''
end
end
   
local count = 0
count = count + (isnotempty(cell1) and 1 or 0)
count = count + (isnotempty(cell2) and 1 or 0)
count = count + (isnotempty(cell3) and 1 or 0)
count = count + (isnotempty(cell4) and 1 or 0)
count = count + (isnotempty(cell5) and 1 or 0)


if(count > 0) then
| rowclass8 = {{#if:{{{translit_lang1_type6|}}}|mergedrow|mergedbottomrow}}
local root = mw.html.create('table')
| label8 = &nbsp;•&nbsp;{{{translit_lang1_type5}}}
root:css('width', '100%')
| data8 = {{#if:{{{translit_lang1|}}}|{{#if:{{{translit_lang1_type5|}}}|{{{translit_lang1_info5|}}}}}}}
:css('background', 'transparent')
local row = root:tag('tr')
row
:tag('td')
:tag('table')
:css('width', '100%')
:css('background', 'transparent')
:wikitext(makerow(cell1))
:wikitext(makerow(cell2))
:wikitext(makerow(cell3))
:wikitext(makerow(cell4))
:wikitext(makerow(cell5))
        if isnotempty(cell0) then
row
:tag('td')
:attr('align', 'center')
:css('vertical-align', 'top')
:wikitext(cell0)
end
return tostring(root)
else
return cell0
end
end


local function translitlangbox(transtype, transinfo)
| rowclass9 = mergedbottomrow
local args = {}
| label9 = &nbsp;•&nbsp;{{{translit_lang1_type6}}}
args['child'] = 'yes'
| data9 = {{#if:{{{translit_lang1|}}}|{{#if:{{{translit_lang1_type6|}}}|{{{translit_lang1_info6|}}}}}}}
local count = 0
for i=0,6 do
if(isnotempty(transinfo[i]) and isnotempty(transtype[i])) then
args['rowclass' .. tostring(i+1)] = isnotempty(transtype[i+1]) and 'mergedrow' or 'mergedbottomrow'
args['label' .. tostring(i+1)] = '&nbsp;•&nbsp;' .. transtype[i]
args['data' .. tostring(i+1)] = transinfo[i]
count = count + 1
end
end
return ( count > 0 ) and args or nil
end


local function unitpref(pref, region, unit_type)
<!-- ***Transliteration language 2*** -->
    -- This function implements {{Infobox settlement/pref}}
| rowclass10 = mergedtoprow
    local pref_impus = { ['imperial'] = 1, ['english'] = 1, ['uk'] = 1, ['us'] = 1,
| header10 = {{#if:{{{translit_lang2|}}}|{{{translit_lang2}}}轉寫}}
        ['u.s.'] = 1, ['standard'] = 1, ['us customary'] = 1, ['u.s. customary'] = 1}
    local pr = (pref and pref:lower()) or ''
    local r = region or ''
    local u = unit_type or ''


    pr = mw.ustring.gsub(pr, '^%s*([a-z].*[a-z\.])%s*$','%1')
| rowclass11 = {{#if:{{{translit_lang2_type1|}}}|mergedrow|mergedbottomrow}}
| label11 = &nbsp;•&nbsp;{{{translit_lang2_type}}}
| data11 = {{#if:{{{translit_lang2|}}}|{{#if:{{{translit_lang2_type|}}}|{{{translit_lang2_info|}}}}}}}


    if( pref_impus[pr] ) then
| rowclass12 = {{#if:{{{translit_lang2_type2|}}}|mergedrow|mergedbottomrow}}
        return 'impus'
| label12 = &nbsp;•&nbsp;{{{translit_lang2_type1}}}
    end
| data12 = {{#if:{{{translit_lang2|}}}|{{#if:{{{translit_lang2_type1|}}}|{{{translit_lang2_info1|}}}}}}}
    if( mw.ustring.match( r, 'United States' ) ) then
        return 'impus'
    end
    if( mw.ustring.match( r, 'United Kingdom' ) ) then
        return 'impus'
    end
    if( (u .. '_' .. pr ) == 'area_dunam' ) then
        return 'dunam'
    end
   
    return 'metric'
end


local function areadisp(frame, pref, name, mag, ha, km2, sqmi, acre, dunam, percent, link)
| rowclass13 = {{#if:{{{translit_lang2_type3|}}}|mergedrow|mergedbottomrow}}
    -- This function implements {{Infobox settlement/areadisp}}
| label13 =&nbsp;•&nbsp;{{{translit_lang2_type2}}}
    local function formatnum(num)
| data13 = {{#if:{{{translit_lang2|}}}|{{#if:{{{translit_lang2_type2|}}}|{{{translit_lang2_info2|}}}}}}}
        return frame:callParserFunction{ name = 'formatnum', args = num }
    end
   
    local metv, metu = '', ''
    local impv, impu = '', ''
    local dunv, dunu = '', ''
    local lstr1, lstr2 = '', ''
    local rndv = 0
   
    pref = pref or ''
    name = name or ''
    mag = mag or ''
    ha = ha or ''
    km2 = km2 or ''
    sqmi = sqmi or ''
    acre = acre or ''
    dunam = dunam or ''
    percent = percent or ''
    link = link or ''
   
    if ( ha ~= '' ) then
        metv = formatnum( ha )
        metu = 'ha'
    elseif ( km2 ~= '' ) then
        metv = formatnum( km2 )
        metu = 'km<sup>2</sup>'
    elseif ( dunam ~= '' ) then
        if (tonumber(dunam) < 1E3) then
            -- convert dunams to hectares
            metv = dunam/10
            metu = 'ha'
            rndv = precision(dunam)+1
            metv = rnd(metv,rndv)
        else
            -- convert dunams to square kilometers
            metv = dunam/1000
            metu = 'km<sup>2</sup>'
            rndv = precision(dunam)+3
            metv = rnd(metv,rndv)
        end
    elseif( acre ~= '' ) then
        -- convert acres to hectares
        metv = acre*0.4046856422
        metu = 'ha'
        rndv = math.max(precision(acre),-1*order_of_magnitude(metv))
        metv = rnd(metv,rndv)
    elseif( sqmi ~= '' ) then
        -- convert sqmi to km2
        metv = sqmi*2.589988110336
        metu = 'km<sup>2</sup>'
        rndv = math.max(precision(sqmi)-1,-1*order_of_magnitude(metv))
        metv = rnd(metv,rndv)
    end


    if ( acre ~= '' ) then
| rowclass14 = {{#if:{{{translit_lang2_type4|}}}|mergedrow|mergedbottomrow}}
        impv = formatnum( acre )
| label14 = &nbsp;&nbsp;{{{translit_lang2_type3}}}
        impu = 'acre'
| data14 = {{#if:{{{translit_lang2|}}}|{{#if:{{{translit_lang2_type3|}}}|{{{translit_lang2_info3|}}}}}}}
    elseif ( sqmi ~= '' ) then
        impv = formatnum( sqmi )
        impu = 'sq&nbsp;mi'
    elseif (ha ~= '' ) then
        -- convert hectares to acres
        impv = ha/0.4046856422
        impu = 'acre'
        rndv = precision(ha)
        impv = rnd(impv,rndv)
    elseif (km2 ~= '' ) then
        -- convert square kilometres to square miles
        impv = km2/2.589988110336
        impu = 'sq&nbsp;mi'
        rndv = math.max(precision(km2),-1*order_of_magnitude(impv))
        impv = rnd(impv,rndv)
    elseif (dunam ~= '' ) then
        if (tonumber(dunam) < 2589) then
            -- convert dunams to acres
            impv = dunam/4.046856422
            impu = 'acre'
            rndv = math.max(precision(dunam),-1*order_of_magnitude(impv))
            impv = rnd(impv,rndv)
        else
            -- convert dunams to square miles
            impv = dunam/2589.988110336
            impu = 'sq&nbsp;mi'
            rndv = math.max(precision(dunam)+3,-1*order_of_magnitude(impv))
            impv = rnd(impv,rndv)
        end
    end


    if( mw.ustring.match(pref:lower(), '^%s*dunam%s*$') and (dunam == '') ) then
| rowclass15 = {{#if:{{{translit_lang2_type5|}}}|mergedrow|mergedbottomrow}}
        if( km2 ~= '' ) then
| label15 = &nbsp;&nbsp;{{{translit_lang2_type4}}}
            -- convert square kilometres to dunams
| data15 = {{#if:{{{translit_lang2|}}}|{{#if:{{{translit_lang2_type4|}}}|{{{translit_lang2_info4|}}}}}}}
            dunv = km2*1000
            rndv = precision(km2)-3
            dunv = rnd(dunv,rndv)
        elseif( ha ~= '' ) then
            -- convert hectares to dunams
            dunv = ha*10
            rndv = precision(ha)-1
            dunv = rnd(dunv,rndv)
        elseif( sqmi ~= '' ) then
            -- convert square miles to dunams
            dunv = sqmi*2589.988110336
            rndv = math.max(precision(sqmi)-4,-1*order_of_magnitude(dunv))
            dunv = rnd(dunv,rndv)
        elseif( acre ~= '' ) then
            -- convert acres to dunams
            dunv = acre*4.046856422
            rndv = math.max(precision(acre)-1,-1*order_of_magnitude(dunv))
            dunv = rnd(dunv,rndv)
        end
    else
        dunv = formatnum( dunam )
    end
    if( link ~= '' ) then
        dunu = '[[dunum]]'
    else
        dunu = 'dunam'
    end
   
    if( (impu == 'acre') and (tonumber(impv) ~= 1) ) then
        impu = impu .. 's'
    end   
    if( tonumber(dunv) ~= 1 ) then
        dunu = dunu .. 's'
    end
   
    if( metv ~= '' and impv ~= '' ) then
        pref = unitpref(pref, name, 'area')
        if( percent ~= '' ) then
            percent = ' &nbsp;' .. percent .. '%'
        end
       
        if( mag ~= '' ) then
            if( metu == 'ha' ) then
                lstr1 = tostring( order_of_magnitude( metv * 1E4 ) )
            else
                lstr1 = tostring( order_of_magnitude( metv * 1E6 ) )
            end
            lstr1 = '[[1_E+' .. lstr1 .. '_m²|'
            lstr2 = ']]'
        end
 
        if( pref == 'impus' ) then
            return string.format('%s&nbsp;%s (%s%s&nbsp;%s%s)%s',
                impv, impu, lstr1, metv, metu, lstr2, percent)
        elseif ( pref == 'dunam' ) then
            return string.format('%s&nbsp;%s (%s%s&nbsp;%s%s&nbsp;or&nbsp;%s&nbsp;%s)%s',
                dunv, dunu, lstr1, metv, metu, lstr2, impv, impu, percent)
        else
            return string.format('%s%s&nbsp;%s%s (%s&nbsp;%s)%s',
                lstr1, metv, metu, lstr2, impv, impu, percent)
        end
    end
end


local function densdisp(frame, pref, name, perkm2, persqmi, pop, ha, km2, sqmi, acre, dunam)
| rowclass16 = {{#if:{{{translit_lang2_type6|}}}|mergedrow|mergedbottomrow}}
    -- This function implements {{Infobox settlement/densdisp}}
| label16 = &nbsp;•&nbsp;{{{translit_lang2_type5}}}
    local function numorzero( num )
| data16 = {{#if:{{{translit_lang2|}}}|{{#if:{{{translit_lang2_type5|}}}|{{{translit_lang2_info5|}}}}}}}
        num = num or ''
        num = tonumber(frame:callParserFunction{ name = 'formatnum', args = {num, 'R'}})
        if( num == nil ) then
            return 0
        else
            return num
        end
    end


    local function formatnum(num)
| rowclass17 = mergedbottomrow
        return frame:callParserFunction{ name = 'formatnum', args = num }
| label17 = &nbsp;•&nbsp;{{{translit_lang2_type6}}}
    end
| data17 = {{#if:{{{translit_lang2|}}}|{{#if:{{{translit_lang2_type6|}}}|{{{translit_lang2_info6|}}}}}}}
   
<!-- end ** names, type, and transliterations ** -->
    local function formatnumR(num)
        return frame:callParserFunction{ name = 'formatnum', args = {num, 'R'} }
    end


    local metv, metu = '', 'km<sup>2</sup>'
<!-- ***Skyline Image*** -->
    local impv, impu = '', 'sq&nbsp;mi'
| rowclass18 = mergedtoprow
    local rndv = 0
<!--| rowcellstyle18 = padding:0.7em 0.8em-->
    local perkm2num = tonumber(formatnumR(perkm2 or ''))
| data18 = {{#if:{{{image_skyline|}}}{{{image|}}}|{{#invoke:InfoboxImage|InfoboxImage|image={{#if:{{{image_skyline|}}}|{{{image_skyline}}}|{{{image|}}}}}|size={{{image_size|{{{imagesize|}}}}}}|sizedefault=250px|alt={{{image_alt|{{{alt|}}}}}}|title={{{image_caption|{{{caption|{{#if:{{{name|}}}|{{{name}}}|{{{official_name}}}}}的天際線}}}}}}}}{{#if:{{{image_caption|{{{caption|}}}}}}|<div>{{{image_caption|{{{caption|}}}}}}</div>}} }}
    local persqminum = tonumber(formatnumR(persqmi or ''))
    local popnum = tonumber(formatnumR(pop or ''))


    pref = pref or ''
<!-- ***Flag, Seal, Shield and Coat of arms*** -->
    name = name or ''
| rowclass19 = mergedtoprow
    perkm2 = perkm2 or ''
| class19 = maptable
    persqmi = persqmi or ''
|  data19 = {{#if:{{{image_flag|}}}{{{image_seal|}}}{{{image_shield|}}}{{{image_blank_emblem|}}}{{both|{{{pushpin_map_narrow|}}}|{{{pushpin_map|}}}}}
    pop = pop or ''
|{{Infobox settlement/columns
    ha = numorzero(ha)
| 1 = {{#if:{{{image_flag|}}}|{{#invoke:InfoboxImage|InfoboxImage|image={{{image_flag}}}|size={{{flag_size|}}}|sizedefault={{#if:{{both|{{{pushpin_map_narrow|}}}|{{{pushpin_map|}}}}}|85px|100px}}|border={{yesno |{{{flag_border|}}}|yes=yes|blank=yes}}|alt={{{flag_alt|}}}|title={{#if:{{{name|}}}|{{{name}}}|{{{official_name}}}}}旗幟}}<br /><small>{{Infobox settlement/link|type={{#if:{{{flag_type|}}}|{{{flag_type}}}|旗幟}}|link={{{flag_link|}}}|name={{{official_name}}}}}</small>}}
    km2 = numorzero(km2)
| 2 = {{#if:{{{image_seal|}}}|{{#invoke:InfoboxImage|InfoboxImage|image={{{image_seal|}}}|size={{{seal_size|}}}|sizedefault={{#if:{{both|{{{pushpin_map_narrow|}}}|{{{pushpin_map|}}}}}|85px|100px}}|alt={{{seal_alt|}}}|title={{#if:{{{name|}}}|{{{name}}}|{{{official_name}}}}}官方圖章}}<br /><small>{{Infobox settlement/link|type={{#if:{{{seal_type|}}}|{{{seal_type}}}|圖章}}|link={{{seal_link|}}}|name={{{official_name}}}}}</small>}}
    acre = numorzero(acre)
| 3 = {{#if:{{{image_shield|}}}|{{#invoke:InfoboxImage|InfoboxImage|image={{{image_shield|}}}||size={{{shield_size|}}}|sizedefault={{#if:{{both|{{{pushpin_map_narrow|}}}|{{{pushpin_map|}}}}}|85px|100px}}|alt={{{shield_alt|}}}|title={{#if:{{{name|}}}|{{{name}}}|{{{official_name}}}}}徽章}}<br /><small>{{Infobox settlement/link|type={{#if:{{{shield_type|}}}|{{{shield_type}}}|徽章}}|link={{{shield_link|}}}|name={{{official_name}}}}}</small>}}
    sqmi = numorzero(sqmi)
| 4 = {{#if:{{{image_blank_emblem|}}}|{{#invoke:InfoboxImage|InfoboxImage|image={{{image_blank_emblem|}}}|size={{{blank_emblem_size|}}}|sizedefault={{#if:{{both|{{{pushpin_map_narrow|}}}|{{{pushpin_map|}}}}}|85px|100px}}|alt={{{blank_emblem_alt|}}}|title={{#if:{{{name|}}}|{{{name}}}|{{{official_name}}}}}官方標誌}}<br /><small>{{Infobox settlement/link|type={{#if:{{{blank_emblem_type|}}}|{{{blank_emblem_type}}}|標誌}}|link={{{blank_emblem_link|}}}|name={{{official_name}}}}}</small>}}
    dunam = numorzero(dunam)
| 5 = {{#if:{{{image_map|}}}|{{#invoke:InfoboxImage|InfoboxImage|image={{{image_map}}}|size={{{mapsize|}}}|sizedefault=100px|alt={{{map_alt|}}}|title={{{map_caption|{{#if:{{{name|}}}|{{{name}}}|{{{official_name}}}}}的位置}}}}}{{#if:{{{map_caption|}}}|<br />{{{map_caption}}}}} }}
   
| 0 = {{#if:{{{pushpin_map_narrow|}}}|{{#if:{{both| {{{pushpin_map|}}} | {{{coordinates|}}}{{#property:P625}} }}|
    if( (perkm2num == nil) and (persqminum == nil) ) then
{{location map|{{{pushpin_map|}}}
      if( mw.ustring.match(perkm2:lower(), '^%s*auto%s*$') or mw.ustring.match(persqmi:lower(), '^%s*auto%s*$') ) then
|border = infobox
          if( popnum ~= nil ) then
|alt = {{{pushpin_map_alt|}}}
              if( km2 > 0 ) then
|caption ={{#if:{{{pushpin_map_caption_notsmall|}}}|{{{pushpin_map_caption_notsmall|}}}|{{#if:{{{pushpin_map_caption|}}}|<small>{{{pushpin_map_caption}}}</small>|{{#if:{{{map_caption|}}}|<small>{{{map_caption}}}</small>}}}}}}
                  metv = popnum/km2
|float = center
                  rndv = 1 - order_of_magnitude(metv)
|width = {{#if:{{{pushpin_mapsize|}}}|{{{pushpin_mapsize}}}|150}}
                  metv = rnd(metv,rndv)
|default_width = 250
              elseif( ha > 0 ) then
|relief= {{{pushpin_relief|}}}
                  metv = 100*popnum/ha
|AlternativeMap = {{{pushpin_image|}}}
                  rndv = 1 - order_of_magnitude(metv)
|overlay_image = {{{pushpin_overlay|}}}
                  metv = rnd(metv,rndv)
|coordinates = {{{coordinates|}}}
              elseif( dunam > 0 ) then
|label = {{#ifeq: {{lc: {{{pushpin_label_position|}}} }} | none | | {{#if:{{{pushpin_label|}}}|{{{pushpin_label}}}|{{#if:{{{name|}}}|{{{name}}}|{{{official_name|}}}}}}} }}
                  metv = 1000*popnum/dunam
|marksize =6
                  rndv = 1 - order_of_magnitude(metv)
|outside = {{{pushpin_outside|}}}<!-- pin is outside the map -->
                  metv = rnd(metv,rndv)
|position = {{{pushpin_label_position|}}}
              elseif( acre > 0 ) then
}}
                  metv = (popnum/acre)/0.004046856422
}} }}
                  rndv = 1 - order_of_magnitude(metv)
}} }}
                  metv = rnd(metv,rndv)
              elseif( sqmi > 0 ) then
                  metv = (popnum/sqmi)/2.589988110336
                  rndv = 1 - order_of_magnitude(metv)
                  metv = rnd(metv,rndv)
              end
              if( sqmi > 0 ) then
                  impv = popnum/sqmi
                  rndv = 1 - order_of_magnitude(impv)
                  impv = rnd(impv,rndv)
              elseif( acre > 0 ) then
                  impv = 640*popnum/acre
                    rndv = 1 - order_of_magnitude(impv)
                  impv = rnd(impv,rndv)
              elseif( km2 > 0 ) then
                  impv = 2.589988110336*popnum/km2
                  rndv = 1 - order_of_magnitude(impv)
                  impv = rnd(impv,rndv)
              elseif( ha > 0 ) then
                  impv = 258.9988110336*popnum/ha
                  rndv = 1 - order_of_magnitude(impv)
                  impv = rnd(impv,rndv)
              elseif( dunam > 0 ) then
                  impv = 2589.988110336*popnum/dunam
                  rndv = 1 - order_of_magnitude(impv)
                  impv = rnd(impv,rndv)
              end
          end
      end
  elseif( perkm2num ~= nil ) then
      if( persqminum ~= nil ) then
          metv = formatnum( perkm2 )
          impv = formatnum( persqmi )
      else
          metv = formatnum( perkm2 )
          impv = perkm2num*2.589988110336
          rndv = math.max(precision(perkm2num)-1,-1*order_of_magnitude(impv))
          impv = rnd(impv,rndv)
      end
    elseif( persqminum ~= nil ) then
        metv = persqminum/2.589988110336
        rndv = math.max(precision(persqminum),-1*order_of_magnitude(metv))
        metv = rnd(metv,rndv)
        impv = formatnum( persqmi )
    end


    if( metv ~= '' and impv ~= '') then
<!-- ***Etymology*** -->
      pref = unitpref(pref, name, 'area')
| rowclass20 = mergedtoprow
      if( pref == 'impus' ) then
|  data20 = {{#if:{{{etymology|}}}|詞源:{{{etymology}}} }}
        return string.format('%s/%s (%s/%s)', impv, impu, metv, metu)
<!-- ***Nickname*** -->
      else
| rowclass21 = {{#if:{{{etymology|}}}|mergedrow|mergedtoprow}}
        return string.format('%s/%s (%s/%s)', metv, metu, impv, impu)
|  data21 = {{#if:{{{nickname|}}}|綽號:<span class="nickname">{{{nickname}}}</span>}}
      end
<!-- ***Motto*** -->
    else
| rowclass22 = {{#if:{{{etymology|}}}{{{nickname|}}}|mergedrow|mergedtoprow}}
      return ''
|  data22 = {{#if:{{{motto|}}}|格言:{{{motto}}} }}
    end  
<!-- ***Anthem*** -->
end
| rowclass23 = {{#if:{{{etymology|}}}{{{nickname|}}}{{{motto|}}}|mergedrow|mergedtoprow}}
|  data23 = {{#if:{{{anthem|}}}|颂歌:{{{anthem}}} }}
<!-- ***Map*** -->
| rowclass24 = mergedtoprow
|  data24 = {{#if:{{both|{{{pushpin_map_narrow|}}}|{{{pushpin_map|}}}}}||{{#if:{{{image_map|}}}
|{{#invoke:InfoboxImage|InfoboxImage|image={{{image_map}}}|size={{{mapsize|}}}|sizedefault=250px|alt={{{map_alt|}}}|title={{{map_caption|{{#if:{{{name|}}}|{{{name}}}|{{{official_name}}}}}的位置}}}}}{{#if:{{{map_caption|}}}|<br /><small>{{{map_caption}}}</small>}}
}}}}
| rowclass25 = mergedrow
| data25 = {{#if:{{{image_map1|}}}|{{#invoke:InfoboxImage|InfoboxImage|image={{{image_map1}}}|size={{{mapsize1|}}}|sizedefault=250px|alt={{{map_alt1|}}}|title={{{map_caption1|{{#if:{{{name|}}}|{{{name}}}|{{{official_name}}}}}的位置}}}}}{{#if:{{{map_caption1|}}}|<br /><small>{{{map_caption1}}}</small>}} }}


local function lengthdisp(frame, pref, name, km, m, mi, ft)
<!-- ***Pushpin Map*** -->
    -- This function implements {{Infobox settlement/lengthdisp}}
| rowclass26 = mergedtoprow
    local function formatnum(num)
|  data26 = {{#if:{{{pushpin_map_narrow|}}}||{{#if:{{both| {{{pushpin_map|}}} | {{{coordinates|}}}{{#property:P625}} }}|
        return frame:callParserFunction{ name = 'formatnum', args = num }
{{location map|{{{pushpin_map|}}}
    end
|border = infobox
   
|alt = {{{pushpin_map_alt|}}}
    local metv, metu = '', ''
|caption ={{#if:{{{pushpin_map_caption_notsmall|}}}|{{{pushpin_map_caption_notsmall|}}}|{{#if:{{{pushpin_map_caption|}}}|<small>{{{pushpin_map_caption}}}</small>|{{#if:{{{map_caption|}}}|<small>{{{map_caption}}}</small>}}}}}}
    local impv, impu = '', ''
|float = center
    local rndv = 0
|width = {{{pushpin_mapsize|}}}
    pref = pref or ''
|default_width = 250
    name = name or ''
|relief= {{{pushpin_relief|}}}
    m = m or ''
|AlternativeMap = {{{pushpin_image|}}}
    km = km or ''
|overlay_image = {{{pushpin_overlay|}}}
    ft = ft or ''
|coordinates = {{{coordinates|}}}
    mi = mi or ''
|label = {{#ifeq: {{lc: {{{pushpin_label_position|}}} }} | none | | {{#if:{{{pushpin_label|}}}|{{{pushpin_label}}}|{{#if:{{{name|}}}|{{{name}}}|{{{official_name|}}}}}}} }}
   
|marksize =6
    if ( km ~= '' ) then
|outside = {{{pushpin_outside|}}}<!-- pin is outside the map -->
        metv = formatnum( km )
|position = {{{pushpin_label_position|}}}
        metu = 'km'
}}
    elseif ( m ~= '' ) then
}} }}
        metv = formatnum( m )
        metu = 'm'
    elseif ( mi ~= '' ) then
        metv = mi*1.609344
        metu = 'km'
        rndv = precision(mi)
        metv = rnd(metv,rndv)
    elseif ( ft ~= '' ) then
        metv = ft*0.3048
        metu = 'm'
        rndv = math.max(precision(ft),-1*order_of_magnitude(metv))
        metv = rnd(metv,rndv)
    end
   
    if ( mi ~= '' ) then
        impv = formatnum( mi )
        impu = 'mi'
    elseif ( ft ~= '' ) then
        impv = formatnum( ft )
        impu = 'ft'
    elseif ( km ~= '' ) then
        impv = km/1.609344
        impu = 'mi'
        rndv = math.max(precision(km),-1*order_of_magnitude(impv))
        impv = rnd(impv,rndv)
    elseif ( m ~= '' ) then
        impv = m/0.3048
        impu = 'ft'
        rndv = precision(m)
        impv = rnd(impv,rndv)
    end
   
    if( impv ~= '' and metv ~= '' ) then
        pref = unitpref(pref, name, 'length')
        if( pref == 'impus' ) then
          return string.format('%s&nbsp;%s (%s&nbsp;%s)', impv, impu, metv, metu)
        else
          return string.format('%s&nbsp;%s (%s&nbsp;%s)', metv, metu, impv, impu)
        end
    else
        return ''
    end   
end


function p.areadisp(frame)
<!-- ***Coordinates*** -->
    local args = frame.args
| rowclass27 = {{#if:{{{image_map|}}}{{{image_map1|}}}{{{pushpin_map|}}}|{{#if:{{{grid_position|}}}|mergedrow|mergedbottomrow}}}}
    return areadisp(frame, args['pref'], args['name'], args['mag'],
|  data27 = {{#if:{{{coordinates|}}}
        args['ha'], args['km2'], args['sqmi'], args['acre'], args['dunam'], args['percent'], args['link'])
  |坐标{{#if:{{{coor_pinpoint|{{{coor_type|}}}}}}|&#32;({{{coor_pinpoint|{{{coor_type|}}}}}})}}:{{#invoke:Coordinates|coordinsert|{{{coordinates|}}}|type:city{{#if:{{{population_total|}}}|{{#iferror:{{#expr:{{formatnum:{{{population_total}}}|R}}+1}}||({{formatnum:{{{population_total}}}|R}})}}}}|{{#if:{{{subdivision_name|}}}|region:{{Country abbreviation|{{{subdivision_name}}}|{{{subdivision_name1|{{{subdivision_name2|{{{subdivision_name3|}}}}}}}}} }} }} }}{{{coordinates_footnotes|}}}
end
  |{{#if:{{#property:P625}}|坐标:{{#invoke:Coordinates|coord|format=dms}}{{{coordinates_footnotes|}}} }}
}}
| rowclass28 = {{#if:{{{image_map|}}}{{{image_map1|}}}{{{pushpin_map|}}}|mergedbottomrow|mergedrow}}
| label28 = {{ifempty|{{{grid_name|}}}|網格位置}}
|  data28 = {{{grid_position|}}}


function p.densdisp(frame)
<!-- ***Subdivisions*** -->
    local args = frame.args
| rowclass29 = mergedtoprow
    return densdisp(frame, args['pref'], args['name'],
| label29 = {{{subdivision_type}}}
        args['/km2'], args['/sqmi'], args['pop'], args['ha'], args['km2'], args['sqmi'], args['acre'], args['dunam'])
|  data29 = {{#if:{{{subdivision_type|}}}|{{{subdivision_name|}}} }}
end


function p.lengthdisp(frame)
| rowclass30 = mergedrow
    local args = frame.args
| label30 = {{{subdivision_type1}}}
    return lengthdisp(frame, args['pref'], args['name'], args['km'], args['m'], args['mi'], args['ft'])
|  data30 = {{#if:{{{subdivision_type1|}}}|{{{subdivision_name1|}}} }}
end


function p.link(frame)
| rowclass31 = mergedrow
    local args = frame.args
| label31 = {{{subdivision_type2}}}
    return link(args['link'], args['type'], args['name'])
|  data31 = {{#if:{{{subdivision_type2|}}}|{{{subdivision_name2|}}} }}
end


function p.columns(frame)
| rowclass32 = mergedrow
    local args = frame.args
| label32 = {{{subdivision_type3}}}
    if( args[0] and args[0] ~= '' ) then
|  data32 = {{#if:{{{subdivision_type3|}}}|{{{subdivision_name3|}}} }}
      return columns2(args[0], args[1], args[2], args[3], args[4], args[5])
    else
      return columns(args[1], args[2], args[3], args[4])
    end
end


function p.infobox(frame)
| rowclass33 = mergedrow
    local args = {}
| label33 = {{{subdivision_type4}}}
    local oargs = frame:getParent().args
|  data33 = {{#if:{{{subdivision_type4|}}}|{{{subdivision_name4|}}} }}
    local pname = firstnonempty({oargs['name'], oargs['official_name'], mw.title.text})
    local narrowmap = isnotempty(oargs['pushpin_map_narrow']) and isnotempty(oargs['pushpin_map'])
    args['bodyclass'] = 'geography vcard'
    args['bodystyle'] = 'width:23em'
    args['headerstyle'] = 'text-align:left'
    args['abovestyle'] = 'font-size:1.25em; white-space:nowrap'
    -- build the names, type, and transliterations subbox
    local sargs = {}
    local scount = 0
    sargs['child'] = 'yes'
    if( (isnotempty(oargs['name']) or isnotempty(oargs['official_name']) ) and
    (isnotempty(oargs['settlement_type']) or isnotempty(oargs['type']) ) ) then
    sargs['subheaderstyle'] = 'background-color:#cddeff; font-weight:bold;'
    sargs['subheader'] = '<span class="category">'
    .. firstnonempty(oargs['settlement_type'], oargs['type']) .. '</span>'
    scount = scount + 1
    end
    if( isnotempty(oargs['name']) and isnotempty(oargs['official_name']) ) then
    sargs['rowclass1'] = 'mergedtoprow'
    sargs['header1'] = oargs['official_name']
    scount = scount + 1
    end
    if( isnotempty(oargs['translit_lang1']) ) then
    local targs = translitlangbox(
    {oargs['translit_lang1_type'],
    oargs['translit_lang1_type1'],
    oargs['translit_lang1_type2'],
    oargs['translit_lang1_type3'],
    oargs['translit_lang1_type4'],
    oargs['translit_lang1_type5'],
    oargs['translit_lang1_type6']},
    {oargs['translit_lang1_info'],
    oargs['translit_lang1_info1'],
    oargs['translit_lang1_info2'],
    oargs['translit_lang1_info3'],
    oargs['translit_lang1_info4'],
    oargs['translit_lang1_info5'],
    oargs['translit_lang1_info6']})
    if( targs ) then
    sargs['rowclass2'] = 'mergedtoprow'
    sargs['header2'] = oargs['translit_lang1'] .. '&nbsp;transcription(s)' .. infobox_module._infobox(targs)
    scount = scount + 1
    end
    end
    if( isnotempty(oargs['translit_lang2']) ) then
    local targs = translitlangbox(
    {oargs['translit_lang2_type'],
    oargs['translit_lang2_type1'],
    oargs['translit_lang2_type2'],
    oargs['translit_lang2_type3'],
    oargs['translit_lang2_type4'],
    oargs['translit_lang2_type5'],
    oargs['translit_lang2_type6']},
    {oargs['translit_lang2_info'],
    oargs['translit_lang2_info1'],
    oargs['translit_lang2_info2'],
    oargs['translit_lang2_info3'],
    oargs['translit_lang2_info4'],
    oargs['translit_lang2_info5'],
    oargs['translit_lang2_info6']})
    if( targs ) then
    sargs['rowclass3'] = 'mergedtoprow'
    sargs['header3'] = oargs['translit_lang2'] .. '&nbsp;transcription(s)' .. infobox_module._infobox(targs)
    scount = scount + 1
    end
end
    -- End of names, type, and transliterations


    args['above'] = '<span class="fn org">' .. pname .. '</span>'
| rowclass34 = mergedrow
    if(isnotempty(oargs['native_name'])) then
| label34 = {{{subdivision_type5}}}
    args['above'] = args['above'] .. '<br /><span class="nickname"'
|  data34 = {{#if:{{{subdivision_type5|}}}|{{{subdivision_name5|}}} }}
    .. isnotempty(oargs['native_name_lang']) and ' lang="' .. oargs['native_name_lang'] .. '">'
    .. oargs['native_name'] .. '</span>'
    end
    if(isnotempty(oargs['other_name'])) then
    args['above'] = args['above'] .. '<br /><span class="nickname" style="font-size:78%">'
    .. oargs['other_name'] .. '</span>'
    end
  if( scount > 0 ) then
    args['above'] = args['above'] .. infobox_module._infobox(sargs)
end
-- Skyline image
if( isnotempty(oargs['image_skyline']) ) then
args['imagestyle'] = 'padding:0.7em 0.8em'
args['image'] = image_module._InfoboxImage(
{['image'] = oargs['image_skyline'],
['size'] = oargs['imagesize'],
['sizedefault'] = '250px',
['alt'] = oargs['image_alt'],
['title'] = oargs['image_caption'] or ('Skyline of ' .. pname)
})
if( isnotempty(oargs['image_caption']) ) then
args['image'] = args['image'] .. '<br /><small>' .. oargs['image_caption'] .. '</small>'
end
end
-- Other image
if( isnotempty(oargs['image']) ) then
args['image2'] = oargs['image']
end
-- Primary map
local image_map = nil
if( isnotempty(oargs['image_map']) ) then
local msize = narrowmap and '100px' or '250px'
image_map = image_module._InfoboxImage({
['image'] = oargs['image_map'],
['size'] = oargs['mapsize'],
['sizedefault'] = msize,
['alt'] = oargs['map_alt'],
['title'] = oargs['map_caption'] or 'Location of ' .. pname,
})
if( isnotempty(oargs['map_caption'])) then
image_map = image_map .. '<br /><small>' .. oargs['map_caption'] .. '</small>'
end
end
-- Primary pushpin map
local pushpin_map = nil
if( isnotempty(oargs['pushpin_map']) and isnotempty(oargs['latd']) and isnotempty(oargs['longd'])) then
local plabel
if(oargs['pushpin_label_position'] and oargs['pushpin_label_position']:lower() == 'none') then
plabel = ''
else if( isnotempty(oargs['pushpin_label']) ) then
plabel = oargs['pushpin_label']
else
plabel = pname
end
local pwidth = ''
if(narrowmap) then
pwidth = firstnonempty(oargs['pushpin_mapsize'], '150')
end
local lat, lat_deg, lat_min, lat_sec
if(isnotempty(oargs['latm']) or isnotempty(oargs['latNS'])) then
lat = ''
lat_deg = oargs['latd'] or ''
lat_min = oargs['latm'] or ''
lat_sec = oargs['lats'] or ''
else
lat = oargs['latd'] or ''
end
local long, lon_deg, lon_min, lon_sec
if(isnotempty(oargs['longm']) or isnotempty(oargs['longEW'])) then
long = ''
lon_deg = oargs['longd'] or ''
lon_min = oargs['longm'] or ''
lon_sec = oargs['longs'] or ''
else
long = oargs['longd'] or ''
end
local caption = firstnonempty({oargs['pushpin_map_caption'], oargs['map_caption']})
pushpin_map = '<center>' .. locationmap_module._main({
['1'] = oargs['pushpin_map'],
['border'] = 'none',
['alt'] = oargs['pushpin_map_alt'],
['caption'] = '',
['float'] = 'none',
['width'] = pwidth,
['default_width'] = '250',
['relief'] = oargs['pushpin_relief'],
['AlternativeMap'] = oargs['pushpin_image'],
['label'] = plabel,
['lat'] = lat, ['long'] = long,
['lat_deg'] = lat_deg, ['lat_min'] = lat_min, ['lat_sec'] = lat_sec,
['lat_dir'] = oargs['latNS'] or '',
['lon_deg'] = lon_deg, ['lon_min'] = lon_min, ['lon_sec'] = lon_sec,
['lon_dir'] = oargs['lonEW'] or '',
['marksize'] = '6',
['position'] = oargs['pushpin_label_position'] or ''
})
if( caption ) then
pushpin_map = pushpin_map .. '<small>' .. caption .. '</small>'
end
pushpin_map = pushpin_map .. '</center>'
end
end
-- Flag, Seal, Shield and Coat of arms
if( isnotempty(oargs['image_flag']) or isnotempty(oargs['image_seal'])
or isnotempty(oargs['image_shield']) or isnotempty(oargs['image_blank_emblem'])
or narrowmap) then
args['rowclass1'] = 'mergedtoprow'
args['class1'] = 'maptable'
local isize = (isnotempty(oargs['pushpin_map_narrow']) and isnotempty(oargs['pushpin_map'])) and '85px' or '100px'
local targs = {}
if( isnotempty(oargs['image_flag']) ) then
local iborder = yesno(oargs['flag_border'], 'yes', '', 'yes', 'yes')
targs[1] = image_module._InfoboxImage({
['image'] = oargs['image_flag'],
['size'] = oargs['flag_size'],
['sizedefault'] = isize,
['border'] = iborder,
['alt'] = oargs['flag_alt'],
['title'] = 'Flag of ' .. pname,
}) .. '<br /><small>\'\'\'' .. link(oargs['flag_link'], 'Flag', oargs['official_name']) .. '\'\'\'</small>'
end
if( isnotempty(oargs['image_seal']) ) then
targs[2] = image_module._InfoboxImage({
['image'] = oargs['image_seal'],
['size'] = oargs['seal_size'],
['sizedefault'] = isize,
['alt'] = oargs['seal_alt'],
['title'] = 'Official seal of ' .. pname,
}) .. '<br /><small>\'\'\'' .. link(oargs['seal_link'], firstnonempty(oargs['seal_type'], 'Seal'), oargs['official_name']) .. '\'\'\'</small>'
end
if( isnotempty(oargs['image_shield']) ) then
targs[3] = image_module._InfoboxImage({
['image'] = oargs['image_shield'],
['size'] = oargs['shield_size'],
['sizedefault'] = isize,
['alt'] = oargs['shield_alt'],
['title'] = 'Coat of arms of ' .. pname,
}) .. '<br /><small>\'\'\'' .. link(oargs['shield_link'], 'Coat of arms', oargs['official_name']) .. '\'\'\'</small>'
end
if( isnotempty(oargs['image_blank_emblem']) ) then
targs[4] = image_module._InfoboxImage({
['image'] = oargs['image_blank_emblem'],
['size'] = oargs['blank_emblem_size'],
['sizedefault'] = isize,
['alt'] = oargs['blank_emblem_alt'],
['title'] = 'Official logo of ' .. pname,
}) .. '<br /><small>\'\'\'' .. link(oargs['blank_emblem_link'], firstnonempty(oargs['blank_emblem_type'], 'Logo'), oargs['official_name']) .. '\'\'\'</small>'
end
targs[5] = image_map
if( narrowmap and pushpin_map) then
args['data1'] = columns2(pushpin_map, targs[1], targs[2], targs[3], targs[4], targs[5])
else
args['data1'] = columns(targs[1], targs[2], targs[3], targs[4])
end
end
-- Nickname
if( isnotempty(oargs['nickname']) ) then
args['rowclass2'] = 'mergedrow'
args['data2'] = 'Nickname(s): <span class="nickname">' .. oargs['nickname'] .. '</span>'
end
-- Motto
if( isnotempty(oargs['motto']) ) then
args['rowclass3'] = 'mergedrow'
args['data3'] = 'Motto: ' .. oargs['motto']
end
-- Anthem
if( isnotempty(oargs['anthem']) ) then
args['rowclass4'] = 'mergedrow'
args['data4'] = 'Anthem: ' .. oargs['anthem']
end
-- Map
if( narrowmap  and image_map ) then
args['rowclass5'] = mergedrow
args['data5'] = image_map
end
if( isnotempty(oargs['image_map1']) ) then
args['rowclass6'] = mergedrow
args['data6'] = image_module._InfoboxImage({
['image'] = oargs['image_map1'],
['size'] = oargs['mapsize1'],
['sizedefault'] = '250px',
['alt'] = oargs['map_alt1'],
['title'] = oargs['map_caption1'] or 'Location of ' .. pname,
})
if( isnotempty(oargs['map_caption1'])) then
image_map = image_map .. '<br /><small>' .. oargs['map_caption1'] .. '</small>'
end
end
-- Dot map
if( isnotempty(oargs['image_dot_map']) ) then
args['rowclass7'] = 'mergedrow'
args['data7'] = '<center>Dot maps not supported!</center>'
end
    -- Pushpin map
if( narrowmap == nil and pushpin_map) then
args['rowclass8'] = 'mergedtoprow'
args['data8'] = pushpin_map
end


     return infobox_module._infobox(args)
| rowclass35 = mergedrow
   
| label35 = {{{subdivision_type6}}}
end
|  data35 = {{#if:{{{subdivision_type6|}}}|{{{subdivision_name6|}}} }}
   
 
return p
<!--***Established*** -->
| rowclass36 = mergedtoprow
| label36 = {{{established_title}}}
|  data36 = {{#if:{{{established_title|}}}|{{{established_date|}}} }}
 
| rowclass37 = mergedrow
| label37 = {{{established_title1}}}
|  data37 = {{#if:{{{established_title1|}}}|{{{established_date1|}}} }}
 
| rowclass38 = mergedrow
| label38 = {{{established_title2}}}
|  data38 = {{#if:{{{established_title2|}}}|{{{established_date2|}}} }}
 
| rowclass39 = mergedrow
| label39 = {{{established_title3}}}
|  data39 = {{#if:{{{established_title3|}}}|{{{established_date3|}}} }}
 
| rowclass40 = mergedrow
| label40 = {{{established_title4}}}
|  data40 = {{#if:{{{established_title4|}}}|{{{established_date4|}}} }}
 
| rowclass41 = mergedrow
| label41 = {{{established_title5}}}
|  data41 = {{#if:{{{established_title5|}}}|{{{established_date5|}}} }}
 
| rowclass42 = mergedrow
| label42 = {{{established_title6}}}
|  data42 = {{#if:{{{established_title6|}}}|{{{established_date6|}}} }}
 
| rowclass43 = mergedrow
| label43 = {{{established_title7}}}
|  data43 = {{#if:{{{established_title7|}}}|{{{established_date7|}}} }}
 
| rowclass44 = mergedrow
| label44 = {{{extinct_title}}}
|  data44 = {{#if:{{{extinct_title|}}}|{{{extinct_date|}}} }}
 
| rowclass45 = mergedrow
| label45 = 創始人
|  data45 = {{{founder|}}}
 
| rowclass46 = mergedrow
| label46 = 語源
|  data46 = {{{named_for|}}}
 
<!-- ***Seat of government and subdivisions within the settlement*** -->
| rowclass47 = mergedtoprow
| label47 = {{#if:{{{seat_type|}}}|{{{seat_type}}}|政府所在地}}
|  data47 = {{{seat|}}}
 
| rowclass48 = mergedrow
| label48 = {{#if:{{{seat1_type|}}}|{{{seat1_type}}}|前政府所在地}}
|  data48 = {{{seat1|}}}
 
| rowclass51 = {{#if:{{{seat|}}}{{{seat1|}}}|mergedrow|mergedtoprow}}
| label51 = {{#if:{{{parts_type|}}}|{{{parts_type}}}|行政区划}}
|  data51 = {{#if:{{{parts|}}}{{{p1|}}}
|{{#ifeq:{{{parts_style|}}}|para
  |<b>{{{parts|}}}{{#if:{{both|{{{parts|}}}|{{{p1|}}}}}|&#58;&nbsp;|}}</b>{{comma separated entries|{{{p1|}}}|{{{p2|}}}|{{{p3|}}}|{{{p4|}}}|{{{p5|}}}|{{{p6|}}}|{{{p7|}}}|{{{p8|}}}|{{{p9|}}}|{{{p10|}}}|{{{p11|}}}|{{{p12|}}}|{{{p13|}}}|{{{p14|}}}|{{{p15|}}}|{{{p16|}}}|{{{p17|}}}|{{{p18|}}}|{{{p19|}}}|{{{p20|}}}|{{{p21|}}}|{{{p22|}}}|{{{p23|}}}|{{{p24|}}}|{{{p25|}}}|{{{p26|}}}|{{{p27|}}}|{{{p28|}}}|{{{p29|}}}|{{{p30|}}}|{{{p31|}}}|{{{p32|}}}|{{{p33|}}}|{{{p34|}}}|{{{p35|}}}|{{{p36|}}}|{{{p37|}}}|{{{p38|}}}|{{{p39|}}}|{{{p40|}}}|{{{p41|}}}|{{{p42|}}}|{{{p43|}}}|{{{p44|}}}|{{{p45|}}}|{{{p46|}}}|{{{p47|}}}|{{{p48|}}}|{{{p49|}}}|{{{p50|}}}}}
  |{{#if:{{{p1|}}}|{{Collapsible list|title={{{parts|}}}|expand={{#switch:{{{parts_style|}}}|coll=|list=y|{{#if:{{{p6|}}}||y}}}}|1={{{p1|}}}|2={{{p2|}}}|3={{{p3|}}}|4={{{p4|}}}|5={{{p5|}}}|6={{{p6|}}}|7={{{p7|}}}|8={{{p8|}}}|9={{{p9|}}}|10={{{p10|}}}|11={{{p11|}}}|12={{{p12|}}}|13={{{p13|}}}|14={{{p14|}}}|15={{{p15|}}}|16={{{p16|}}}|17={{{p17|}}}|18={{{p18|}}}|19={{{p19|}}}|20={{{p20|}}}|21={{{p21|}}}|22={{{p22|}}}|23={{{p23|}}}|24={{{p24|}}}|25={{{p25|}}}|26={{{p26|}}}|27={{{p27|}}}|28={{{p28|}}}|29={{{p29|}}}|30={{{p30|}}}|31={{{p31|}}}|32={{{p32|}}}|33={{{p33|}}}|34={{{p34|}}}|35={{{p35|}}}|36={{{p36|}}}|37={{{p37|}}}|38={{{p38|}}}|39={{{p39|}}}|40={{{p40|}}}|41={{{p41|}}}|42={{{p42|}}}|43={{{p43|}}}|44={{{p44|}}}|45={{{p45|}}}|46={{{p46|}}}|47={{{p47|}}}|48={{{p48|}}}|49={{{p49|}}}|50={{{p50|}}}}}
    |{{{parts}}}
    }}
  }} }}
 
<!-- ***Government type and Leader*** -->
| rowclass52 = mergedtoprow
| header52 = {{#if:{{{government_type|}}}{{{governing_body|}}}{{{leader_name|}}}{{{leader_name1|}}}{{{leader_name2|}}}{{{leader_name3|}}}{{{leader_name4|}}}|政府<span style="font-weight:normal">{{{government_footnotes|}}}</span>}}
<!-- ***Government*** -->
| rowclass53 = mergedrow
| label53 = &nbsp;•&nbsp;类型
|  data53 = {{{government_type|}}}
 
| rowclass54 = mergedrow
| label54 = &nbsp;•&nbsp;行政机构
| class54 = agent
|  data54 = {{{governing_body|}}}
 
| rowclass55 = mergedrow
| label55 = &nbsp;•&nbsp;{{{leader_title}}}
|  data55 = {{#if:{{{leader_title|}}}|{{{leader_name|}}} {{#if:{{{leader_party|}}}|({{Polparty|{{{subdivision_name}}}|{{{leader_party}}}}})}}}}
| rowclass56 = mergedrow
| label56 = &nbsp;•&nbsp;{{{leader_title1}}}
|  data56 = {{#if:{{{leader_title1|}}}|{{{leader_name1|}}}}}
| rowclass57 = mergedrow
| label57 = &nbsp;•&nbsp;{{{leader_title2}}}
|  data57 = {{#if:{{{leader_title2|}}}|{{{leader_name2|}}}}}
| rowclass58 = mergedrow
| label58 = &nbsp;•&nbsp;{{{leader_title3}}}
|  data58 = {{#if:{{{leader_title3|}}}|{{{leader_name3|}}}}}
| rowclass59 = mergedrow
| label59 = &nbsp;•&nbsp;{{{leader_title4}}}
|  data59 = {{#if:{{{leader_title4|}}}|{{{leader_name4|}}}}}
 
| rowclass60 = mergedrow
| label60 = {{{government_blank1_title}}}
|  data60 = {{#if:{{{government_blank1|}}}|{{{government_blank1|}}}}}
| rowclass61 = mergedrow
| label61 = {{{government_blank2_title}}}
|  data61 = {{#if:{{{government_blank2|}}}|{{{government_blank2|}}}}}
| rowclass62 = mergedrow
| label62 = {{{government_blank3_title}}}
|  data62 = {{#if:{{{government_blank3|}}}|{{{government_blank3|}}}}}
| rowclass63 = mergedrow
| label63 = {{{government_blank4_title}}}
|  data63 = {{#if:{{{government_blank4|}}}|{{{government_blank4|}}}}}
| rowclass64 = mergedrow
| label64 = {{{government_blank5_title}}}
|  data64 = {{#if:{{{government_blank5|}}}|{{{government_blank5|}}}}}
| rowclass65 = mergedrow
| label65 = {{{government_blank6_title}}}
|  data65 = {{#if:{{{government_blank6|}}}|{{{government_blank6|}}}}}
 
<!-- ***Geographical characteristics*** -->
<!-- ***Area*** -->
| rowclass66 = mergedtoprow
| header66 = {{#if:{{{area_total_km2|}}}{{{area_total_ha|}}}{{{area_total_acre|}}}{{{area_total_sq_mi|}}}{{{area_total_dunam|}}}{{{area_land_km2|}}}{{{area_land_ha|}}}{{{area_land_acre|}}}{{{area_land_sq_mi|}}}{{{area_water_km2|}}}{{{area_water_ha|}}}{{{area_water_acre|}}}{{{area_water_sq_mi|}}}{{{area_urban_km2|}}}{{{area_urban_ha|}}}{{{area_urban_acre|}}}{{{area_urban_sq_mi|}}}{{{area_rural_sq_mi|}}}{{{area_rural_ha|}}}{{{area_rural_acre|}}}{{{area_rural_km2|}}}{{{area_metro_km2|}}}{{{area_metro_ha|}}}{{{area_metro_acre|}}}{{{area_blank1_km2|}}}{{{area_blank1_ha|}}}{{{area_blank1_acre|}}}{{{area_metro_sq_mi|}}}{{{area_blank1_sq_mi|}}}
|{{#if:{{both|{{#ifeq:{{{total_type}}}|&nbsp;|1}}|{{{area_total_km2|}}}{{{area_total_ha|}}}{{{area_total_acre|}}}{{{area_total_sq_mi|}}}{{{area_total_dunam|}}}}}
  |<!-- displayed below -->
  |面积<span style="font-weight:normal">{{{area_footnotes|}}}</span>
  }}
}}
 
| rowclass67 = {{#if:{{both|{{#ifeq:{{{total_type}}}|&nbsp;|1}}|{{{area_total_km2|}}}{{{area_total_ha|}}}{{{area_total_acre|}}}{{{area_total_sq_mi|}}}{{{area_total_dunam|}}}}}|mergedtoprow|mergedrow}}
| label67 = {{#if:{{both|{{#ifeq:{{{total_type}}}|&nbsp;|1}}|{{{area_total_km2|}}}{{{area_total_ha|}}}{{{area_total_acre|}}}{{{area_total_sq_mi|}}}{{{area_total_dunam|}}}}}
  |面积<span style="font-weight:normal">{{{area_footnotes|}}}</span>
  |&nbsp;•&nbsp;{{#if:{{{total_type|}}}|{{{total_type}}}|{{#if:{{{area_metro_km2|}}}{{{area_metro_sq_mi|}}}{{{area_urban_km2|}}}{{{area_urban_sq_mi|}}}{{{area_rural_km2|}}}{{{area_rural_sq_mi|}}}{{{population_metro|}}}{{{population_urban|}}}{{{population_rural|}}}|{{#if:{{{settlement_type|{{{type|}}}}}}|{{{settlement_type|{{{type}}}}}}|城市}}|{{nowrap|总计}} }}}}
  }}
|  data67 = {{#if:{{{area_total_km2|}}}{{{area_total_ha|}}}{{{area_total_acre|}}}{{{area_total_sq_mi|}}}{{{area_total_dunam|}}}
|{{infobox_settlement/areadisp
  |km2  ={{解析數字|{{{area_total_km2|}}} }}
  |ha  ={{解析數字|{{{area_total_ha|}}} }}
  |acre ={{解析數字|{{{area_total_acre|}}} }}
  |sqmi ={{解析數字|{{{area_total_sq_mi|}}} }}
  |dunam={{解析數字|{{{area_total_dunam|}}} }}
  |link ={{#switch:{{{dunam_link|}}}||on|total=on}}
  |pref ={{{unit_pref}}}
  |name ={{{subdivision_name}}}
  |mag  ={{{area_magnitude|}}}
}}}}
 
| rowclass68 = mergedrow
| label68 = &nbsp;•&nbsp;陸地
|  data68 = {{#if:{{{area_land_km2|}}}{{{area_land_ha|}}}{{{area_land_acre|}}}{{{area_land_sq_mi|}}}{{{area_land_dunam|}}}
|{{infobox_settlement/areadisp
  |km2  ={{{area_land_km2|}}}
  |ha  ={{{area_land_ha|}}}
  |acre ={{{area_land_acre|}}}
  |sqmi ={{{area_land_sq_mi|}}}
  |dunam={{{area_land_dunam|}}}
  |link ={{#ifeq:{{{dunam_link|}}}|land|on}}
  |pref ={{{unit_pref}}}
  |name ={{{subdivision_name}}}
}}}}
| rowclass69 = mergedrow
| label69 = &nbsp;•&nbsp;水域
|  data69 = {{#if:{{{area_water_km2|}}}{{{area_water_ha|}}}{{{area_water_acre|}}}{{{area_water_sq_mi|}}}{{{area_water_dunam|}}}
|{{infobox_settlement/areadisp
  |km2  ={{{area_water_km2|}}}
  |ha  ={{{area_water_ha|}}}
  |acre ={{{area_water_acre|}}}
  |sqmi ={{{area_water_sq_mi|}}}
  |dunam={{{area_water_dunam|}}}
  |link ={{#ifeq:{{{dunam_link|}}}|water|on}}
  |pref ={{{unit_pref}}}
  |name ={{{subdivision_name}}}
}} {{#if:{{{area_water_percent|}}}| &nbsp;{{{area_water_percent}}}%}}}}
| rowclass70 = mergedrow
| label70 = &nbsp;•&nbsp;市區<span style="font-weight:normal">{{{area_urban_footnotes|}}}</span>
|  data70 = {{#if:{{{area_urban_km2|}}}{{{area_urban_ha|}}}{{{area_urban_acre|}}}{{{area_urban_sq_mi|}}}{{{area_urban_dunam|}}}
|{{infobox_settlement/areadisp
  |km2  ={{{area_urban_km2|}}}
  |ha  ={{{area_urban_ha|}}}
  |acre ={{{area_urban_acre|}}}
  |sqmi ={{{area_urban_sq_mi|}}}
  |dunam={{{area_urban_dunam|}}}
  |link ={{#ifeq:{{{dunam_link|}}}|urban|on}}
  |pref ={{{unit_pref}}}
  |name ={{{subdivision_name}}}
}}}}
 
| rowclass71 = mergedrow
| label71 = &nbsp;•&nbsp;鄉村<span style="font-weight:normal">{{{area_rural_footnotes|}}}</span>
|  data71 = {{#if:{{{area_rural_km2|}}}{{{area_rural_ha|}}}{{{area_rural_acre|}}}{{{area_rural_sq_mi|}}}{{{area_rural_dunam|}}}
|{{infobox_settlement/areadisp
  |km2  ={{{area_rural_km2|}}}
  |ha  ={{{area_rural_ha|}}}
  |acre ={{{area_rural_acre|}}}
  |sqmi ={{{area_rural_sq_mi|}}}
  |dunam={{{area_rural_dunam|}}}
  |link ={{#ifeq:{{{dunam_link|}}}|rural|on}}
  |pref ={{{unit_pref}}}
  |name ={{{subdivision_name}}}
}}}}
| rowclass72 = mergedrow
| label72 =&nbsp;•&nbsp;都會區<span style="font-weight:normal">{{{area_metro_footnotes|}}}</span>
|  data72 = {{#if:{{{area_metro_km2|}}}{{{area_metro_ha|}}}{{{area_metro_acre|}}}{{{area_metro_sq_mi|}}}{{{area_metro_dunam|}}}
|{{infobox_settlement/areadisp
  |km2  ={{{area_metro_km2|}}}
  |ha  ={{{area_metro_ha|}}}
  |acre ={{{area_metro_acre|}}}
  |sqmi ={{{area_metro_sq_mi|}}}
  |dunam={{{area_metro_dunam|}}}
  |link ={{#ifeq:{{{dunam_link|}}}|metro|on}}
  |pref ={{{unit_pref}}}
  |name ={{{subdivision_name}}}
}}}}
<!-- ***Area rank*** -->
| rowclass73 = mergedrow
| label73 = 面积排名
|  data73 = {{{area_rank|}}}
 
| rowclass74 = mergedrow
| label74 = &nbsp;•&nbsp;{{{area_blank1_title}}}
|  data74 = {{#if:{{{area_blank1_km2|}}}{{{area_blank1_ha|}}}{{{area_blank1_acre|}}}{{{area_blank1_sq_mi|}}}{{{area_blank1_dunam|}}}
  |{{infobox_settlement/areadisp
  |km2  ={{{area_blank1_km2|}}}
  |ha  ={{{area_blank1_ha|}}}
  |acre ={{{area_blank1_acre|}}}
  |sqmi ={{{area_blank1_sq_mi|}}}
  |dunam={{{area_blank1_dunam|}}}
  |link ={{#ifeq:{{{dunam_link|}}}|blank1|on}}
  |pref ={{{unit_pref}}}
  |name ={{{subdivision_name}}}
}}}}
 
| rowclass75 = mergedrow
| label75 = &nbsp;•&nbsp;{{{area_blank2_title}}}
|  data75 = {{#if:{{{area_blank2_km2|}}}{{{area_blank2_ha|}}}{{{area_blank2_acre|}}}{{{area_blank2_sq_mi|}}}{{{area_blank2_dunam|}}}
  |{{infobox_settlement/areadisp
  |km2  ={{{area_blank2_km2|}}}
  |ha  ={{{area_blank2_ha|}}}
  |acre ={{{area_blank2_acre|}}}
  |sqmi ={{{area_blank2_sq_mi|}}}
  |dunam={{{area_blank2_dunam|}}}
  |link ={{#ifeq:{{{dunam_link|}}}|blank2|on}}
  |pref ={{{unit_pref}}}
  |name ={{{subdivision_name}}}
}}}}
 
| rowclass76 = mergedrow
| label76 = &nbsp;
|  data76 =  {{#if:{{{area_note|}}}|<small>{{{area_note}}}</small>}}
 
<!-- ***Dimensions*** -->
| rowclass77 = mergedtoprow
| header77 = {{#if:{{{length_km|}}}{{{length_mi|}}}{{{width_km|}}}{{{width_mi|}}}|尺寸<span style="font-weight:normal">{{{dimensions_footnotes|}}}</span>}}
 
| rowclass78 = mergedrow
| label78 = &nbsp;•&nbsp;长度
|  data78 = {{#if:{{{length_km|}}}{{{length_mi|}}}
| {{infobox_settlement/lengthdisp
      |km  ={{{length_km|}}}
      |mi  ={{{length_mi|}}}
      |pref={{{unit_pref}}}
      |name={{{subdivision_name}}}
    }} }}
 
| rowclass79 = mergedrow
| label79 = &nbsp;•&nbsp;宽度
|  data79 = {{#if:{{{width_km|}}}{{{width_mi|}}}
|{{infobox_settlement/lengthdisp
      |km  ={{{width_km|}}}
      |mi  ={{{width_mi|}}}
      |pref={{{unit_pref}}}
      |name={{{subdivision_name}}}
    }} }}
 
<!-- ***Elevation*** -->
| rowclass80 = mergedtoprow
| label80 = 海拔<span style="font-weight:normal">{{{elevation_footnotes|}}}{{#if:{{{elevation_point|}}}|&#32;({{{elevation_point}}})}}</span>
|  data80 = {{#if:{{{elevation_m|}}}{{{elevation_ft|}}}
|{{infobox_settlement/lengthdisp
      |m  ={{{elevation_m|}}}
      |ft  ={{{elevation_ft|}}}
      |pref={{{unit_pref}}}
      |name={{{subdivision_name}}}
    }} }}
 
| rowclass81 = mergedtoprow
| label81 = 最高海拔<span style="font-weight:normal">{{{elevation_max_footnotes|}}}{{#if:{{{elevation_max_point|}}}|&#32;({{{elevation_max_point}}})}}</span>
|  data81 = {{#if:{{{elevation_max_m|}}}{{{elevation_max_ft|}}}
|{{infobox_settlement/lengthdisp
      |m  ={{{elevation_max_m|}}}
      |ft  ={{{elevation_max_ft|}}}
      |pref={{{unit_pref}}}
      |name={{{subdivision_name}}}
    }} }}
<!-- ***Elevation max rank*** -->
| rowclass82 = mergedrow
| label82 = &nbsp;•&nbsp;排名
|  data82 =  {{#if:{{{elevation_max_m|}}}{{{elevation_max_ft|}}}| {{{elevation_max_rank|}}} }}
 
| rowclass83 = {{#if:{{{elevation_min_rank|}}}|mergedrow|mergedbottomrow}}
| label83 = 最低海拔<span style="font-weight:normal">{{{elevation_min_footnotes|}}}{{#if:{{{elevation_min_point|}}}|&#32;({{{elevation_min_point}}})}}</span>
|  data83 = {{#if:{{{elevation_min_m|}}}{{{elevation_min_ft|}}}
  |{{infobox_settlement/lengthdisp
      |m  ={{{elevation_min_m|}}}
      |ft  ={{{elevation_min_ft|}}}
      |pref={{{unit_pref}}}
      |name={{{subdivision_name}}}
    }} }}
<!-- ***Elevation min rank*** -->
| rowclass84 = mergedrow
| label84 = &nbsp;•&nbsp;排名
|  data84 = {{#if:{{{elevation_min_m|}}}{{{elevation_min_ft|}}}|{{{elevation_min_rank|}}}}}
 
<!-- ***Population*** -->
| rowclass85 = mergedtoprow
| label85 = 人口<span style="font-weight:normal">{{#if:{{{population_as_of|}}}|({{{population_as_of}}})}}{{{population_footnotes|}}}</span>
|  data85 = {{#if:{{{population|}}}
  | {{#invoke:IfUtil|ifnoAddTail|{{formatnum:{{{population}}}}}|人}}
  | {{#ifeq:{{{total_type}}}|&nbsp;
    | {{#if:{{{population_total|}}}
      | {{#invoke:IfUtil|ifnoAddTail|{{formatnum:{{{population_total}}}}}|人}}
      }}
    }}
  }}
 
| rowclass86 = mergedtoprow
| header86 = {{#if:{{{population|}}}
  |
  |{{#ifeq:{{{total_type}}}|&nbsp;
    |
    |{{#if:{{{population_total|}}}{{{population_urban|}}}{{{population_rural|}}}{{{population_metro|}}}{{{population_blank1|}}}{{{population_blank2|}}}{{{population_est|}}}
      |人口<span style="font-weight:normal">{{#if:{{{population_as_of|}}}|({{{population_as_of}}})}}{{{population_footnotes|}}}</span>
      }}
    }}
  }}
 
| rowclass87 = mergedrow
| label87 = &nbsp;•&nbsp;{{#if:{{{total_type|}}}|{{{total_type}}}|{{#if:{{{population_metro|}}}{{{population_urban|}}}{{{population_rural|}}}{{{area_metro_km2|}}}{{{area_metro_sq_mi|}}}{{{area_urban_km2|}}}{{{area_urban_sq_mi|}}}{{{area_rural_km2|}}}{{{area_rural_sq_mi|}}}|{{#if:{{{settlement_type|{{{type|}}}}}}|{{{settlement_type|{{{type}}}}}}|城市}}|總計}}}}
|  data87 = {{#if:{{{population|}}}
  |
  |{{#ifeq:{{{total_type}}}|&nbsp;
    |
    |{{#if:{{{population_total|}}}
      | {{#invoke:IfUtil|ifnoAddTail|{{formatnum:{{{population_total}}}}}|人}}
      }}
    }}
  }}
 
| rowclass88 = mergedrow
| label88 = &nbsp;•&nbsp;估计<span style="font-weight:normal">({{{pop_est_as_of}}}){{{pop_est_footnotes|}}}</span>
|  data88 = {{#if:{{{population_est|}}}|{{formatnum:{{{population_est}}}}} }}
 
<!-- ***Population rank*** -->
| rowclass89 = mergedrow
| label89 =&nbsp;•&nbsp;排名
|  data89 = {{{population_rank|}}}
 
| rowclass90 = mergedrow
| label90 = &nbsp;•&nbsp;[[人口密度|密度]]
|  data90 = {{#if:{{{population_density_km2|}}}{{{population_density_sq_mi|}}}{{{population_total|}}}
  |{{infobox_settlement/densdisp
      |/km2 ={{#ifeq:{{{population_density_km2|}}}|auto|auto|{{解析數字|{{{population_density_km2|}}} }} }}
      |/sqmi={{#ifeq:{{{population_density_km2|}}}|auto|auto|{{解析數字|{{{population_density_sq_mi|}}} }} }}
      |pop  ={{解析數字|{{{population_total|}}} }}
      |dunam={{解析數字|{{{area_total_dunam|}}} }}
      |ha  ={{解析數字|{{{area_total_ha|}}} }}
      |km2  ={{解析數字|{{{area_total_km2|}}} }}
      |acre ={{解析數字|{{{area_total_acre|}}} }}
      |sqmi ={{解析數字|{{{area_total_sq_mi|}}} }}
      |pref ={{{unit_pref}}}
      |name ={{{subdivision_name}}}
    }}}}
 
<!-- ***Population density rank*** -->
| rowclass91 = mergedrow
| label91 = &nbsp;•&nbsp;密度排名
|  data91 = {{{population_density_rank|}}}
 
| rowclass92 = mergedrow
| label92 = &nbsp;•&nbsp;[[市区]]<span style="font-weight:normal">{{{population_urban_footnotes|}}}</span>
|  data92 = {{#if:{{{population_urban|}}}| {{formatnum:{{{population_urban}}}}} }}
 
| rowclass93 = mergedrow
| label93 = &nbsp;•&nbsp;市区密度
|  data93 = {{#if:{{{population_density_urban_km2|}}}{{{population_density_urban_sq_mi|}}}{{{population_urban|}}}
  |{{infobox_settlement/densdisp
      |/km2 ={{{population_density_urban_km2|}}}
      |/sqmi={{{population_density_urban_sq_mi|}}}
      |pop  ={{{population_urban|}}}
      |ha  ={{{area_urban_ha|}}}
      |km2  ={{{area_urban_km2|}}}
      |acre ={{{area_urban_acre|}}}
      |sqmi ={{{area_urban_sq_mi|}}}
      |dunam={{{area_urban_dunam|}}}
      |pref ={{{unit_pref}}}
      |name ={{{subdivision_name}}}
    }}}}
 
| rowclass94 = mergedrow
| label94 = &nbsp;•&nbsp;[[乡村]]<span style="font-weight:normal">{{{population_rural_footnotes|}}}</span>
|  data94 = {{#if:{{{population_rural|}}}|{{formatnum:{{{population_rural}}}}}}}
 
| rowclass95 = mergedrow
| label95 = &nbsp;•&nbsp;乡村密度
|  data95 = {{#if:{{{population_density_rural_km2|}}}{{{population_density_rural_sq_mi|}}}{{{population_rural|}}}
  |{{infobox_settlement/densdisp
      |/km2 ={{{population_density_rural_km2|}}}
      |/sqmi={{{population_density_rural_sq_mi|}}}
      |pop  ={{{population_rural|}}}
      |ha  ={{{area_rural_ha|}}}
      |km2  ={{{area_rural_km2|}}}
      |acre ={{{area_rural_acre|}}}
      |sqmi ={{{area_rural_sq_mi|}}}
      |dunam={{{area_rural_dunam|}}}
      |pref ={{{unit_pref}}}
      |name ={{{subdivision_name}}}
     }}}}
 
| rowclass96 = mergedrow
| label96 =&nbsp;•&nbsp;[[都會區]]<span style="font-weight:normal">{{{population_metro_footnotes|}}}</span>
|  data96 = {{#if:{{{population_metro|}}}| {{formatnum:{{{population_metro}}}}} }}
 
| rowclass97 = mergedrow
| label97 = &nbsp;•&nbsp;都會區密度
|  data97 =  {{#if:{{{population_density_metro_km2|}}}{{{population_density_metro_sq_mi|}}}{{{population_metro|}}}
  |{{infobox_settlement/densdisp
      |/km2 ={{{population_density_metro_km2|}}}
      |/sqmi={{{population_density_metro_sq_mi|}}}
      |pop  ={{{population_metro|}}}
      |ha  ={{{area_metro_ha|}}}
      |km2  ={{{area_metro_km2|}}}
      |acre ={{{area_metro_acre|}}}
      |sqmi ={{{area_metro_sq_mi|}}}
      |dunam={{{area_metro_dunam|}}}
      |pref ={{{unit_pref}}}
      |name ={{{subdivision_name}}}
    }}}}
 
| rowclass98 = mergedrow
| label98 = &nbsp;•&nbsp;{{{population_blank1_title|}}}<span style="font-weight:normal">{{{population_blank1_footnotes|}}}</span>
|  data98 = {{#if:{{{population_blank1|}}}|{{formatnum:{{{population_blank1}}}}}}}
 
| rowclass99 = mergedrow
| label99 = &nbsp;•&nbsp;{{#if:{{{population_blank1_title|}}}|{{{population_blank1_title}}}密度|密度}}
|  data99 =  {{#if:{{{population_density_blank1_km2|}}}{{{population_density_blank1_sq_mi|}}}{{{population_blank1|}}}
  |{{infobox_settlement/densdisp
      |/km2 ={{{population_density_blank1_km2|}}}
      |/sqmi={{{population_density_blank1_sq_mi|}}}
      |pop  ={{{population_blank1|}}}
      |ha  ={{{area_blank1_ha|}}}
      |km2  ={{{area_blank1_km2|}}}
      |acre ={{{area_blank1_acre|}}}
      |sqmi ={{{area_blank1_sq_mi|}}}
      |dunam={{{area_blank1_dunam|}}}
      |pref ={{{unit_pref}}}
      |name ={{{subdivision_name}}}
    }}}}
 
| rowclass100 = mergedrow
| label100 = &nbsp;•&nbsp;{{{population_blank2_title|}}}<span style="font-weight:normal">{{{population_blank2_footnotes|}}}</span>
|  data100 = {{#if:{{{population_blank2|}}}|{{formatnum:{{{population_blank2}}}}}}}
 
| rowclass101 = mergedrow
| label101 = &nbsp;•&nbsp;{{#if:{{{population_blank2_title|}}}|{{{population_blank2_title}}}密度|密度}}
|  data101 = {{#if:{{{population_density_blank2_km2|}}}{{{population_density_blank2_sq_mi|}}}{{{population_blank2|}}}
  |{{infobox_settlement/densdisp
      |/km2 ={{{population_density_blank2_km2|}}}
      |/sqmi={{{population_density_blank2_sq_mi|}}}
      |pop  ={{{population_blank2|}}}
      |ha  ={{{area_blank2_ha|}}}
      |km2  ={{{area_blank2_km2|}}}
      |acre ={{{area_blank2_acre|}}}
      |sqmi ={{{area_blank2_sq_mi|}}}
      |dunam={{{area_blank2_dunam|}}}
      |pref ={{{unit_pref}}}
      |name ={{{subdivision_name}}}
    }}}}
 
| rowclass102 = mergedrow
| label102 = &nbsp;
|  data102 = {{#if:{{{population_note|}}}|<small>{{{population_note}}}</small>}}
 
| rowclass103 = mergedtoprow
| label103 = [[区域居民称谓词|居民称谓]]
|  data103 = {{{population_demonym|}}}
 
<!-- ***Demographics 1*** -->
| rowclass104 = mergedtoprow
| header104 = {{#if:{{{demographics_type1|}}}
|{{{demographics_type1}}}<span style="font-weight:normal">{{{demographics1_footnotes|}}}</span>}}
| rowclass105 = mergedrow
| label105 = &nbsp;•&nbsp;{{{demographics1_title1}}}
|  data105 = {{#if:{{{demographics_type1|}}}
|{{#if:{{{demographics1_title1|}}}|{{{demographics1_info1|}}}}}}}
| rowclass106 = mergedrow
| label106 = &nbsp;•&nbsp;{{{demographics1_title2}}}
|  data106 = {{#if:{{{demographics_type1|}}}
|{{#if:{{{demographics1_title2|}}}|{{{demographics1_info2|}}}}}}}
| rowclass107 = mergedrow
| label107 = &nbsp;•&nbsp;{{{demographics1_title3}}}
|  data107 = {{#if:{{{demographics_type1|}}}
|{{#if:{{{demographics1_title3|}}}|{{{demographics1_info3|}}}}}}}
| rowclass108 = mergedrow
| label108 = &nbsp;•&nbsp;{{{demographics1_title4}}}
|  data108 = {{#if:{{{demographics_type1|}}}
|{{#if:{{{demographics1_title4|}}}|{{{demographics1_info4|}}}}}}}
| rowclass109 = mergedrow
| label109 = &nbsp;•&nbsp;{{{demographics1_title5}}}
|  data109 = {{#if:{{{demographics_type1|}}}
|{{#if:{{{demographics1_title5|}}}|{{{demographics1_info5|}}}}}}}
| rowclass110 = mergedrow
| label110 = &nbsp;•&nbsp;{{{demographics1_title6}}}
|  data110 = {{#if:{{{demographics_type1|}}}
|{{#if:{{{demographics1_title6|}}}|{{{demographics1_info6|}}}}}}}
| rowclass111 = mergedrow
| label111 = &nbsp;•&nbsp;{{{demographics1_title7}}}
|  data111 = {{#if:{{{demographics_type1|}}}
|{{#if:{{{demographics1_title7|}}}|{{{demographics1_info7|}}}}}}}
| rowclass112 = mergedrow
| label112 = &nbsp;•&nbsp;{{{demographics1_title8}}}
|  data112 = {{#if:{{{demographics_type1|}}}
|{{#if:{{{demographics1_title8|}}}|{{{demographics1_info8|}}}}}}}
| rowclass113 = mergedrow
| label113 = &nbsp;•&nbsp;{{{demographics1_title9}}}
|  data113 = {{#if:{{{demographics_type1|}}}
|{{#if:{{{demographics1_title9|}}}|{{{demographics1_info9|}}}}}}}
| rowclass114 = mergedrow
| label114 = &nbsp;•&nbsp;{{{demographics1_title10}}}
|  data114 = {{#if:{{{demographics_type1|}}}
|{{#if:{{{demographics1_title10|}}}|{{{demographics1_info10|}}}}}}}
 
<!-- ***Demographics 2*** -->
| rowclass115 = mergedtoprow
| header115 = {{#if:{{{demographics_type2|}}}
|{{{demographics_type2}}}<span style="font-weight:normal">{{{demographics2_footnotes|}}}</span>}}
| rowclass116 = mergedrow
| label116 = &nbsp;•&nbsp;{{{demographics2_title1}}}
|  data116 = {{#if:{{{demographics_type2|}}}
|{{#if:{{{demographics2_title1|}}}|{{{demographics2_info1|}}}}}}}
| rowclass117 = mergedrow
| label117 = &nbsp;•&nbsp;{{{demographics2_title2}}}
|  data117 = {{#if:{{{demographics_type2|}}}
|{{#if:{{{demographics2_title2|}}}|{{{demographics2_info2|}}}}}}}
| rowclass118 = mergedrow
| label118 = &nbsp;•&nbsp;{{{demographics2_title3}}}
|  data118 = {{#if:{{{demographics_type2|}}}
|{{#if:{{{demographics2_title3|}}}|{{{demographics2_info3|}}}}}}}
| rowclass119 = mergedrow
| label119 = &nbsp;•&nbsp;{{{demographics2_title4}}}
|  data119 = {{#if:{{{demographics_type2|}}}
|{{#if:{{{demographics2_title4|}}}|{{{demographics2_info4|}}}}}}}
| rowclass120 = mergedrow
| label120 = &nbsp;•&nbsp;{{{demographics2_title5}}}
|  data120 = {{#if:{{{demographics_type2|}}}
|{{#if:{{{demographics2_title5|}}}|{{{demographics2_info5|}}}}}}}
| rowclass121 = mergedrow
| label121 = &nbsp;•&nbsp;{{{demographics2_title6}}}
|  data121 = {{#if:{{{demographics_type2|}}}
|{{#if:{{{demographics2_title6|}}}|{{{demographics2_info6|}}}}}}}
| rowclass122 = mergedrow
| label122 = &nbsp;•&nbsp;{{{demographics2_title7}}}
|  data122 = {{#if:{{{demographics_type2|}}}
|{{#if:{{{demographics2_title7|}}}|{{{demographics2_info7|}}}}}}}
| rowclass123 = mergedrow
| label123 = &nbsp;•&nbsp;{{{demographics2_title8}}}
|  data123 = {{#if:{{{demographics_type2|}}}
|{{#if:{{{demographics2_title8|}}}|{{{demographics2_info8|}}}}}}}
| rowclass124 = mergedrow
| label124 = &nbsp;•&nbsp;{{{demographics2_title9}}}
|  data124 = {{#if:{{{demographics_type2|}}}
|{{#if:{{{demographics2_title9|}}}|{{{demographics2_info9|}}}}}}}
| rowclass125 = mergedrow
| label125 = &nbsp;•&nbsp;{{{demographics2_title10}}}
|  data125 = {{#if:{{{demographics_type2|}}}
|{{#if:{{{demographics2_title10|}}}|{{{demographics2_info10|}}}}}}}
 
<!-- ***Time Zones*** -->
| rowclass126 = mergedtoprow
| label126 = {{#if:{{{timezone2|}}}|[[{{#if:{{{timezone_link|}}}|{{{timezone_link}}}|时区}}|时区]]|[[{{#if:{{{timezone_link|}}}|{{{timezone_link}}}|时区}}|时区]]}}
|  data126 = {{#if:{{{timezone1|{{{timezone|}}}}}}|{{{timezone1|{{{timezone}}}}}}{{#if:{{{utc_offset1|{{{utc_offset|}}} }}}|([[UTC{{{utc_offset1|{{{utc_offset}}}}}}]])}} }}
 
| rowclass127 = mergedrow
| label127 = <nowiki />
|  data127 = {{#if:{{{timezone1|{{{timezone|}}}}}}|{{#if:{{{timezone2|}}}|{{{timezone2}}}{{#if:{{{utc_offset2|{{{utc_offset2|}}} }}}|([[UTC{{{utc_offset2|{{{utc_offset2}}}}}}]])}} }} }}
 
| rowclass128 = mergedrow
| label128 = &nbsp;•&nbsp;[[夏时制]]
|  data128 = {{#if:{{{timezone1|{{{timezone|}}}}}}|{{#if:{{{timezone1_DST|{{{timezone_DST|}}}}}}|{{{timezone1_DST|{{{timezone_DST|}}}}}}([[UTC{{{utc_offset1_DST|{{{utc_offset_DST|}}}}}}]])}} }}
 
| rowclass129 = mergedrow
| label129 = <nowiki />
|  data129 = {{#if:{{{timezone1|{{{timezone|}}}}}}|{{#if:{{{timezone1_DST|{{{timezone_DST|}}}}}}|{{#if:{{{timezone2_DST|}}}|{{{timezone2_DST}}}([[UTC{{{utc_offset2_DST|}}}]])}} }} }}
 
<!-- ***Postal Code(s)*** -->
| rowclass137 = mergedtoprow
| label137 = {{#if:{{{postal_code_type|}}}|{{{postal_code_type}}}|[[邮政编码|-{zh-cn:邮政编码; zh-tw:郵遞區號; zh-hk:郵區編號;}-]]}}
| class137 = adr
|  data137 = {{#if:{{{postal_code|}}}|<span class="postal-code">{{{postal_code}}}</span>}}
 
| rowclass138 = {{#if:{{#if:{{{postal_code|}}}|1}}|mergedbottomrow|mergedtoprow}}
| label138 = {{#if:{{{postal2_code_type|}}}|{{{postal2_code_type}}}|[[邮政编码|-{zh-cn:邮政编码; zh-tw:郵遞區號; zh-hk:郵區編號;}-]]}}
| class138 = adr
|  data138 = {{#if:{{{postal2_code|}}}|<span class="postal-code">{{{postal2_code}}}</span>}}
 
<!-- ***Area Code(s)*** -->
| rowclass139 = {{#if:{{#if:{{{postal_code|}}}|1}}{{#if:{{{postal2_code|}}}|1}}|mergedrow|mergedtoprow}}
| label139 = {{#if:{{{area_code_type|}}}|{{{area_code_type}}}|[[国际电话区号列表|電話區號]]}}
|  data139 = {{{area_code|}}}
 
<!-- Geocode-->
| rowclass140 = {{#if:{{#if:{{{postal_code|}}}|1}}{{#if:{{{postal2_code|}}}|1}}{{{area_code|}}}|mergedrow|mergedtoprow}}
| label140 = [[地理编码|地理坐标]]
| class140 = nickname
|  data140 = {{{geocode|}}}
 
<!-- ISO Code-->
| rowclass141 = {{#if:{{#if:{{{postal_code|}}}|1}}{{#if:{{{postal2_code|}}}|1}}{{{area_code|}}}{{{geocode|}}}|mergedrow|mergedtoprow}}
| label141 = {{nowrap|[[ISO 3166|ISO 3166码]]}}
| class141 = nickname
|  data141 = {{{iso_code|}}}
 
<!-- Vehicle registration plate-->
| rowclass142 = {{#if:{{#if:{{{postal_code|}}}|1}}{{#if:{{{postal2_code|}}}|1}}{{{area_code|}}}{{{geocode|}}}{{{iso_code|}}}|mergedrow|mergedtoprow}}
| label142 = {{#if:{{{registration_plate_type|}}}|{{{registration_plate_type}}}|[[車輛號牌]]}}
|  data142 = {{{registration_plate|}}}
 
<!-- ***Blank Fields (two sections)*** -->
| rowclass145 = mergedtoprow
| label145 = {{{blank_name_sec1|{{{blank_name|}}}}}}
|  data145 = {{#if:{{{blank_name_sec1|{{{blank_name|}}}}}}|{{{blank_info_sec1|{{{blank_info|}}}}}}}}
 
| rowclass146 = mergedrow
| label146 = {{{blank1_name_sec1|{{{blank1_name|}}}}}}
| data146 = {{#if:{{{blank1_name_sec1|{{{blank1_name|}}}}}}|{{{blank1_info_sec1|{{{blank1_info|}}}}}}}}
 
| rowclass147 = mergedrow
| label147 = {{{blank2_name_sec1|{{{blank2_name|}}}}}}
| data147 = {{#if:{{{blank2_name_sec1|{{{blank2_name|}}}}}}|{{{blank2_info_sec1|{{{blank2_info|}}}}}}}}
 
| rowclass148 = mergedrow
| label148 = {{{blank3_name_sec1|{{{blank3_name|}}}}}}
|  data148 = {{#if:{{{blank3_name_sec1|{{{blank3_name|}}}}}}|{{{blank3_info_sec1|{{{blank3_info|}}}}}}}}
 
| rowclass149 = mergedrow
| label149 = {{{blank4_name_sec1|{{{blank4_name|}}}}}}
|  data149 = {{#if:{{{blank4_name_sec1|{{{blank4_name|}}}}}}|{{{blank4_info_sec1|{{{blank4_info|}}}}}}}}
 
| rowclass150 = mergedrow
| label150 = {{{blank5_name_sec1|{{{blank5_name|}}}}}}
|  data150 = {{#if:{{{blank5_name_sec1|{{{blank5_name|}}}}}}|{{{blank5_info_sec1|{{{blank5_info|}}}}}}}}
 
| rowclass151 = mergedrow
| label151 = {{{blank6_name_sec1|{{{blank6_name|}}}}}}
|  data151 = {{#if:{{{blank6_name_sec1|{{{blank6_name|}}}}}}|{{{blank6_info_sec1|{{{blank6_info|}}}}}}}}
 
| rowclass152 = mergedrow
| label152 = {{{blank7_name_sec1|{{{blank7_name|}}}}}}
|  data152 = {{#if:{{{blank7_name_sec1|{{{blank7_name|}}}}}}|{{{blank7_info_sec1|{{{blank7_info|}}}}}}}}
 
| rowclass153 = mergedtoprow
| label153 = {{{blank_name_sec2}}}
|  data153 = {{#if:{{{blank_name_sec2|}}}|{{{blank_info_sec2|}}}}}
 
| rowclass154 = mergedrow
| label154 = {{{blank1_name_sec2}}}
|  data154 = {{#if:{{{blank1_name_sec2|}}}|{{{blank1_info_sec2|}}}}}
 
| rowclass155 = mergedrow
| label155 = {{{blank2_name_sec2}}}
|  data155 = {{#if:{{{blank2_name_sec2|}}}|{{{blank2_info_sec2|}}}}}
 
| rowclass156 = mergedrow
| label156 = {{{blank3_name_sec2}}}
|  data156 = {{#if:{{{blank3_name_sec2|}}}|{{{blank3_info_sec2|}}}}}
 
| rowclass157 = mergedrow
| label157 = {{{blank4_name_sec2}}}
|  data157 = {{#if:{{{blank4_name_sec2|}}}|{{{blank4_info_sec2|}}}}}
 
| rowclass158 = mergedrow
| label158 = {{{blank5_name_sec2}}}
|  data158 = {{#if:{{{blank5_name_sec2|}}}|{{{blank5_info_sec2|}}}}}
 
| rowclass159 = mergedrow
| label159 = {{{blank6_name_sec2}}}
|  data159 = {{#if:{{{blank6_name_sec2|}}}|{{{blank6_info_sec2|}}}}}
 
| rowclass160 = mergedrow
| label160 = {{{blank7_name_sec2}}}
|  data160 = {{#if:{{{blank7_name_sec2|}}}|{{{blank7_info_sec2|}}}}}
 
<!-- ***Website*** -->
| rowclass161 = mergedtoprow
| label161 = 網站
|  data161 = {{#if:{{{website|}}}|{{{website}}}}}
 
<!-- ***Footnotes*** -->
| belowstyle = text-align:left; font-size:smaller
| belowrowclass = mergedtoprow
| below = {{{footnotes|}}}
}}<includeonly><!-- 检查弃用参数 -->{{#ifeq:{{{coor_type|♠}}}{{{city_logo|♠}}}{{{area_total|♠}}}{{{area_land|♠}}}{{{area_water|♠}}}{{{TotalArea_sq_mi|♠}}}{{{LandArea_sq_mi|♠}}}{{{WaterArea_sq_mi|♠}}}{{{area_urban|♠}}}{{{UrbanArea_sq_mi|♠}}}{{{area_metro|♠}}}{{{MetroArea_sq_mi|♠}}}{{{elevation|♠}}}{{{population_density|♠}}}{{{population_density_mi2|♠}}}{{{population_density_metro_mi2|♠}}}{{{population_density_urban_mi2|♠}}}|♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠||[[Category:信息框需要维护的聚居地条目]]}}{{#switch:{{{coordinates_region|}}}|CA-X|US-X|IN-X=[[Category:使用不精确行政区代码的聚居地条目]]
}}{{#if:{{{image_dot_map|}}}{{{dot_mapsize|}}}{{{dot_map_base_alt|}}}{{{dot_map_alt|}}}{{{dot_map_caption|}}}{{{dot_x|}}}{{{dot_y|}}}|[[Category:使用点示地图的聚居地条目]]
}}</includeonly>{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:使用未知infobox settlement参数的页面|_VALUE_{{PAGENAME}}]]}}|preview = 页面使用了[[Template:Infobox settlement]]不存在的参数"_VALUE_"|ignoreblank=y
| alt | anthem | area_blank1_acre | area_blank1_dunam | area_blank1_ha | area_blank1_km2 | area_blank1_sq_mi | area_blank1_title | area_blank2_acre | area_blank2_dunam | area_blank2_ha | area_blank2_km2 | area_blank2_sq_mi | area_blank2_title | area_code | area_code_type | area_footnotes | area_land_acre | area_land_dunam | area_land_ha | area_land_km2 | area_land_sq_mi | area_magnitude | area_metro_acre | area_metro_dunam | area_metro_footnotes | area_metro_ha | area_metro_km2 | area_metro_sq_mi | area_note | area_rank | area_rural_acre | area_rural_dunam | area_rural_footnotes | area_rural_ha | area_rural_km2 | area_rural_sq_mi | area_total_acre | area_total_dunam | area_total_ha | area_total_km2 | area_total_sq_mi | area_urban_acre | area_urban_dunam | area_urban_footnotes | area_urban_ha | area_urban_km2 | area_urban_sq_mi | area_water_acre | area_water_dunam | area_water_ha | area_water_km2 | area_water_percent | area_water_sq_mi | blank_emblem_alt | blank_emblem_link | blank_emblem_size | blank_emblem_type | blank_info | blank_info_sec1 | blank_info_sec2 | blank_name | blank_name_sec1 | blank_name_sec2 | blank1_info | blank1_info_sec1 | blank1_info_sec2 | blank1_name | blank1_name_sec1 | blank1_name_sec2 | blank2_info | blank2_info_sec1 | blank2_info_sec2 | blank2_name | blank2_name_sec1 | blank2_name_sec2 | blank3_info | blank3_info_sec1 | blank3_info_sec2 | blank3_name | blank3_name_sec1 | blank3_name_sec2 | blank4_info | blank4_info_sec1 | blank4_info_sec2 | blank4_name | blank4_name_sec1 | blank4_name_sec2 | blank5_info | blank5_info_sec1 | blank5_info_sec2 | blank5_name | blank5_name_sec1 | blank5_name_sec2 | blank6_info | blank6_info_sec1 | blank6_info_sec2 | blank6_name | blank6_name_sec1 | caption | blank6_name_sec2 | blank7_info | blank7_info_sec1 | blank7_info_sec2 | blank7_name | blank7_name_sec1 | blank7_name_sec2 | coor_pinpoint | coor_type | coordinates |  coordinates_footnotes | demographics_type1 | demographics_type2 | demographics1_footnotes | demographics1_info1 | demographics1_info2 | demographics1_info3 | demographics1_info4 | demographics1_info5 | demographics1_info6 | demographics1_info7 | demographics1_info8 | demographics1_info9 | demographics1_info10 | demographics1_title1 | demographics1_title2 | demographics1_title3 | demographics1_title4 | demographics1_title5 | demographics1_title6 | demographics1_title7 | demographics1_title8 | demographics1_title9 | demographics1_title10 | demographics2_footnotes | demographics2_info1 | demographics2_info2 | demographics2_info3 | demographics2_info4 | demographics2_info5 | demographics2_info6 | demographics2_info7 | demographics2_info8 | demographics2_info9 | demographics2_info10 | demographics2_title1 | demographics2_title2 | demographics2_title3 | demographics2_title4 | demographics2_title5 | demographics2_title6 | demographics2_title7 | demographics2_title8 | demographics2_title9 | demographics2_title10 | dimensions_footnotes | dunam_link | elevation_footnotes | elevation_ft | elevation_m | elevation_max_footnotes | elevation_max_ft | elevation_max_m | elevation_max_point | elevation_max_rank | elevation_min_footnotes | elevation_min_ft | elevation_min_m | elevation_min_point | elevation_min_rank | elevation_point | embed | established_date | established_date1 | established_date2 | established_date3 | established_date4 | established_date5 | established_date6 | established_date7 | established_title | established_title1 | established_title2 | established_title3 | established_title4 | established_title5 | established_title6 | established_title7 | etymology | extinct_date | extinct_title | flag_alt | flag_border | flag_link | flag_size | flag_type | footnotes| founder | geocode | governing_body | government_footnotes | government_type | grid_name | grid_position | image | image_alt | image_blank_emblem | image_caption | image_flag | image_map | image_map1 | image_seal | image_shield | image_skyline | image_size | imagesize | iso_code | leader_name | leader_name1 | leader_name2 | leader_name3 | leader_name4 | leader_party | leader_title | leader_title1 | leader_title2 | leader_title3 | leader_title4 | length_km | length_mi | map_alt | map_alt1 | map_caption | map_caption1 | mapsize | mapsize1 | motto | name | named_for | native_name | native_name_lang | nickname | official_name | other_name | p1 | p10 | p11 | p12 | p13 | p14 | p15 | p16 | p17 | p18 | p19 | p2 | p20 | p21 | p22 | p23 | p24 | p25 | p26 | p27 | p28 | p29 | p3 | p30 | p31 | p32 | p33 | p34 | p35 | p36 | p37 | p38 | p39 | p4 | p40 | p41 | p42 | p43 | p44 | p45 | p46 | p47 | p48 | p49 | p5 | p50 | p6 | p7 | p8 | p9 | parts | parts_style | parts_type | pop_est_as_of | pop_est_footnotes | population | population_as_of | population_blank1 | population_blank1_footnotes | population_blank1_title | population_blank2 | population_blank2_footnotes | population_blank2_title | population_demonym | population_density_blank1_km2 | population_density_blank1_sq_mi | population_density_blank2_km2 | population_density_blank2_sq_mi | population_density_km2 | population_density_metro_km2 | population_density_metro_sq_mi | population_density_rank | population_density_rural_km2 | population_density_rural_sq_mi | population_density_sq_mi | population_density_urban_km2 | population_density_urban_sq_mi | population_est | population_footnotes | population_metro | population_metro_footnotes | population_note | population_rank | population_rural | population_rural_footnotes | population_total | population_urban | population_urban_footnotes | postal_code | postal_code_type | postal2_code | postal2_code_type | pushpin_image | pushpin_label | pushpin_label_position | pushpin_map | pushpin_map_alt | pushpin_map_caption | pushpin_map_caption_notsmall | pushpin_map_narrow | pushpin_mapsize | pushpin_outside | pushpin_overlay | pushpin_relief | registration_plate | registration_plate_type | seal_alt | seal_link | seal_size | seal_type | seat | seat_type | seat1 | seat1_type | settlement_type | shield_alt | shield_link | shield_size | shield_type | subdivision_name | subdivision_name1 | subdivision_name2 | subdivision_name3 | subdivision_name4 | subdivision_name5 | subdivision_name6 | subdivision_type | subdivision_type1 | subdivision_type2 | subdivision_type3 | subdivision_type4 | subdivision_type5 | subdivision_type6 | timezone | timezone_link | timezone_DST | timezone1 | timezone1_DST | timezone2 | timezone2_DST | total_type | translit_lang1 | translit_lang1_info | translit_lang1_info1 | translit_lang1_info2 | translit_lang1_info3 | translit_lang1_info4 | translit_lang1_info5 | translit_lang1_info6 | translit_lang1_type | translit_lang1_type1 | translit_lang1_type2 | translit_lang1_type3 | translit_lang1_type4 | translit_lang1_type5 | translit_lang1_type6 | translit_lang2 | translit_lang2_info | translit_lang2_info1 | translit_lang2_info2 | translit_lang2_info3 | translit_lang2_info4 | translit_lang2_info5 | translit_lang2_info6 | translit_lang2_type | translit_lang2_type1 | translit_lang2_type2 | translit_lang2_type3 | translit_lang2_type4 | translit_lang2_type5 | translit_lang2_type6 | type | unit_pref | utc_offset | utc_offset_DST | utc_offset1 | utc_offset1_DST | utc_offset2 | utc_offset2_DST | website | width_km | width_mi | government_blank1_title | government_blank1 | government_blank2_title | government_blank2 | government_blank3_title | government_blank3 | government_blank4_title | government_blank4 | government_blank5_title | government_blank5 | government_blank6_title | government_blank6
}}{{#if:{{{coordinates_wikidata|}}}{{{wikidata|}}}
|[[Category:使用维基数据参数的聚居地条目]]
}}<noinclude>
{{Documentation}}
<!--Please add this template's categories to the /doc subpage, not here - thanks!-->
</noinclude>

2022年9月21日 (三) 03:44的版本

<templatestyles src="ShareCSS/infobox.css" /><templatestyles src="Module:Infobox/styles.css"></templatestyles>

Infobox Settlement
坐标:模块:Coordinates第614行Lua错误:attempt to index field 'wikibase' (a nil value)

<templatestyles src="Module:Documentation/styles.css"></templatestyles>