Module:Infobox/Fonctions/Géolocalisation
Utilisation
Fonctions exportables
country()
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Pays | pays
|
P17 (« pays ») | Affiche le pays.
Exemples : |
coordvalue(moduleparams)
Valeurs des coordonnées, sans mise en infoboîte
Argument | Type | Description |
---|---|---|
moduleparams |
table | liste des éléments mystérieux de cette table :
|
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
wikidata
|
Si wikidata est égal à « - » ou « non ». L'utilisation est inconnue.
Exemples : | ||
format coordonnées
|
Modifie le format d'affichage des coordonnées pour l'un des formats suivants :
Force la valeur du paramètre de la fonction | ||
coords en ligne
|
L'utilisation est inconnue. Force la valeur du paramètre de la fonction displayinline .
Exemples : | ||
coords en titre
|
Permet d'afficher les coordonnées sur la droite de la ligne du titre de l'article et le code source mentionne : « par défaut : on met dans les coordonnées de l'infobox principale en titre » Force la valeur du paramètre de la fonction displaytitle .
Exemples : | ||
globe planète
|
L'utilisation complète est inconnue, mais permet d'afficher une autre carte que la Terre. Force la valeur du paramètre de la fonction globe .Par défaut on utilise notre bonne vielle Terre. Exemples : | ||
latitude
|
P625 (« coordonnées géographiques ») | Latitude à afficher. Force la valeur du paramètre de la fonction latitude .Le format utilisé est soit en degrés au format décimal (par exemple : 16.74170), soit en degrés, minutes et secondes (par exemple : 16°44'29.88"N ou 16/44/29.88/N). Exemples : | |
longitude
|
P625 (« coordonnées géographiques ») | Longitude à afficher. Force la valeur du paramètre de la fonction longitude .Le format utilisé est soit en degrés au format décimal (par exemple : -92.62982), soit en degrés, minutes et secondes (par exemple : 92°37'47.28"O ou 92/37/47.28/O). Exemples : | |
référence géolocalisation
|
Dans la documentation du modèle {{Infobox Aire protégée}} on trouve : « référence où l'on a trouvé ces coordonnées géographiques, à mettre entre <ref> </ref> ». Mais, semble-t-il sans utilisation.
Exemples : | ||
coordinates(moduleparams)
Argument | Type | Description |
---|---|---|
moduleparams |
table | liste des éléments mystérieux de cette table .
|
Libellé | Paramètres | Wikidata | Description |
---|---|---|---|
Coordonnées | coordonnées
|
Si coordonnées est égal à « - » ou « non » supprime l'affichage des coordonnées dans l'infobox.
Exemples : | |
|
Modifie le format d'affichage des coordonnées pour l'un des formats suivants :
Force la valeur du paramètre de la fonction Exemples : voir Format des coordonnées | ||
|
L'utilisation est inconnue. Exemples : | ||
|
Permet d'afficher les coordonnées sur la droite de la ligne du titre de l'article et le code source mentionne : « par défaut : on met dans les coordonnées de l'infobox principale en titre » Exemples : | ||
|
L'utilisation complète est inconnue, mais permet d'afficher une autre carte que la Terre. Exemples : | ||
|
Latitude à afficher. Exemples : | ||
|
Longitude à afficher. Exemples : | ||
|
Dans la documentation du modèle {{Infobox Aire protégée}} on trouve : « référence où l'on a trouvé ces coordonnées géographiques, à mettre entre <ref> </ref> ». Mais, semble-t-il sans utilisation. Exemples : | ||
Il existe deux possibilités pour l'affichage d'une carte :
Dans les 2 cas les coordonnées sont définies par P625 (« coordonnées géographiques ») ou les paramètres Dans le cas où le sujet de l'infobox n'existe plus, il faut vérifier si une carte actuelle est pertinente. | |||
Carte de géolocalisation | géolocalisation
|
Non applicable | Carte utilisée pour afficher la géolocalisation du siège donnée par les latitude et longitude .Si
|
Type de carte de géolocalisation | type carte ( maptype dans le code Lua)
|
Non applicable | Type de carte de géolocalisation statique, par exemple « relief ».
Exemple : Kandy |
Taille de carte de géolocalisation | taille carte ( width dans le code Lua)
|
Non applicable | Largeur de la carte de géolocalisation statique, en pixels. La taille par défaut, et maximale, est 280.
Exemple : Kandy |
p.geoloc(moduleparams)
Fonctions internes
coordcore(moduleparams, localdata, item)
Modules externes et autres éléments dont ce module a besoin pour fonctionner :
Exemples
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local localdata = require( 'Module:Infobox/Localdata' )
local item = localdata.item
local id
if item then
id = item.id
end
local wd = require "Module:Wikidata"
-- Modules chargés si necessaire :
-- local countrymodule = require "Module:Country data"
-- local coord = require "Module:Coordinates"
local p = {}
function p.country()
local function formatCountry(country)
if not country then
return nil
end
local countrymodule = require "Module:Country data"
local val, success = countrymodule.standarddisplay(country) -- val = nil si country n'est pas reconnu
if success then
return val
end
end
return {
type = 'mixed',
label = 'Pays',
value = function() return formatCountry(localdata['pays']) or localdata['pays'] end,
wikidata = {
property = 'P17',
conjtype = 'new line',
displayformat = function(snak)
local id = wd.getId(snak)
return formatCountry(id) or wd.formatSnak(snak)
end
}
}
end
function p.coordvalue(moduleparams) -- valeurs des coordonnées, sans mise en infoboîte
local coord = require "Module:Coordinates"
if not moduleparams then
moduleparams = {}
end
local function toboolean(val) -- transforme un "-" en false au moment voulu
if val == '-' or val == 'non' then
return false
end
return true
end
-- paramètres Wikidata
local wikidata = tostring(toboolean(localdata['wikidata'] or true)) -- doit être string dans Module:Coordinates
local maxdistance = moduleparams.maxdistance
local wikidataquery = moduleparams.wikidataquery or {property = 'P625'}
if not wikidataquery.entity then
wikidataquery.entity = item
end
-- paramètres d'affichage
local displayformat = localdata['format coordonnées'], moduleparams.displayformat
local displayplace = ''
local displayinline = toboolean(localdata['coords en ligne'] or moduleparams.displayinline or true)
-- par défaut : on met dans les coordonnées de l'infobox principale en titre
local displaytitle = localdata['coords en titre']
or moduleparams.displaytitle
or (localdata['infoboxrank'] == 'main')
if displayinline and (displayinline ~= '-') then
displayplace = displayplace .. 'inline'
end
if displaytitle and (displaytitle ~= '-') then
displayplace = displayplace .. 'title,'
end
-- données sur géograhiques
local globe = localdata['globe'] or localdata['planète'] or moduleparams['globe'] or 'earth'
local latitude = moduleparams['latitude'] or localdata['latitude']
local longitude = moduleparams['longitude'] or localdata['longitude']
local parameterlist = {
latitude = latitude,
longitude = longitude,
format = displayformat,
display= displayplace,
globe = globe,
wikidata = wikidata,
wikidataquery = wikidataquery,
maxdistance = maxdistance,
}
local val = coord._coord(parameterlist)
if (not val) and moduleparams.fallbackquery then -- si pas de valeur, essayer la query de sustitution
parameterlist.wikidataquery = moduleparams.fallbackquery
parameterlist.wikidataquery.entity = item
val = coord._coord(parameterlist)
end
if val and latitude and longitude and localdata['référence géolocalisation'] then
val = val .. ' ' .. localdata['référence géolocalisation']
end
if val and not localdata['latitude'] then
val = wd.addLinkBack(val, item, wikidataquery.property)
end
if displayinline == false then
return -- type: external text pour ne pas avoir de ligne vide en infobox
{
type = 'external text',
sortkey = sortkey,
value = val
}
else
return val
end
end
function p.coordinates(moduleparams)
if not moduleparams then
moduleparams = {}
end
-- paramètre coordonnées a la priorité sur "géolocalisation" (=carte)
local relevant = localdata['coordonnées'] or localdata['géolocalisation']
if relevant == '-' or relevant == 'non' or relevant == 'pas pertinent' or relevant == 'non pertinent' then
return nil
end
-- initialise les paramètres avec les valeurs du module d'infobox (moduleparams)
return {
type = 'mixed',
label = 'Coordonnées',
maintenancecat = moduleparams.maintenancecat or 'Page géolocalisable sans coordonnées paramétrées',
sortkey = moduleparams.sortkey,
value = function (localdata) return p.coordvalue(moduleparams) end
}
end
function p.geoloc(params)
if not params then
params = {}
end
if (localdata['géolocalisation'] == '-') or (localdata['géolocalisation'] == 'pas pertinent') then
return nil
end
return {
type = 'map',
latitude = 'latitude',
longitude = 'longitude',
wikidata = params.wikidata or {{property = 'P625'}},
entity = item,
maps = function() return localdata['géolocalisation'] or params.defaultmaps or "interactive" end, -- paramètre pour la liste des cartes à utiliser
staticmaps = 'carte', -- carte en mode image simple
staticmapsWD = {property = "P242", numval = 1}, -- p
width = params.width,
pointtype = params.pointtype,
maptype = params.maptype,
globe = localdata.globe or localdata['planète'] or params.globe,
marker = params.marker,
markercolor = params.markercolor,
shapecolor = params.shapecolor,
default_zoom = localdata['zoom'] or params.default_zoom,
ids = params.ids or id,
params = {guessmaps = params.guessmaps} -- = quelles cartes utiliser en l'absence de données fournies dans |gélocalisation
}
end
function p.locationmap(upright)
return {
type = 'images',
imageparameters = {'carte','imageloc'},
sizeparameter = 'taille carte',
captionparameter = {'légende carte','légende imageloc'},
defaultsize = size,
defaultupright = upright or '1',
property = 'P242',
numval = 1,
}
end
function p.detailedmap(defaultsize)
return {
type = 'images',
imageparameters = {'carte'},
sizeparameter = 'taille carte',
captionparameter = {'légende carte'},
defaultsize = defaultsize,
defaultupright = '1',
property = 'P1621',
numval = 1,
}
end
return p