Aller au contenu

Module:Austrianmap

Cette page fait l’objet d’une mesure de semi-protection étendue.
Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 27 avril 2021 à 19:36 et modifiée en dernier par Noritop (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[créer] [purger]
local Tools = require('Module:Outils')
local Geo = require("Module:Géoréférencement")
local p = {}


function p.basemap(frame)
	local args = Tools.extractArgs(frame)
	local lat, lon = Geo.setRadCoord(args)
	local desc = args.desc or args.description or 'Visualisation'
	local zoom = args.zoom or 13
	local X, Y = Geo.pseudoMercator(lat, lon)
	local header = '[https://basemap.at/bmapp/index.html#{%22center%22:'
	local url_coord = '%5B' .. X .. ',' .. Y .. '%5D'
	local url = header .. url_coord .. ',%22zoom%22:' .. zoom .. ',%22rotation%22:0,%22layers%22:%22010000000000%22} ' .. desc .. '] sur Basemap.' .. Geo.footer(args['consulté le'])
	local url = Geo.noCoord(args) or url
	return url
end

function p.austrianmap(frame)
	local function set_zoom(zoom, lon)
		if not tonumber(zoom) then
			zoom = 3
		end
		if tonumber(zoom) > 5 then
			zoom = 5
		elseif tonumber(zoom) < 1 then
			zoom = 1
		end
		local lon1 = lon - math.pi/(1000*zoom)
		local lon2 = lon + math.pi/(1000*zoom)
		return lon1, lon2
	end
	
	local args = Tools.extractArgs(frame)
	local desc = args.desc or args.description or 'Visualisation'
	local zoom = args.zoom or 3
	local lat, lon = Geo.setRadCoord(args)
	local lon1, lon2 = set_zoom(zoom, lon)
	local X1, Y1 = Geo.lambert(lat, lon1, 47.5, 49, 46, 13.3333333, 400000, 400000)
	local X2, Y2 = Geo.lambert(lat, lon2, 47.5, 49, 46, 13.3333333, 400000, 400000)
	local header = '[http://www.austrianmap.at/amap/index.php?setTo=1~'
	local url_coord = X1 .. '~' .. Y1 .. '~' .. X2 .. '~' .. Y2
	local url = header .. url_coord .. '&ZOOM=' .. zoom .. ' ' .. desc ..'] sur [[Bundesamt für Eich- und Vermessungswesen|BEV]].' .. Geo.footer(args['consulté le'])
	local url = Geo.noCoord(args) or url
	return url
end

return p