summaryrefslogtreecommitdiff
path: root/docs/urban/coruna/general.md
blob: 65208c481b47380c20b520bcfbbd49d94ddd19f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# General

Esta sección describe cómo obtener los datos estáticos sobre el sistema de buses de Coruña. Esto incluye una lista de paradas, una lista de líneas y otros datos como las tarifas.

## Rutas

Todos los datos arriba mencionados se pueden obtener a partir de la ruta:

```
https://itranvias.com/queryitr_v3.php?dato=20160101T000000_gl_0_20160101T000000&func=7
```

Donde la función 7 devuelve novedades sobre la página y, al establecer como parámetro esa fecha, se puede obtener la lista de toda la información.

Es importante mencionar que cambiando \_gl\_ se puede cambiar el idioma de la información sobre las tarifas y de algunas paradas. La información está disponible en los idiomas:

- Gallego: _gl_
- Español: _es_
- Inglés: _en_

## Salida

La petición arriba descrita es de gran tamaño, por eso para facilitar su descripción, en este documento se fragmenta.

### Cabeza

Esta parte _"exterior"_ de la repuesta incluye información sobre el estado de la petición, la fecha de la misma, la fecha de los datos devueltos y su tamaño.

Los puntos suspensivos, en este caso, simbolizan el lugar donde se encontrará la información descrita en los próximos apartados

```json
{
    "resultado": "OK",
    "fecha_peticion": "20230921235412",
    "peticion":"itranvias?fecha=20160101t000000&plataforma=www&lenguaje=gl&idnovedad=0&fechanovedad=20160101t000000",
    "tama\u00f1o": 72829,
    "iTranvias": {
        "actualizacion": {
            "fecha": "20230832T140825",
            ...
        }
    }
    "Origen": "Web_Beta"
}
```

### Cuerpo

El resto de la respuesta incluye toda la información que nos interesa. Se procede a definir la estructura de la misma separándola por tipos de datos, para facilitar su _"digestión"_

Todas las definiciones que siguen a esta se consideran entradas del diccionario `actualización`

#### Líneas

Bajo la clave _lineas_ se describe la información relativa a las líneas en una lista con un diccionario para cada línea en el que se incluye la siguiente información:

- ID: `id`
- Nombre de la línea: `lin_comer`
- Nombre del origen: `nombre_orig`
- Nombre del destino: `nombre_dest`
- Color de la línea en hexadeximal (#RRGGBB): `color`
- Lista de rutas (para cada entrada un diccionario con):
    - ID de la ruta: `ruta`
    - Origen de la ruta (normalmente vacío): `nombre_orig`
    - Destino de la ruta (normalmente vacío): `nombre_dest`
    - Lista de identificadores de las paradas por las que pasa el recorrido

!!! note "Nota"
    Aunque algunas líneas contienen 3 rutas diferentes, aún no he tenido problemas utilizando la primera entrada como sentido de IDA, la segunda como VUELTA e ignorando las sucesivas

A continuación se muestra un ejemplo de respuesta de este bloque:

```json
"lineas": [
    {
        "id": 100,
        "lin_comer": "1",
        "nombre_orig": "Abente y Lago",
        "nombre_dest": "Castrill\u00f3n",
        "color": "982135",
        "rutas": [
            {
                "ruta": 10000,
                "nombre_orig": "",
                "nombre_dest": "",
                "paradas": [
                    523,
                    180,
                    1,
                    2,
                    3,
                    4,
                    5,
                    ...
                ]
            },
            ...
        ]
    }
    ...
]
```

#### Paradas

Bajo la clave _paradas_ se describe la información relativa a las paradas en una lista con un diccionario para cada parada en la que se incluye la siguiente información:

- ID: `id`
- Nombre: `nombre`
- Coordenadas:
    - Eje X en `posx`
    - Eje Y en `posy`
- Lista de identificadores de las líneas que pasan por la parada

A continuación se muestra un ejemplo de respuesta de este bloque:

```json
"paradas": [
    {
        "id": 1,
        "nombre": "Porta Real",
        "posx": -8.39585,
        "posy": 43.370115,
        "enlaces": [
            100,
            1900,
            200,
            800,
            ...
    }
    ...
]
```

#### Enlaces

En proceso

#### Precios

Bajo la clave _tarifas_ se describe la información relativa a los precios de los billetes en una lista con un diccionario para cada tarifa en la que se incluye el nombre de la tarifa y el precio en euros.

Ejemplo:

```json
"tarifas": [
    {
        "tarifa": "Tarifa ordinaria",
        "precio": 1.3
    ]
    ...
]
```