local building = require "Módulo:Infobox/Funções/Edifício"
local general = require "Módulo:Infobox/Funções"
local l = require "Módulo:Infobox/Funções/Localidade"
local convert = require "Módulo:Conversão"
function mainimage(args, defaultimage)
if type( args ) ~= 'table' then
args = { cat = args, defaultimage = defaultimage }
end
return {
type = 'images',
imageparameters = {'imagem', 'image', 'imagem_lago'},
defaultimages = args.defaultimage,
defaultimagelink = 'Ajuda:Guia de edição/Como usar imagens',
sizeparameter = 'imagem tamanho',
uprightparameter = 'upright',
defaultupright = args.upright,
defaultsize = args.size or args.tamanho,
maintenancecat = args.cat or '!Artigos de geografia sem imagens',
captionparameter = {'legenda', 'imagem_legenda', 'legenda_imagem', 'legenda_lago' },
altparameter = args.altparameter or 'alternative image',
defaultalt = args.alt,
defaultimagealt = args.defaultimagealt,
wikidata = args.wikidata or {property = 'P18'},
numval = 1,
}
end
-- Nome na língua nativo
local function nomeNativo()
local value = function(localdata)
nome = localdata['nome_nativo']
lang = localdata['nome_nativo_ling']
if lang then
value = '(' .. lang .. ') ' .. nome
end
return value
end
return {type = 'text', value = value, ['background-color'] = maincolor, wikidata = {property = 'P1705', showlang = true}}
end
local function estimativas(localdata)
local value = function(localdata)
value = localdata['perimetro'] or localdata['perímetro'] or localdata['perímetro_n'] or localdata['área_n'] or localdata['área'] or localdata['volume'] or localdata['volume_n']
if value then
value = '<sup>*</sup> Os valores do perímetro, área e volume podem ser imprecisos devido às estimativas envolvidas, podendo não estar normalizadas.'
end
return value
end
return {type = 'text', value = value, ['background-color'] = maincolor, ['font-weight'] = 'normal' }
end
return {
maincolor = 'D0E0F0',
parts = {
general.title( 'mapa', nil, nomeNativo(), nil),
{type = 'table', rows = {
nomeNativo,
{type = 'text', value = 'outro_nome'},
{type = 'text', value = 'nome oficial', wikidata = {property = 'P1448', showlang = true}},
}},
mainimage(), --desligar params extra!
-- general.bathymetricmap(), -- imagem extra
{type = 'table', title = 'Localização', rows = {
{type = 'row', label = 'Continente', plurallabel = 'Continentes', value = 'continente', property = 'P30'},
{type = 'row', label = 'Região geográfica', value = {'região_geo', 'regiao_geo'}},
{type = 'row', label = 'Localização', value = {'localização', 'local'}, property = 'P706'},
building.adminlocation(),
{type = 'row', label = function ( localdata )
return localdata['regiao_adm1_rot'] or localdata['região_adm1_rót'] or 'Região administrativa'
end, value = {'regiao_adm1', 'região_adm1'}},
{type = 'row', label = function ( localdata )
return localdata['regiao_adm2_rot'] or localdata['região_adm2_rót'] or 'Província'
end, value = {'regiao_adm2', 'região_adm2'}},
{type = 'row', label = function ( localdata )
return localdata['regiao_adm3_rot'] or localdata['região_adm3_rót'] or 'Município'
end, value = {'regiao_adm3', 'região_adm3'}},
{type = 'row', label = function ( localdata )
return localdata['regiao_adm4_rot'] or localdata['região_adm4_rót'] or 'Comuna'
end, value = {'regiao_adm4', 'região_adm4'}},
building.island(),
building.mountainrange(),
{type = 'row', label = 'Parte de', value = 'parte de', property = 'P361'},
building.protectedarea(),
{type = 'row', label = 'Distrito', value = 'distrito'},
{type = 'row', label = 'Província', value = 'província'},
{type = 'row', label = 'Município', value = 'município'},
{type = 'row', label = 'Comuna', value = 'comuna'},
regiaoAdmin,
{type = 'row', label = 'Localidade mais próximas', value = {'localidades', 'cidades'}},
{type = 'row', label = 'Maior cidade', value = 'cidade'},
--general.coordms(),
building.coordenadas(),
}},
{type = 'table', title = 'Dimensões', rows = {
{type = 'row', label = '[[Altitude]]', value = function ( localdata ) return convert.displayvalue( localdata['altitude'], 'metro', {showunit = 'short'} ) end, wikidata = {property = 'P2044', targetunit = 'metro', conjtype = ' ou ', rounding = '0'}},
{type = 'row', label = 'Comprimento máximo', value = function ( localdata ) return convert.displayvalue( localdata['comprimento'] or localdata['comprimento_n'], 'km', {showunit = 'short'} ) end, wikidata = {property = 'P2043', targetunit = 'km', rounding = '2'}},
{type = 'row', label = 'Largura máxima', value = function ( localdata ) return convert.displayvalue( localdata['largura'] or localdata['largura_n'], 'km', {showunit = 'short'} ) end, wikidata = {property = 'P2040', targetunit = 'km', rounding = '2'}},
{type = 'row', label = 'Perímetro', value = function ( localdata ) return convert.displayvalue( localdata['perimetro'] or localdata['perimetro_n'], 'km', {showunit = 'short'} ) end, wikidata = {property = 'P2547', targetunit = 'km', rounding = '2'}},
{type = 'row', label = 'Superfície', value = function ( localdata ) return convert.displayvalue( localdata['area'] or localdata['area_n'] or localdata['área'], 'sqkm', {showunit = 'short'} ) end, wikidata = {property = 'P2046', targetunit = 'sqkm', rounding = '1'} },
{type = 'row', label = 'Profundidade média', value = function ( localdata ) return convert.displayvalue( localdata['prof_med'], 'metro', {showunit = 'short'} ) end, wikidata = {property = 'P4511', targetunit = 'm', rounding = '0'}},
{type = 'row', label = 'Maior [[Batimetria|profundidade]]', value = function ( localdata ) return convert.displayvalue( localdata['prof_max'] or localdata['maior profundidade'], 'metro', {showunit = 'short'} ) end},
{type = 'row', label = 'Volume', value = function ( localdata ) return convert.displayvalue( localdata['volume'] or localdata['volume_n'], 'km³', {showunit = 'short'} ) end, wikidata = {property = 'P2234', targetunit = 'km3', rounding = '3'}},
{type = 'row', label = 'Clima', plurallabel = 'Climas', value = 'clima', property = 'P2564'},
{type = "row", label = "Ilhas", value = {"nome das ilhas", "ilhas"}, wikidata = { property = 'P2670', targetvalue = 'Q23442', qualifiers = 'P1114',
showonlyqualifier = {'P1114'}}},
}},
{type = 'table', title = 'Hidrografia', rows = {
{type = 'row', label = 'Tipo', value = 'tipo', property = 'P31'},
{type = 'row', label = 'Superfície da bacia', value = function ( localdata ) return convert.displayvalue( localdata['superfície da bacia'], 'sqkm', {showunit = 'short'} ) end, wikidata = {property = 'P2053', targetunit = 'sqkm', rounding = '0'} },
{type = 'row', label = 'País(es) da<br />bacia hidrográfica', plurallabel = 'Países da<br />bacia hidrográfica', value = {'país_bacia', 'países_bacia', 'país da bacia hidrográfica', 'país soberano sobre a bacia hidrográfica'}, property = 'P205'},
{type = 'row', label = '[[Afluente]]', plurallabel='[[Afluente]]s', value = {'alimentação', 'afluentes'}, property = 'P200'},
{type = 'row', label = 'Retenção', value = {'retenção', 'duração da retenção'}, property = 'P3020'},
{type = 'row', label = 'Efluente', plurallabel='Efluentes', value = {'emissário', 'efluentes'}, property = 'P201'},
building.watershed(),
}},
{type = 'table', title = 'História', rows = {
{type = 'row', label = 'Origem do nome', value = 'origem do nome', property = 'P138'},
{type = 'row', label = 'Evento chave', plurallabel = 'Eventos chave', value = 'evento chave', property = 'P793'},
building.owner(),
{type = 'row', label = 'Barragem', plurallabel = 'Barragens', value = 'barragem', property = 'P4792'},
{type = 'row', label = 'Problema ambiental', plurallabel = 'Problemas ambientais', value = 'problema ambiental', property = 'P3643'},
{type = 'row', label = 'Estatuto patrimonial', value = 'estatuto patrimonial', property = 'P1435'},
{type = 'row', label = 'Distinção', plurallabel = 'Distinção', value = 'distinção', property = 'P166'},
}},
--general.auxmap(),
building.geoloc({pointtype = 'lago', maptype = 'relief', marker = 'wetland', markercolor = '#778BA5'}),
estimativas,
}
}