Módulo:Infobox/Corpo de água

Documentação do módulo[ver] [editar] [histórico] [purgar]

Descrição

Este módulo tem funções auxiliares de {{Info/Lago}}

Uso

Outra documentação:

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'],  'hm³', {showunit = 'short'} ) end, wikidata = {property = 'P2234', targetunit = 'hectometro cúbico', 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 = 'Bacia hidrográfica', value = function ( localdata )    return convert.displayvalue( localdata['baciahidrografica'],  'km3', {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,
   
    }
}