Module:Iberpix
Apparence
La documentation de ce module est générée par le modèle {{Documentation module}}.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local Tools = require('Module:Outils')
local Coordinates = require('Module:Coordinates')
local wd = require("Module:Wikidata")
local url = {}
local function coord_converter(value)
if tonumber(value) then
return value
else
local dms_object = Coordinates._parsedmsstring(value)
return Coordinates._dms2dec(dms_object)
end
end
local function coord(args)
if args.latitude and args.longitude then
local latitude = coord_converter(args.latitude)
local longitude = coord_converter(args.longitude)
return latitude, longitude
else
local claim = wd.getClaims({property = 'P625'})
if claim then
local coords = wd.formatSnak(claim[1].mainsnak)
return coords.latitude, coords.longitude
else
return 0, 0
end
end
end
url.iberpix = function (frame)
local args = Tools.extractArgs(frame)
local validArg = function ( ... ) return Tools.validTextArg( args, ... ) end
local latitude, longitude = coord(args)
local desc = args.desc or 'Visualisation'
local a = 6378137 -- demi grand axe Terre
local lat = math.rad(latitude)
local lon = math.rad(longitude)
zoom = args.zoom or 16
local X = lon*a
local Y = math.log(math.tan(math.pi/4 + lat/2))*a
local header = '[https://www.ign.es/iberpix2/visor/?&x=-589714.00&y=4901758.00'
local url_coord = '&x=' .. X .. '&y=' .. Y
url = header .. url_coord .. '&level=' .. zoom .. '&srid=3857&visible=MTN ' .. desc ..'] sur l\'[[Institut géographique national (Espagne)|IGN espagnol]].'
if args['consulté le'] then
url = url .. ' <small>(consulté le' .. args['consulté le'] .. ')</small>'
end
if latitude == 0 and longitude == 0 then -- Pas de coordonnées entrées et pas de coordonnées wikidata
url = 'Coordonnées manquantes.'
end
return url
end
return url