Module:Liens VizieR
[voir] [modifier] [historique] [purger]
Utilisation
modifierFonctions exportables :
VizieR(frame)
– retourne une liste de liens vers la base de catalogues d'étoiles VizieR du Centre de données astronomiques de Strasbourg. Les références dans les différent catalogues peuvent être transmis au modèle, ou récupérés sur Wikidata (paramètre entity pour tester sur une autre page)
Autres fonctions :
getP528( entity )
– retourne une liste de chaine correspondant aux valeurs de la propriété P528 de l'élément wikidata entity.findInList( str, list )
– retourne le premier élément de list commençant par str (mot entier) ainsi que le complément de str.
Modules externes et autres éléments dont ce module a besoin pour fonctionner :
- Module:Outils – utilise les fonctions trim et extractArgs.
Exemples
modifierp.VizieR{ entity = 'Q14265' }
retourne :
- AG : +20 2595
- BD : +19 5036
- CSV : 102222
- Gaia DR2 : 2835207319109249920
- Gaia DR3 : 2835207319109249920
- GC : 32003
- GJ : 882
- HD : 217014
- HIC : 113357
- HIP : 113357
- HR : 8729
- IRAS : 22550+2030
- LSPM : J2257+2046
- 2MASS : J22572795+2046077
- NLTT : 55385
- NSV : 14374
- PPM : 114985
- SAO : 90896
- TYC : 1717-2193-1
- WDS : J22575+2046A
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 (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local p = {}
local Outils = require( 'Module:Outils' )
local baseUrl = 'http://vizier.u-strasbg.fr/viz-bin/VizieR-S?'
local catalogList = {
{ name = 'VStar', page = "General Catalogue of Variable Stars" },
{ name = 'ADS', page = "Catalogue d'étoiles doubles Aitken" },
{ name = 'AG', page = "Catalogue AGK" },
{ name = 'BD', page = "Bonner Durchmusterung" },
{ name = 'CCDM', page = "Catalogue des composantes d'étoiles doubles et multiples" },
{ name = 'CD', page = "Córdoba Durchmusterung" },
{ name = 'CPD', page = "Cape Photographic Durchmusterung" },
{ name = 'CSV', page = "Catalogue of suspected variable stars" },
{ name = 'DENIS', page = "Deep Near Infrared Survey of the Southern Sky" },
{ name = 'Gaia DR1', page = "Gaia DR1"},
{ name = 'Gaia DR2', page = "Gaia DR2"},
{ name = 'Gaia DR3', page = "Gaia DR3"},
{ name = 'FK1', page = "Fundamental Katalog" },
{ name = 'FK2', page = "Fundamental Katalog" },
{ name = 'FK3', page = "Fundamental Katalog" },
{ name = 'FK4', page = "Fundamental Katalog" },
{ name = 'FK5', page = "Fundamental Katalog" },
{ name = 'G', page = "Catalogue Giclas" },
{ name = 'GC', page = "Catalogue général de Boss" },
{ name = 'GJ', page = "Catalogue Gliese" },
{ name = 'HD', page = "Catalogue Henry Draper" },
{ name = 'HIC', page = "Hipparcos Input Catalogue"},
{ name = 'HIP', page = "Catalogue Hipparcos" },
{ name = 'HR', page = "Catalogue HR" },
{ name = 'IRAS', page = "Infrared Astronomical Satellite" },
{ name = 'LHS', page = "Catalogues Luyten#Catalogue LHS" },
{ name = 'LSPM' },
{ name = '2MASS', page = "Two-Micron All-Sky Survey" },
{ name = 'NLTT', page = "Catalogues Luyten#Catalogue NLTT" },
{ name = 'NSV', page = "New Catalogue of Suspected Variable Stars" },
{ name = 'PPM', page = "Catalogue d'étoiles PPM" },
{ name = 'PSR', page = "Désignation des pulsars" },
{ name = 'SAO', page = "Catalogue SAO" },
{ name = 'TYC', page = "Catalogue Tycho" },
{ name = 'UCAC2' },
{ name = 'USNO-B1.0', page = "Catalogue d'étoiles#Catalogues USNO" },
{ name = 'WDS', page = "Catalogue d'étoiles doubles de Washington" },
}
local function getP528( entity )
local result = {}
if type( entity ) == 'table' and
type( entity.claims ) == 'table' and
type( entity.claims.P528 ) == 'table'
then
local p528 = entity.claims.P528
for i = 1, #p528 do
local snack = p528[i]
if type( snack ) == 'table' and
snack.type == 'statement' and
type( snack.mainsnak ) == 'table' and
snack.mainsnak.snaktype== 'value' and
snack.mainsnak.datatype == 'string' and
type( snack.mainsnak.datavalue ) == 'table' and
Outils.trim( snack.mainsnak.datavalue.value )
then
table.insert( result, snack.mainsnak.datavalue.value )
end
end
end
return result
end
local function findInList( str, list )
str = str:gsub('([$%%()*+%-.?()%[%]^])', '%%%1') -- escape magic characters
for i = 1, #list do
if list[i]:find( '^' .. str .. '(%W)' ) then
local text = Outils.trim( list[i]:gsub('^' .. str, '' ) )
return list[i], text
end
end
end
function p.VizieR( frame )
local args = Outils.extractArgs( frame )
local entity = mw.wikibase.getEntity( Outils.trim( args.entity ) )
local wikidataList = getP528( entity )
local resultList = {}
for i = 1, #catalogList do
catalog = catalogList[i].name
catalogp = catalog
if catalog == 'VStar' then
catalog = 'V*'
end
local ref, text = findInList( catalog, wikidataList )
if Outils.trim( args[catalogp] ) then
text = args[catalogp]
if text:sub( 1, 1 ) == '+' then
ref = catalog .. text
else
ref = catalog .. ' ' .. text
end
end
if ref then
local name
if catalogList[i].page then
name = '[[' .. catalogList[i].page .. '|' .. catalog .. ']]'
else
name = catalog
end
local url = ' : [' .. baseUrl .. mw.uri.encode( ref, 'PATH' ) .. ' ' .. text .. ']'
table.insert( resultList, '* ' .. name .. url )
end
end
return table.concat( resultList, '\n' )
end
return p