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 coord = require "Module:Coordinates"
local wikidatamod = require "Module:Interface Wikidata".fromLua
local countrymodule = require "Module:Country data"
local tools = require "Module:Wikidata/Outils"
local p = {}
local p = {}
local function formatCountry(country)
if not country then
return nil
end
local val, success = countrymodule.standarddisplay(country) -- val = nil si country n'est pas reconnu
if success then
return val
end
end
function p.wikidataCountry(item, options)
local query = { -- requête Wikidata à utiliser par défaut
entity = item,
property = 'P17',
conjtype = '<br />',
displayformat =
function(snak)
if tools.isValue(snak) then
local id = tools.getId(snak)
return formatCountry(id) or wikidatamod.formatEntity(id)
end
end
}
for i, j in pairs(options or {}) do -- ajout des paramètres personnalisés
query[i] = j
end
return wikidatamod.formatAndCat(query)
end
function p.country(country, label, flagdate, size) -- à faire : gestion des dates, mapping Wikidata/modèles, peut-être mettre une partie de la fonction dans un module séparé
return {
type = 'mixed',
label = 'Pays',
value = function() return formatCountry(localdata['pays']) or localdata['pays'] end,
wikidata = function() return p.wikidataCountry(item) end
}
end
function p.coordvalue(moduleparams) -- valeurs des coordonnées, sans mise en infoboîte
if not moduleparams then
moduleparams = {}
end
-- vérifie qu'il faut afcficher les coordonnées
if localdata["géolocalisation"] == 'pas pertinent' or localdata['géolocalisation'] == 'non' and not (localdata['coordonnées'] == 'oui') then
return nil
end
local function getfirstval(vals) -- permet de donner un ordre de priorité aux paramètres à utiliser
for i, j in pairs(vals) do
if type(j) ~= 'nil' then return j end
end
end
local function toboolean(val) -- transforme les textes en true / false
if val == '-' or val == 'non' then
return false
end
return val
end
-- récupération des paramètres d'affichage
local globe = getfirstval{localdata['globe'], moduleparams['globe']}
local displayinline = toboolean(getfirstval{localdata['coords en ligne'], moduleparams.displayinline, true})
local displaytitle = toboolean(getfirstval{localdata['coords en titre'], moduleparams.displaytitle, localdata['infoboxrank'] == 'main'})
local wikidata = toboolean(getfirstval{localdata['wikidata'], true})
local displayformat = getfirstval{localdata['format coordonnées'], moduleparams.displayformat}
local wikidataquery = moduleparams.wikidataquery or {property = 'P625'}
if not wikidataquery.entity then
wikidataquery.entity = item
end
local maxdistance = moduleparams.maxdistance
-- displayplace format utilisé par Module:Coordinates, devrait être simplifié
local displayplace = ''
if displayinline then
displayplace = displayplace .. 'inline'
end
if displaytitle then
displayplace = displayplace .. 'title,'
end
if wikidata == true then wikidata = 'true' end
--
local latitude = localdata['latitude']
local longitude = localdata['longitude']
local parameterlist = {
latitude = latitude,
longitude = longitude,
displayformat = 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 = wikidatamod.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
-- initialise les paramètres avec les valeurs du module d'infobox (moduleparams)
return {
type = 'mixed',
label = 'Coordonnées',
maintenancecat = function(localdata, item)
local relevant = localdata['coordonnées'] or localdata['géolocalisation']
--désactivation des catégories de maintenance
if (relevant == '-') or (relevant == 'non') or (relevant == 'non pertinent') or (relevant == 'pas pertinent') then -- un peu bordélique, "-" devrait suffire
return nil
end
return moduleparams.maintenancecat or 'Page géolocalisable sans coordonnées paramétrées'
end,
sortkey = sortkey,
value = function(localdata, item) return p.coordvalue(moduleparams) end
}
end
function p.geoloc(params)
if not params then
params = {}
end
return {
type = 'map',
latitude = 'latitude',
longitude = 'longitude',
wikidata = {property = 'P625'},
maps = 'géolocalisation', -- paramètre pour la liste des cartes à utiliser
pointtype = params.pointtype,
maptype = params.maptype,
params = {guessmaps = guessmaps} -- = quelles cartes utiliser en l'absence de données fournies dans |gélocalisation
}
end
return p