Modulo:Uzanto:Tlustulimu/Wikidata
Aspekto
[antaŭrigardi] [redakti] [historio] [renovigi]
Dokumentado
Jen kelkaj testoj
* {{#invoke:Uzanto:Tlustulimu/Wikidata|areo|id=Q657642}} {{#invoke:Uzanto:Tlustulimu/Wikidata|areoUnuo|id=Q657642}} * {{#invoke:Uzanto:Tlustulimu/Wikidata|areo|id=Q288899}} {{#invoke:Uzanto:Tlustulimu/Wikidata|areoUnuo|id=Q288899}} * {{#invoke:Uzanto:Tlustulimu/Wikidata|areo|id=Q90}} {{#invoke:Uzanto:Tlustulimu/Wikidata|areoUnuo|id=Q90}} * {{#invoke:Uzanto:Tlustulimu/Wikidata|areo|id=Q64}} {{#invoke:Uzanto:Tlustulimu/Wikidata|areoUnuo|id=Q64}} * {{#invoke:Uzanto:Tlustulimu/Wikidata|areo|id=Q20352}} {{#invoke:Uzanto:Tlustulimu/Wikidata|areoUnuo|id=Q20352}}
redonas
- 2202 ha
- 9,06 km²
- 105,4 km²
- 891,12 km²
- 139,86 km²
Komparo de rezultoj
- Se estas km²
* {{#invoke:Uzanto:Tlustulimu/Wikidata|areo|id=Q60}} {{#invoke:Uzanto:Tlustulimu/Wikidata|areoUnuo|id=Q60}} * {{#invoke:Uzanto:Tlustulimu/Wikidata|areoKM2|id=Q60}} * {{#invoke:Uzanto:Tlustulimu/Wikidata|areoHA|id=Q60}}
- 1213,369839 km²
- 1213,369839 km²
- 121336,9839 ha
- Se estas ha
* {{#invoke:Uzanto:Tlustulimu/Wikidata|areo|id=Q657642}} {{#invoke:Uzanto:Tlustulimu/Wikidata|areoUnuo|id=Q657642}} * {{#invoke:Uzanto:Tlustulimu/Wikidata|areoKM2|id=Q657642}} * {{#invoke:Uzanto:Tlustulimu/Wikidata|areoHA|id=Q657642}}
- 2202 ha
- 22,02 km²
- 2202 ha
Se vi havas demandon pri ĉi tiu Lua-modulo, tiam vi povas demandi en la diskutejo pri Lua-moduloj. La Intervikiaj ligiloj estu metataj al Vikidatumoj. (Vidu Helpopaĝon pri tio.) |
|
-- provoj de aldonoj por Wikidata aŭ eble eĉ por WikidataGeo
local wikidata = require ("Modulo:Wikidata")
local p = {}
-- funkcio nombro por areo
function p.areo(frame)
local id = frame.args["id"]
local showerrors = frame.args["showerrors"]
local default = frame.args["default"]
local subf = frame.args["subf"] -- ĉu subfunkcio de alia modulo aŭ ne
if default then showerrors = nil end
-- get wikidata entity
local entity = mw.wikibase.getEntity(id)
if not entity then
if showerrors then return wikidata.printError("entity-not-found") else return default end
end
local n = entity:getBestStatements( 'P2046' )
if (#n == 0) or (n[1].mainsnak.snaktype ~= "value") then
return nil
end
local x = n[1].mainsnak.datavalue.value.amount
x=tonumber(x)
if not subf then
x= string.gsub(x,"%.",",") -- ŝanĝo de angla punkto al esperanta komo
end
return x
end
-- funkcio nombro por unuo de areo
function p.areoUnuo(frame)
local id = frame.args["id"]
local showerrors = frame.args["showerrors"]
local default = frame.args["default"]
if default then showerrors = nil end
-- get wikidata entity
local entity = mw.wikibase.getEntity(id)
if not entity then
if showerrors then return wikidata.printError("entity-not-found") else return default end
end
local n = entity:getBestStatements( 'P2046' )
if (#n == 0) or (n[1].mainsnak.snaktype ~= "value") then
return nil
end
local x = n[1].mainsnak.datavalue.value.unit
-- x=tonumber(x)
local y = string.sub(x,32)
if y == "Q71226" then -- kvadrataj kilometroj
x = "km²"
elseif y == "Q35852" then -- hektaro
x = "ha" -- hektaro
elseif y == "Q25343" then -- kvadrataj metroj
x = "m²"
elseif y == "Q2486298" then -- kvadrataj centimetroj
x = "cm²"
else
x = "km²" -- kvadrataj kilometroj
end
return x
end
-- transkalkulas al kvadrataj kilometroj
function p.areoKM2(frame)
local id = frame.args["id"]
local showerrors = frame.args["showerrors"]
local default = frame.args["default"]
local mode = frame.args["mode"]
local a = p.areo({ args = { id = id, showerrors = showerrors, default=default, subf = "jes" } })
local u = p.areoUnuo({ args = { id = id, showerrors = showerrors, default=default } })
local ru = "km²"
if a ~= nil and u ~= nil then
local r = 1
if u == "km²" then -- jam estas km²
r = a
elseif u == "ha" then -- el hektaroj al km²
r = a / 100
elseif u == "m²" then -- el metroj al km²
r = a / 1e6
elseif u == "cm²" then -- el cm² al km²
r = a / 1e10
end
r= string.gsub(r,"%.",",") -- ŝanĝo de angla punkto al esperanta komo
if mode == "subfunkcio" then
return r -- en subfunkcio la mezurunuo devas foresti, por ke kalkulado eblu
else
return r .. " " .. ru -- eldono kun unuo
end
else
return "neniuj valoroj"
end
end
-- transkalkulas al hektaroj
function p.areoHA(frame)
local id = frame.args["id"]
local showerrors = frame.args["showerrors"]
local default = frame.args["default"]
local mode = frame.args["mode"]
local a = p.areo({ args = { id = id, showerrors = showerrors, default=default, subf = "jes" } })
local u = p.areoUnuo({ args = { id = id, showerrors = showerrors, default=default } })
local ru = "ha"
if a ~= nil and u ~= nil then
local r = 1
if u == "km²" then -- el km² al hektaroj
r = a * 100
elseif u == "ha" then -- jam hektaroj
r = a
elseif u == "m²" then -- el metroj al hektaroj
r = a / 1e4
elseif u == "cm²" then -- el cm² al hektaroj
r = a / 1e8
end
r= string.gsub(r,"%.",",") -- ŝanĝo de angla punkto al esperanta komo
if mode == "subfunkcio" then
return r -- en subfunkcio la mezurunuo devas foresti, por ke kalkulado eblu
else
return r .. " " .. ru -- eldono kun unuo
end
else
return "neniuj valoroj"
end
end
return p