« Module:Stations voisines WD » : différence entre les versions

Contenu supprimé Contenu ajouté
Eru (discuter | contributions)
simplification onlyLineService & debug
Eru (discuter | contributions)
longitude si ouest ou est P197>P180>P559>P560 si P197>P180>P559 = P197>P5051, sinon latitude
Ligne 53 :
local inverted
if lineDetail.beforeCoordinate and lineDetail.afterCoordinate then
iflocal direction = lineDetail.beforeCoordinate.latitudebeforeDirection andor lineDetail.afterCoordinate.latitudeafterDirection
if direction == 'Q679' -- west
and lineDetail.beforeCoordinate.latitude < lineDetail.afterCoordinate.latitude then
or direction == 'Q684' then -- est
inverted = true
if lineDetail.beforeCoordinate.longitude and lineDetail.afterCoordinate.longitude
and lineDetail.beforeCoordinate.longitude < lineDetail.afterCoordinate.longitude then
inverted = true
end
else -- north or south
if lineDetail.beforeCoordinate.latitude and lineDetail.afterCoordinate.latitude
and lineDetail.beforeCoordinate.latitude < lineDetail.afterCoordinate.latitude then
inverted = true
end
end
end
Ligne 62 ⟶ 71 :
if inverted then
if debug then
lineDetail.name = lineDetail.name .. '<br><=>'
if lineDetail.afterDirection then
lineDetail.name = lineDetail.name .. lineDetail.afterDirection
end
lineDetail.name = lineDetail.name .. ' <=> '
if lineDetail.beforeDirection then
lineDetail.name = lineDetail.name .. lineDetail.beforeDirection
end
end
rows[ #rows + 1 ] = '| ' .. lineDetail.after
Ligne 70 ⟶ 86 :
rows[ #rows + 1 ] = '| ' .. lineDetail.before
else
if debug then
lineDetail.name = lineDetail.name .. '<br>'
if lineDetail.beforeDirection then
lineDetail.name = lineDetail.name .. lineDetail.beforeDirection
end
lineDetail.name = lineDetail.name .. ' --- '
if lineDetail.afterDirection then
lineDetail.name = lineDetail.name .. lineDetail.afterDirection
end
end
rows[ #rows + 1 ] = '| ' .. lineDetail.before
rows[ #rows + 1 ] = '| ' .. lineDetail.colorBefore
Ligne 132 ⟶ 158 :
local destination = wikidata.getFormattedQualifiers( claim, { 'P5051' }, { conjtype = '/' } )
local coordinate = wikidata.stringTable( { entity = wikidata.getMainId( claim ), property = 'P625', numval = 1 } )
local terminusDirection
if coordinate and #coordinate > 0 then -- si des coordonées sont présente
coordinate = coordinate[ 1 ]
local terminusDirections = wikidata.getClaims( { entity = claim.lineid, property = 'P559', showqualifier = 'P560' } ) -- récupérer la liste des terminus et des directions de la ligne
if terminusDirections and #terminusDirections > 0 then
local terminus = wikidata.getQualifiers( claim, { 'P5051' } ) -- récupérer les terminus de la connexion en cours
local terminusQid = {}
if terminus then
for i, t in ipairs( terminus ) do
terminusQid[ wikidata.getId( t ) ] = true
end
end
for _, td in ipairs( terminusDirections ) do
local d = wikidata.getFormattedQualifiers( td, 'P560', { displayformat = 'raw' } )
local t = wikidata.getMainId( td )
if not terminusDirection and d and terminusQid[ t ] then -- si ce terminus de la ligne fait parti des terminus de ma connexion prendre cet direction
terminusDirection = d -- plusieurs résultat possible, prendre le premier
end
end
end
end
 
if not lineDetail.before then -- station 1
lineDetail.before = gare
lineDetail.beforeDestination = destination
lineDetail.beforeCoordinate = coordinate
lineDetail.beforeDirection = terminusDirection
elseif not lineDetail.after then -- station 2
lineDetail.after = gare
lineDetail.afterDestination = destination
lineDetail.afterCoordinate = coordinate
lineDetail.afterDirection = terminusDirection
else -- station 3 > nouvelle ligne dans le tableau
newLineDetail = { }
Ligne 151 ⟶ 198 :
newLineDetail.beforeDestination = destination
newLineDetail.beforeCoordinate = coordinate
newLineDetail.beforeDirection = terminusDirection
newLineDetail.Y = true
addLineDetail( lineDetail )