Documentationcréerpurger
local Tools = require('Module:Outils')
local Geo = require("Module:Géoréférencement")
local p = {}

local function setzoom(args)
	local zoom = tonumber(args.zoom) or 1

	if zoom == 1 then
		return 0.20
	elseif zoom == 2 then
		return 0.10
	elseif zoom == 3 then
		return 0.05
	else
		return 0.20
	end
end

function p.nunagis(frame)
	local args = Tools.extractArgs(frame)

	-- Geo.setRadCoord renvoie des radians
	local latRad, lonRad = Geo.setRadCoord(args)

	-- ArcGIS attend des degrés décimaux
	local lat = math.deg(latRad)
	local lon = math.deg(lonRad)

	local desc = args.desc or args.description or 'Visualisation'

	local header = 'https://kort.nunagis.gl/portal/apps/mapviewer/index.html?layers=451864dc165d4b7d81ba85c3afee3469'

	local extent

	if args.extent then
		extent = args.extent
	else
		local delta = setzoom(args)

		-- Format ArcGIS : xmin,ymin,xmax,ymax
		-- donc lon_min,lat_min,lon_max,lat_max
		extent = table.concat({
			lon - delta,
			lat - delta,
			lon + delta,
			lat + delta
		}, ',')
	end

	local url = '[' .. header .. '&extent=' .. extent .. ' ' .. desc .. '] sur [https://nunagis-asiaq.hub.arcgis.com/ NunaGIS]' .. Geo.footer(args['consulté le'])

	url = Geo.noCoord(args) or url
	return url
end

return p