Module:Infobox/Fonctions/Centrale électrique
Apparence
[voir] [modifier] [historique] [purger]
Cette page définit un module d'infobox.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis la page Modèle:Documentation module d'infobox. Veuillez placer les catégories sur cette page-là.
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 p = {}
local general = require "Module:Infobox/Fonctions"
local localdata = require "Module:Infobox/Localdata"
local wikidata = require "Module:Wikidata"
local address = require "Module:Adresse"
function p.operateur() -- si l'operateur est le même que le propriétaire dans wikidata : ne pas afficher
if localdata['opérateur'] then
return {type = 'row', label = 'Opérateur', value = 'opérateur'}
elseif localdata['concessionnaire'] then
return {type = 'row', label = 'Opérateur', value = 'concessionnaire'}
elseif (wikidata.formatStatements{property = "P127", displayformat = "raw", entity= localdata.item} == wikidata.formatStatements{property = "P137", displayformat = "raw", entity = localdata.item}) then
return nil
else
return {type = 'row', label = 'Opérateur', value = 'opérateur', property = 'P137'}
end
end
function p.facteurcharge() --facteur de charge : valeur dans 'Facteur charge' ou calcul a partir de P4131 et P2109
if localdata['Facteur charge'] then
return {type = 'row', label = '[[Facteur de charge (électricité)|Facteur de charge]]', value = 'Facteur charge'}
elseif localdata['facteur_utilisation'] then
return {type = 'row', label = '[[Facteur de charge (électricité)|Facteur de charge]]', value = 'Facteur charge'}
else
local production = wikidata.formatStatements{entity = localdata.item, property = 'P4131', numval = 1, sorttype = "inverted", showunit = '-', targetunit = 'Wh', displayformat = "raw"}
local puissance = wikidata.formatStatements{entity = localdata.item, property = 'P2109', numval = 1, sorttype = "inverted", showunit = '-', targetunit = 'w', displayformat = "raw"}
if tonumber(production) and tonumber(puissance) then
local fcharge = tonumber(production) / (tonumber(puissance) * 365 * 24)*100
return {type = 'row', label = '[[Facteur de charge (électricité)|Facteur de charge]]', value = function() return math.floor(fcharge+0.5).." %" end}
else
return nil
end
end
end
function p.densitepuissance() --densité de puissance : valeur dans 'Densité puissance' ou calcul a partir de P4131 et P2046
if localdata['Densité puissance'] then
return {type = 'row', label = '[[Densité de puissance surfacique|Densité de puissance]]', value = 'Densité puissance'}
else
local production = wikidata.formatStatements{entity = localdata.item, property = 'P4131', numval = 1, sorttype = "inverted", showunit = '-', targetunit = 'Wh', displayformat = "raw"}
local surface = wikidata.formatStatements{entity = localdata.item, property = 'P2046', numval = 1, sorttype = "inverted", showunit = '-', targetunit = 'sqm', displayformat = "raw"}
if tonumber(production) and tonumber(surface) then
local dpuis = tonumber(production) / (tonumber(surface) * 365 * 24)
return {type = 'row', label = '[[Densité de puissance surfacique|Densité de puissance]]', value = function() return math.floor(dpuis+0.5).." W/m²" end}
else
return nil
end
end
end
function p.adminlocation() -- Fonction copiée de Module:Infobox/Fonctions/Bâtiment et adaptée à l'infobox barrage et centrale
if not (localdata['subdivision 1'] or localdata['subdivision 2'] or localdata['subdivision 3'] or localdata['Subdivision 1'] or localdata['Subdivision 2'] or localdata['Subdivision 3']) then
local country = wikidata.getIds(item, {property = "P17"})
if #country > 1 then
local countries = ""
for i, j in country do
countries = countries .. countrymodule.standarddisplay(j)
end
return {type = 'row', label = "Localisation", value = function() return countries end }
else
return {type = 'row', label = "Localisation", value = function() return address.fullAddress(localdata.item) end }
end
end
return {
type = 'multi',
rows = {
general.country(),
{
type = 'row',
label = function ( localdata )
return localdata[ "nom subdivision 1" ] or localdata[ "Subdivision 1 type" ]
end,
value = function ( localdata )
return localdata[ "subdivision 1" ] or localdata[ "Subdivision 1" ]
end,
},
{
type = 'row',
label = function ( localdata )
return localdata[ "nom subdivision 2" ] or localdata[ "Subdivision 2 type" ]
end,
value = function ( localdata )
return localdata[ "subdivision 2" ] or localdata[ "Subdivision 2" ]
end,
},
{
type = 'row',
label = function ( localdata )
return localdata[ "nom subdivision 3" ] or localdata[ "Subdivision 3 type" ]
end,
value = function ( localdata )
return localdata[ "subdivision 3" ] or localdata[ "Subdivision 3" ]
end,
},
}
}
end
return p