Tag route=railway a OSM. Línies de Ferrocarril catalanes

De wikijoan
Salta a la navegació Salta a la cerca

Introducció

Railways catalunya.png

La consulta Overpass que ens relaciona les relacions, vies i nodes de manera que tinguem amb una sola consulta la informació per associar nodes (amb coordenades) a vies, i vies a relacions, és la següent:

[out:json][timeout:25];
area["name"="Catalunya"]->.boundaryarea;
(
nwr(area.boundaryarea)['route'='railway'];
);
complete
{
  node(w);
}
out geom;

Fixar-se en l'ús de complete

A partir d'aquí ja puc crear una aplicació web per mostrar totes les relacions. Les relacions consten de trams de vies. I les vies consten de nodes. S'han d'ajuntar els punts (nodes) consecutius dins d'una via. No es poden ajuntar els punts directament com es fa en la versió 1, doncs aleshores queda malament.

En la consulta apareixen nodes sueltos. Aquests no interessen. El que interessa són les relacions, i les seves vies (que contenen les coordenades dels nodes de què està feta).

Per explorar el fitxer JSON i la seva estructura he fet servir cercar_nodes.js i cercar_nodes_v2.js, que s'executen a la shell (NodeJS).

fitxer llegir.txt

v1
------
la consulta overpass està mal feta. S'agrupen bé les relacions, vies i nodes, però no puc saber d'una via quins nodes té (sí que ho sé, però no tinc lon i lat de forma fàcil).
Ajuntem punts (nodes) però enllaça punts que pertanyen a diferents vies. 

[out:json][timeout:25];
area["name"="Catalunya"]->.boundaryarea;
(
nwr(area.boundaryarea)['route'='railway'];
);
complete
{
  node(w);
}
out geom;

v2
------
Aconsegueixo fer una consulta overpass que agrupi bé les relacions, vies i nodes, i per cada via em dóna la lon i lat dels nodes que la composen. Per tant, amb una consulta ja tinc tota la info que necessito.
Per simplicitat, treballo en un cas particular de dues relacions, que cada relació té dues vies, i cada via té uns quants nodes. Només he d'ajuntar els nodes dins de cada via.
Un cop funciona, ja puc passar a la v3 per fer els bucles i arrays de forma correcta.
treballo també el div de 'layers': puc activar els layers amb un checkbox.

v3
------
Ja tinc totes les relacions en el mapa. Funciona. Ara es tracta de millorar-ho.

v4
------
he considerat els casos particulars:
-les línies ascendent-descendent o pujada-baixada són duplicades.
Només vull que aparegui la de pujada, i que no surti en el nom de la relació la paraula Ascendent o pujada
-possibilitat de tot checked o tot no checked.
-hem posat colors a les vies, classificat per alta velocitat, línies, FFCC, carrilet (o cremallera)

v5
------
treballo el checkbox: vull un agrupament de les vies segons categories.
Treballo amb dades simulades, per simplicitat.

v6
------
bolco els resultats de v5 a les dades reals de v4. Agrupo per:
-alta velocitat
-línies RENFE
-FFCC
-Carrilets i cremalleres

Video

Codi font


creat per Joan Quintana Compte, octubre 2020