Esta wiki foi não teve nenhuma edição nem entrada nos registos durante os últimos 45 dias e foi marcada automaticamente como inativa. Se quiser impedir a wiki de ser fechada mostre alguns sinais de atividade. Se não houver sinais de utilização da wiki nos próximos 15 dias, ela será fechada de acordo com as normas de dormência (que todos os fundadores de wikis aceitam ao pedir uma wiki). Se a wiki for fechada e ninguém a reabrir nos próximos 135 dias, ela será candidata para eliminação. Nota: se é burocrata da wiki, pode ir a Special:ManageWiki e desmarcar "inativa" por si próprio.
De Família Corsi
A documentação para este módulo pode ser criada em Módulo:CoordStrWD/doc
--[[
Devolve uma string de coordenadas compatível com Predefinição:Coor dms/str (que pode ser usada em {{Coor dms}} e várias {{Info/...}}) construída com dados da Wikidata.
Uso: {{#invoke:CoordStrWD|coord_str| <string_def> | <get_wikidata> }}
Só vai buscar dados ao Wikidata se get_wikidata tiver algum valor (qualquer um) e string_def não for indicada. Se string_def for indicada, é ela que é devolvida.
--]]
local coord = {}
local function getWdObj( qid)
if qid then
qid = mw.text.trim(qid);
end
if qid == '' then
entity = mw.wikibase.getEntityObject();
else
entity = mw.wikibase.getEntityObject(qid);
end
if entity == nil then
return nil;
end
entity = entity.claims;
if entity == nil then
return nil;
end
entity = entity['P625'];
if entity == nil then
return nil;
end
entity = entity[1];
if entity == nil then
return nil;
end
entity = entity.mainsnak;
if entity == nil then
return nil;
end
entity = entity.datavalue;
if entity == nil then
return nil;
end
if entity.type ~= 'globecoordinate' then
return nil;
end
entity = entity.value;
if entity == nil then
return nil;
end
return entity;
end
local function grausminseg( vdec, neg, pos)
if vdec == nil then
return '';
end
local graus = math.floor(math.abs(vdec));
local minx = 60 * (math.abs(vdec) - graus);
local minut = math.floor(minx);
local seg = math.floor(60 * (minx - minut) + 0.499999);
if seg > 59 then
seg = 0;
minut = minut +1;
end
if minut > 60 then
minut = 0;
graus = graus + 1;
end
if string.len(graus) < 2 then
graus = '0'..graus;
end
if string.len(minut) < 2 then
minut = '0'..minut;
end
if string.len(seg) < 2 then
seg = '0'..seg;
end
if vdec < 0 then
vdec = neg;
else
vdec = pos;
end
return graus..'º'..minut.."'"..seg..'"'..vdec;
end
function coord.coord_str( frame)
local vdef = frame.args[1] or '';
vdef = mw.text.trim(vdef);
if vdef ~= '' then
return vdef;
end
local getWD = frame.args[2];
getWD = mw.text.trim(getWD) or '';
if getWD == '' then
return '';
end
local qid = frame.args[3] or '';
local entity = getWdObj( qid);
if entity == nil then
return '';
end
local lat = grausminseg( entity.latitude, 'S', 'N');
if lat == '' then
return '';
end
return lat..' '..grausminseg( entity.longitude, 'W', 'E');
end
return coord;