Modulo:Sandbox/M.casanova/DatiMappa: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
Nessun oggetto della modifica
Riga 6:
-- esempio chiamata di funzione {{#invoke:Sandbox/M.casanova/DatiMappa|scala|x1|y1|x2|y2}}
function p.scala( frame )
local dxt = math.absgetArgs(frame.args[1] - frame.args[3])
local amn, amx, bmn, bmx = 200, -200, 200, -200
local dy = math.abs(frame.args[2] - frame.args[4])
local rscala = -1xval
for i,v in ipairs(t) do
xval = tonumber(t[i])
if (i % 2 == 0) then
if (amn > xval) then amn = xval end
if (amx < xval) then amx = xval end
else
if (bmn > xval) then bmn = xval end
if (bmx < xval) then bmx = xval end
end
end
local dx = (bmx - bmn)
local dy = (amx - amn)
local scala = 10
if (dx == 0) then
if (dy == 0) then
-- default
else
rscalascala = math.floor(math.log(180/dy)/math.log(2))
end
else
if (dy == 0) then
rscalascala = math.floor(math.log(360/dx)/math.log(2))
else
rscalascala = math.min( math.floor(math.log(360/dx)/math.log(2)), math.floor(math.log(180/dy)/math.log(2)) )
end
end
return rscalascala
end
 
Riga 29 ⟶ 42:
local t = getArgs(frame)
local mn, mx = 200, -200
local nn = 0;xval
for i,v in ipairs(t) do
nnxval = nn+tonumber(t[i])
if (mn > tonumber(t[i])xval) then mn = tonumber(t[i])xval end
if (mx < tonumber(t[i])xval) then mx = tonumber(t[i])xval end
end
return (mn+mx)/2