La documentation pour ce module peut être créée à Module:Geoportale/doc

local Tools = require('Module:Outils')
local Geo = require("Module:Georèferencement")
local p = {}

local function setzoom(args)
	zoom = tonumber(args.zoom) or 2
	if zoom == 1 then -- èchiéla 1/10000
		scale, delta = 25000, 2500
	elseif zoom == 2 then -- èchiéla 1/15000
		scale, delta = 25000, 3000
	elseif zoom == 3 then -- èchiéla 1/20000
		scale, delta = 25000, 3750
	elseif zoom == 4 then -- èchiéla 1/25000
		scale, delta = 100000, 5000
	elseif zoom == 5 then -- èchiéla 1/50000
		scale, delta = 100000, 10000
	elseif zoom == 6 then -- èchiéla 1/100000
		scale, delta = 250000, 20000
	elseif zoom == 7 then -- èchiéla 1/250000
		scale, delta = 250000, 50000
	end
	return scale, delta
end

function p.geoportale(frame)
	local args = Tools.extractArgs(frame)
	local lat, lon = Geo.setRadCoord(args)
	local desc = args.desc or args.description or 'Visualisacion'
	local scale, delta = setzoom(args)
	local X, Y = Geo.utm(lat, lon, 33) -- Projèccion UTM33
	local header = '[http://www.pcn.minambiente.it/viewer/index.php?services=IGM_' .. scale .. '&box='
	local url_coord = X-delta .. ',' .. Y .. ',' .. X+delta .. ',' .. Y+1
	local url = header .. url_coord .. ' ' .. desc ..'] sus lo [http://www.pcn.minambiente.it/mattm/ geoportâl italien].' .. Geo.footer(args['viu lo'])
	local url = Geo.noCoord(args) or url
	return url
end

return p