aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Backend/ListStops.cs39
-rw-r--r--src/data/StopDataProvider.ts65
-rw-r--r--src/data/stops.json14104
-rw-r--r--src/pages/Home.tsx75
-rw-r--r--src/pages/Stop.tsx84
5 files changed, 14256 insertions, 111 deletions
diff --git a/Backend/ListStops.cs b/Backend/ListStops.cs
deleted file mode 100644
index b6f9ab4..0000000
--- a/Backend/ListStops.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using Microsoft.Azure.Functions.Worker;
-using Microsoft.AspNetCore.Http;
-using Microsoft.AspNetCore.Mvc;
-using Costasdev.VigoTransitApi;
-using Costasdev.VigoTransitApi.Types;
-
-namespace Costasdev.UrbanoVigoWeb;
-
-public class ListStops
-{
- private readonly VigoTransitApiClient _api;
-
- public List<Stop>? Stops { get; set; } = null;
-
- public ListStops(HttpClient http)
- {
- _api = new VigoTransitApiClient(http);
- }
-
- [Function("ListStops")]
- public async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get")] HttpRequest req)
- {
- // Get stops from cache
- if (Stops != null)
- {
- return new OkObjectResult(Stops);
- }
-
- try
- {
- var stops = await _api.GetStops();
- return new OkObjectResult(stops);
- }
- catch (InvalidOperationException)
- {
- return new BadRequestObjectResult("Stop not found");
- }
- }
-}
diff --git a/src/data/StopDataProvider.ts b/src/data/StopDataProvider.ts
new file mode 100644
index 0000000..620a659
--- /dev/null
+++ b/src/data/StopDataProvider.ts
@@ -0,0 +1,65 @@
+import stops from './stops.json';
+
+export interface CachedStopList {
+ timestamp: number;
+ data: Stop[];
+}
+
+export interface Stop {
+ stopId: number
+ name: string;
+ latitude?: number;
+ longitude?: number;
+ lines: string[];
+ favourite?: boolean;
+}
+
+export class StopDataProvider {
+ async getStops(): Promise<Stop[]> {
+ const rawFavouriteStops = localStorage.getItem('favouriteStops');
+ let favouriteStops: number[] = [];
+ if (rawFavouriteStops) {
+ favouriteStops = JSON.parse(rawFavouriteStops) as number[];
+ }
+
+ return stops.map((stop: Stop) => {
+ return {
+ ...stop,
+ favourite: favouriteStops.includes(stop.stopId)
+ };
+ });
+ }
+
+ addFavourite(stopId: number) {
+ const rawFavouriteStops = localStorage.getItem('favouriteStops');
+ let favouriteStops: number[] = [];
+ if (rawFavouriteStops) {
+ favouriteStops = JSON.parse(rawFavouriteStops) as number[];
+ }
+
+ if (!favouriteStops.includes(stopId)) {
+ favouriteStops.push(stopId);
+ localStorage.setItem('favouriteStops', JSON.stringify(favouriteStops));
+ }
+ }
+
+ removeFavourite(stopId: number) {
+ const rawFavouriteStops = localStorage.getItem('favouriteStops');
+ let favouriteStops: number[] = [];
+ if (rawFavouriteStops) {
+ favouriteStops = JSON.parse(rawFavouriteStops) as number[];
+ }
+
+ const newFavouriteStops = favouriteStops.filter(id => id !== stopId);
+ localStorage.setItem('favouriteStops', JSON.stringify(newFavouriteStops));
+ }
+
+ isFavourite(stopId: number): boolean {
+ const rawFavouriteStops = localStorage.getItem('favouriteStops');
+ if (rawFavouriteStops) {
+ const favouriteStops = JSON.parse(rawFavouriteStops) as number[];
+ return favouriteStops.includes(stopId);
+ }
+ return false;
+ }
+} \ No newline at end of file
diff --git a/src/data/stops.json b/src/data/stops.json
new file mode 100644
index 0000000..ab6b0c9
--- /dev/null
+++ b/src/data/stops.json
@@ -0,0 +1,14104 @@
+[
+ {
+ "stopId": 14135,
+ "internalStopId": "3758",
+ "name": "Rúa de Santo Amaro (Praza de España)",
+ "latitude": 42.229174145,
+ "longitude": -8.720143055,
+ "lines": [
+ "C1"
+ ]
+ },
+ {
+ "stopId": 2440,
+ "internalStopId": "3027",
+ "name": "Rúa de Barcelona 2",
+ "latitude": 42.228315534,
+ "longitude": -8.721741958,
+ "lines": [
+ "C1"
+ ]
+ },
+ {
+ "stopId": 2450,
+ "internalStopId": "3028",
+ "name": "Rúa de Barcelona 32",
+ "latitude": 42.226024692,
+ "longitude": -8.723390804,
+ "lines": [
+ "C1"
+ ]
+ },
+ {
+ "stopId": 2430,
+ "internalStopId": "3026",
+ "name": "Rúa de Barcelona 64",
+ "latitude": 42.223917068,
+ "longitude": -8.726168827,
+ "lines": [
+ "C1"
+ ]
+ },
+ {
+ "stopId": 14475,
+ "internalStopId": "4045",
+ "name": "Rúa de Barcelona 78",
+ "latitude": 42.222992354,
+ "longitude": -8.728300382,
+ "lines": [
+ "C1"
+ ]
+ },
+ {
+ "stopId": 6530,
+ "internalStopId": "3449",
+ "name": "Rúa do Pintor Laxeiro 4",
+ "latitude": 42.222480852,
+ "longitude": -8.729812967,
+ "lines": [
+ "C1"
+ ]
+ },
+ {
+ "stopId": 14169,
+ "internalStopId": "3790",
+ "name": "Avda. das Camelias 136",
+ "latitude": 42.22244224,
+ "longitude": -8.731271052,
+ "lines": [
+ "C1",
+ "4A",
+ "4C",
+ "7",
+ "12B",
+ "16",
+ "17",
+ "27",
+ "LZH",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 6930,
+ "internalStopId": "3493",
+ "name": "Praza de América 1",
+ "latitude": 42.220997313,
+ "longitude": -8.732835177,
+ "lines": [
+ "C1",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 3250,
+ "internalStopId": "3112",
+ "name": "Rúa da Coruña 26",
+ "latitude": 42.222378625,
+ "longitude": -8.734134247,
+ "lines": [
+ "C1",
+ "A",
+ "10",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 6970,
+ "internalStopId": "3498",
+ "name": "Rúa da Coruña 52",
+ "latitude": 42.223781999,
+ "longitude": -8.735258991,
+ "lines": [
+ "C1",
+ "A",
+ "10",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 14892,
+ "internalStopId": "4049",
+ "name": "Rúa do Conde de Torrecedeira 123",
+ "latitude": 42.224929414,
+ "longitude": -8.735414067,
+ "lines": [
+ "C1",
+ "C3d",
+ "A",
+ "9B",
+ "15C",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 8460,
+ "internalStopId": "3658",
+ "name": "Rúa do Conde de Torrecedeira 105",
+ "latitude": 42.227500225,
+ "longitude": -8.734096707,
+ "lines": [
+ "C1",
+ "C3d",
+ "A",
+ "9B",
+ "15C",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 8480,
+ "internalStopId": "3660",
+ "name": "Rúa do Conde de Torrecedeira 81",
+ "latitude": 42.229616766,
+ "longitude": -8.732861043,
+ "lines": [
+ "C1",
+ "C3d",
+ "A",
+ "5A",
+ "9B",
+ "15C",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 8450,
+ "internalStopId": "3657",
+ "name": "Rúa do Conde de Torrecedeira (Parque)",
+ "latitude": 42.231511437,
+ "longitude": -8.732178,
+ "lines": [
+ "C1",
+ "C3d",
+ "A",
+ "5A",
+ "9B",
+ "15C",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 8470,
+ "internalStopId": "3659",
+ "name": "Rúa do Conde de Torrecedeira 21",
+ "latitude": 42.234106639,
+ "longitude": -8.731302569,
+ "lines": [
+ "C1",
+ "C3d",
+ "A",
+ "5A",
+ "9B",
+ "15C",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 14173,
+ "internalStopId": "3794",
+ "name": "Rúa do Gaiteiro de Ricardo Portela (fronte Pavillón)",
+ "latitude": 42.235900754,
+ "longitude": -8.731391435,
+ "lines": [
+ "C1",
+ "C3d",
+ "A",
+ "5A",
+ "9B",
+ "15C",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 1150,
+ "internalStopId": "2898",
+ "name": "Rúa da Ribeira do Berbés",
+ "latitude": 42.237384264,
+ "longitude": -8.729603006,
+ "lines": [
+ "C1",
+ "C3d",
+ "A",
+ "5A",
+ "9B",
+ "10",
+ "15B",
+ "15C",
+ "28",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 14333,
+ "internalStopId": "3953",
+ "name": "Rúa de Cánovas del Castillo 18",
+ "latitude": 42.240189011,
+ "longitude": -8.726765331,
+ "lines": [
+ "C1",
+ "C3d",
+ "A",
+ "5A",
+ "9B",
+ "10",
+ "15B",
+ "15C",
+ "28",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 20194,
+ "internalStopId": "5509",
+ "name": "Rúa de Cánovas del Castillo 28",
+ "latitude": 42.240364985,
+ "longitude": -8.724530974,
+ "lines": [
+ "C1",
+ "C3d",
+ "A",
+ "5A",
+ "9B",
+ "10",
+ "15B",
+ "15C",
+ "28",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 14121,
+ "internalStopId": "3744",
+ "name": "Rúa da Reconquista 2",
+ "latitude": 42.238625474,
+ "longitude": -8.723242095,
+ "lines": [
+ "C1",
+ "C3d",
+ "A",
+ "5A",
+ "9B",
+ "10",
+ "15B",
+ "15C",
+ "24",
+ "28",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 20198,
+ "internalStopId": "5513",
+ "name": "Rúa de Policarpo Sanz 26",
+ "latitude": 42.237533428,
+ "longitude": -8.722195046,
+ "lines": [
+ "C1",
+ "C3d",
+ "A",
+ "5A",
+ "9B",
+ "10",
+ "15B",
+ "15C",
+ "24",
+ "28",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 6620,
+ "internalStopId": "3461",
+ "name": "Rúa de Policarpo Sanz 40",
+ "latitude": 42.237570519,
+ "longitude": -8.721008848,
+ "lines": [
+ "C1",
+ "A",
+ "5A",
+ "9B",
+ "15B",
+ "15C",
+ "24",
+ "28",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 14264,
+ "internalStopId": "3885",
+ "name": "Rúa de Urzáiz - Príncipe",
+ "latitude": 42.235873545,
+ "longitude": -8.720083317,
+ "lines": [
+ "C1",
+ "A",
+ "4A",
+ "4C",
+ "5A",
+ "7",
+ "9B",
+ "12B",
+ "14",
+ "15B",
+ "15C",
+ "16",
+ "17",
+ "18A",
+ "18B",
+ "18H",
+ "24",
+ "28",
+ "N1",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 8820,
+ "internalStopId": "3695",
+ "name": "Rúa de Urzáiz 28",
+ "latitude": 42.23516998,
+ "longitude": -8.718398782,
+ "lines": [
+ "C1",
+ "A",
+ "4A",
+ "4C",
+ "5A",
+ "7",
+ "9B",
+ "12B",
+ "14",
+ "15B",
+ "15C",
+ "16",
+ "17",
+ "18A",
+ "18B",
+ "18H",
+ "24",
+ "28",
+ "N1",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 5610,
+ "internalStopId": "3352",
+ "name": "Avda. da Gran Vía 12",
+ "latitude": 42.233503531,
+ "longitude": -8.717236739,
+ "lines": [
+ "C1",
+ "4A",
+ "4C",
+ "5B",
+ "7",
+ "12B",
+ "14",
+ "16",
+ "17",
+ "18A",
+ "18B",
+ "18H",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 5670,
+ "internalStopId": "3358",
+ "name": "Avda. da Gran Vía 46",
+ "latitude": 42.230988893,
+ "longitude": -8.71867283,
+ "lines": [
+ "C1",
+ "12A",
+ "12B",
+ "14",
+ "18A",
+ "18B",
+ "18H",
+ "TUR"
+ ]
+ },
+ {
+ "stopId": 20012,
+ "internalStopId": "4084",
+ "name": "Avda. de Castrelos 33",
+ "latitude": 42.215888032,
+ "longitude": -8.732331627,
+ "lines": [
+ "A",
+ "16",
+ "23",
+ "27",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 1410,
+ "internalStopId": "2924",
+ "name": "Avda. de Castrelos 13",
+ "latitude": 42.218060161,
+ "longitude": -8.732450427,
+ "lines": [
+ "A",
+ "16",
+ "23",
+ "27",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 1330,
+ "internalStopId": "2916",
+ "name": "Avda. de Castrelos (Pavillón)",
+ "latitude": 42.219553947,
+ "longitude": -8.732509436,
+ "lines": [
+ "A",
+ "16",
+ "23",
+ "27",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 8840,
+ "internalStopId": "3697",
+ "name": "Rúa de Urzáiz 60 - Est. Intermodal - C.C.",
+ "latitude": 42.233986283,
+ "longitude": -8.71541048,
+ "lines": [
+ "A",
+ "4A",
+ "4C",
+ "5A",
+ "9B",
+ "11",
+ "15B",
+ "15C",
+ "24",
+ "28",
+ "N1",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 7000,
+ "internalStopId": "3501",
+ "name": "Praza de Fernando O Católico",
+ "latitude": 42.232427317,
+ "longitude": -8.711371073,
+ "lines": [
+ "A",
+ "4A",
+ "4C",
+ "5A",
+ "9B",
+ "11",
+ "15B",
+ "15C",
+ "24",
+ "28",
+ "N1",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 8610,
+ "internalStopId": "3673",
+ "name": "Rúa da Travesía de Vigo 8",
+ "latitude": 42.232028188,
+ "longitude": -8.708203776,
+ "lines": [
+ "C3i",
+ "A",
+ "4A",
+ "4C",
+ "5A",
+ "6",
+ "9B",
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "23",
+ "24",
+ "25",
+ "27",
+ "28",
+ "N1",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 5810,
+ "internalStopId": "3372",
+ "name": "Rúa de Jenaro de la Fuente 10",
+ "latitude": 42.232258514,
+ "longitude": -8.705770621,
+ "lines": [
+ "A",
+ "4A",
+ "4C",
+ "6",
+ "9B",
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "23",
+ "24",
+ "25",
+ "27",
+ "28",
+ "N4",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 5820,
+ "internalStopId": "3373",
+ "name": "Rúa de Jenaro de la Fuente 22",
+ "latitude": 42.232042043,
+ "longitude": -8.703616807,
+ "lines": [
+ "A",
+ "4A",
+ "4C",
+ "6",
+ "9B",
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "23",
+ "24",
+ "25",
+ "27",
+ "28",
+ "N4",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 710,
+ "internalStopId": "2854",
+ "name": "Rúa de Aragón (Instituto)",
+ "latitude": 42.232478958,
+ "longitude": -8.701988706,
+ "lines": [
+ "A",
+ "4A",
+ "9B",
+ "24",
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 910,
+ "internalStopId": "2874",
+ "name": "Avda. do Aeroporto 54",
+ "latitude": 42.234679919,
+ "longitude": -8.699623994,
+ "lines": [
+ "A",
+ "4A",
+ "9B",
+ "24",
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 14106,
+ "internalStopId": "3729",
+ "name": "Avda. do Aeroporto 92",
+ "latitude": 42.234161582,
+ "longitude": -8.695074564,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 730,
+ "internalStopId": "2856",
+ "name": "Avda. do Aeroporto 130",
+ "latitude": 42.231109162,
+ "longitude": -8.690501398,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 750,
+ "internalStopId": "2858",
+ "name": "Avda. do Aeroporto 184",
+ "latitude": 42.233103986,
+ "longitude": -8.68716283,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 760,
+ "internalStopId": "2859",
+ "name": "Avda. do Aeroporto 240",
+ "latitude": 42.236775611,
+ "longitude": -8.683736566,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 780,
+ "internalStopId": "2861",
+ "name": "Avda. do Aeroporto 298",
+ "latitude": 42.238554288,
+ "longitude": -8.680663432,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 800,
+ "internalStopId": "2863",
+ "name": "Avda. do Aeroporto 328",
+ "latitude": 42.237801674,
+ "longitude": -8.676524783,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 810,
+ "internalStopId": "2864",
+ "name": "Avda. do Aeroporto 350",
+ "latitude": 42.235521261,
+ "longitude": -8.67465521,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 830,
+ "internalStopId": "2866",
+ "name": "Avda. do Aeroporto 378",
+ "latitude": 42.234673289,
+ "longitude": -8.671348046,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 860,
+ "internalStopId": "2869",
+ "name": "Avda. do Aeroporto 446",
+ "latitude": 42.235612667,
+ "longitude": -8.666529207,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 880,
+ "internalStopId": "2871",
+ "name": "Avda. do Aeroporto 484",
+ "latitude": 42.23544051,
+ "longitude": -8.662354939,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 14251,
+ "internalStopId": "3872",
+ "name": "Avda. do Aeroporto (fronte 463)",
+ "latitude": 42.234817602,
+ "longitude": -8.65882027,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 930,
+ "internalStopId": "2876",
+ "name": "Avda. do Aeroporto 570",
+ "latitude": 42.231979036,
+ "longitude": -8.65372496,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 950,
+ "internalStopId": "2878",
+ "name": "Avda. do Aeroporto 614",
+ "latitude": 42.233626818,
+ "longitude": -8.647811163,
+ "lines": [
+ "A",
+ "25"
+ ]
+ },
+ {
+ "stopId": 690,
+ "internalStopId": "2852",
+ "name": "Avda. do Aeroporto 656",
+ "latitude": 42.233064093,
+ "longitude": -8.642742935,
+ "lines": [
+ "A",
+ "25"
+ ]
+ },
+ {
+ "stopId": 960,
+ "internalStopId": "2879",
+ "name": "Avda. do Aeroporto 686",
+ "latitude": 42.230918888,
+ "longitude": -8.638532893,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 700,
+ "internalStopId": "2853",
+ "name": "Avda. do Aeroporto (Colexio)",
+ "latitude": 42.228674047,
+ "longitude": -8.633340309,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 6440,
+ "internalStopId": "3440",
+ "name": "Camiño do Pino Manso 6",
+ "latitude": 42.222951208,
+ "longitude": -8.635051581,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 14228,
+ "internalStopId": "3849",
+ "name": "Avda. de Peinador 100",
+ "latitude": 42.221696342,
+ "longitude": -8.632840997,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 90,
+ "internalStopId": "2789",
+ "name": "Aeroporto de Peinador",
+ "latitude": 42.225956918,
+ "longitude": -8.63286469,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 680,
+ "internalStopId": "2851",
+ "name": "Avda. do Aeroporto (Aeroclub)",
+ "latitude": 42.229005723,
+ "longitude": -8.634356866,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 940,
+ "internalStopId": "2877",
+ "name": "Avda. do Aeroporto 605",
+ "latitude": 42.230493878,
+ "longitude": -8.638023273,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 920,
+ "internalStopId": "2875",
+ "name": "Avda. do Aeroporto (cruce Camiño das Cereixeiras)",
+ "latitude": 42.233499069,
+ "longitude": -8.643325214,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 900,
+ "internalStopId": "2873",
+ "name": "Avda. do Aeroporto 531",
+ "latitude": 42.233527998,
+ "longitude": -8.648237616,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 890,
+ "internalStopId": "2872",
+ "name": "Avda. do Aeroporto 491",
+ "latitude": 42.232066419,
+ "longitude": -8.653842977,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 14250,
+ "internalStopId": "3871",
+ "name": "Avda. do Aeroporto 463",
+ "latitude": 42.234914814,
+ "longitude": -8.658983411,
+ "lines": [
+ "A",
+ "9B"
+ ]
+ },
+ {
+ "stopId": 870,
+ "internalStopId": "2870",
+ "name": "Avda. do Aeroporto 447",
+ "latitude": 42.23543058,
+ "longitude": -8.66197943,
+ "lines": [
+ "A",
+ "9B"
+ ]
+ },
+ {
+ "stopId": 850,
+ "internalStopId": "2868",
+ "name": "Avda. do Aeroporto 423",
+ "latitude": 42.23630176,
+ "longitude": -8.665791599,
+ "lines": [
+ "A",
+ "9B"
+ ]
+ },
+ {
+ "stopId": 820,
+ "internalStopId": "2865",
+ "name": "Avda. do Aeroporto 377",
+ "latitude": 42.234766626,
+ "longitude": -8.671305131,
+ "lines": [
+ "A",
+ "9B"
+ ]
+ },
+ {
+ "stopId": 790,
+ "internalStopId": "2862",
+ "name": "Avda. do Aeroporto 325",
+ "latitude": 42.237426811,
+ "longitude": -8.675474476,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 770,
+ "internalStopId": "2860",
+ "name": "Avda. do Aeroporto 273",
+ "latitude": 42.238939528,
+ "longitude": -8.681422497,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 720,
+ "internalStopId": "2855",
+ "name": "Avda. do Aeroporto 215",
+ "latitude": 42.235739016,
+ "longitude": -8.684254232,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 740,
+ "internalStopId": "2857",
+ "name": "Avda. do Aeroporto 181",
+ "latitude": 42.233560754,
+ "longitude": -8.686937524,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 970,
+ "internalStopId": "2880",
+ "name": "Avda. do Aeroporto 91",
+ "latitude": 42.232787318,
+ "longitude": -8.693473285,
+ "lines": [
+ "A",
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 20219,
+ "internalStopId": "5552",
+ "name": "Avda. do Aeroporto (fronte 90)",
+ "latitude": 42.234830699,
+ "longitude": -8.695443515,
+ "lines": [
+ "A",
+ "9B",
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 840,
+ "internalStopId": "2867",
+ "name": "Avda. do Aeroporto 43",
+ "latitude": 42.234904325,
+ "longitude": -8.699245802,
+ "lines": [
+ "A",
+ "4A",
+ "9B",
+ "24",
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 5800,
+ "internalStopId": "3371",
+ "name": "Rúa de Jenaro de la Fuente 29",
+ "latitude": 42.232202275,
+ "longitude": -8.703792246,
+ "lines": [
+ "A",
+ "4A",
+ "6",
+ "9B",
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "24",
+ "25",
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 5830,
+ "internalStopId": "3374",
+ "name": "Rúa de Jenaro de la Fuente 11",
+ "latitude": 42.23238699,
+ "longitude": -8.705610784,
+ "lines": [
+ "A",
+ "4A",
+ "6",
+ "9B",
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "24",
+ "25",
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 8630,
+ "internalStopId": "3675",
+ "name": "Rúa da Travesía de Vigo 7",
+ "latitude": 42.232045931,
+ "longitude": -8.708603793,
+ "lines": [
+ "C3d",
+ "A",
+ "4A",
+ "4C",
+ "5A",
+ "6",
+ "9B",
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "23",
+ "25",
+ "27",
+ "28",
+ "N4",
+ "U2",
+ "H2",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 8850,
+ "internalStopId": "3698",
+ "name": "Rúa de Urzáiz 97",
+ "latitude": 42.232341315,
+ "longitude": -8.710892054,
+ "lines": [
+ "A",
+ "4A",
+ "4C",
+ "5A",
+ "6",
+ "9B",
+ "11",
+ "15B",
+ "15C",
+ "28",
+ "N4",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 8750,
+ "internalStopId": "3688",
+ "name": "Rúa de Urzáiz - Est. Intermodal - C.C.",
+ "latitude": 42.233722977,
+ "longitude": -8.714502762,
+ "lines": [
+ "A",
+ "4A",
+ "4C",
+ "5A",
+ "6",
+ "9B",
+ "11",
+ "15B",
+ "15C",
+ "24",
+ "28",
+ "N4",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 8770,
+ "internalStopId": "3690",
+ "name": "Rúa de Urzáiz 13",
+ "latitude": 42.235420929,
+ "longitude": -8.718721877,
+ "lines": [
+ "A",
+ "4A",
+ "4C",
+ "5A",
+ "6",
+ "7",
+ "9B",
+ "11",
+ "12B",
+ "14",
+ "15B",
+ "15C",
+ "16",
+ "17",
+ "18A",
+ "18B",
+ "18H",
+ "24",
+ "28",
+ "N1",
+ "N4",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 20146,
+ "internalStopId": "5415",
+ "name": "Avda. de García Barbón 7",
+ "latitude": 42.237488035,
+ "longitude": -8.719378239,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 5520,
+ "internalStopId": "3343",
+ "name": "Avda. de García Barbón 7",
+ "latitude": 42.237485586,
+ "longitude": -8.719397801,
+ "lines": [
+ "C3i",
+ "A",
+ "4A",
+ "4C",
+ "5B",
+ "6",
+ "7",
+ "9B",
+ "10",
+ "12B",
+ "14",
+ "16",
+ "17",
+ "18A",
+ "18B",
+ "18H",
+ "28",
+ "N1",
+ "N4",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 7410,
+ "internalStopId": "3541",
+ "name": "Rúa de Eduardo Cabello (Igrexa)",
+ "latitude": 42.226366639,
+ "longitude": -8.752928216,
+ "lines": [
+ "C3d",
+ "C3i",
+ "13",
+ "U1",
+ "H"
+ ]
+ },
+ {
+ "stopId": 6450,
+ "internalStopId": "3441",
+ "name": "Praza de Suárez Llanos",
+ "latitude": 42.224306065,
+ "longitude": -8.753090783,
+ "lines": [
+ "C3d",
+ "C3i",
+ "13",
+ "U1",
+ "H"
+ ]
+ },
+ {
+ "stopId": 2830,
+ "internalStopId": "3068",
+ "name": "Rúa de Camilo Veiga 33",
+ "latitude": 42.22243855,
+ "longitude": -8.751978552,
+ "lines": [
+ "C3d",
+ "13",
+ "15B",
+ "15C",
+ "U1",
+ "H"
+ ]
+ },
+ {
+ "stopId": 8390,
+ "internalStopId": "3651",
+ "name": "Rúa de Tomás A. Alonso 251",
+ "latitude": 42.223510532,
+ "longitude": -8.748903264,
+ "lines": [
+ "C3d",
+ "13",
+ "15B",
+ "15C",
+ "U1",
+ "H"
+ ]
+ },
+ {
+ "stopId": 14165,
+ "internalStopId": "3786",
+ "name": "Rúa de Tomás A. Alonso 193",
+ "latitude": 42.224905029,
+ "longitude": -8.745285775,
+ "lines": [
+ "C3d",
+ "13",
+ "15B",
+ "15C",
+ "U1",
+ "H"
+ ]
+ },
+ {
+ "stopId": 8340,
+ "internalStopId": "3646",
+ "name": "Rúa de Tomás A. Alonso 137",
+ "latitude": 42.223840474,
+ "longitude": -8.740432891,
+ "lines": [
+ "C3d",
+ "13",
+ "15B",
+ "15C",
+ "U1",
+ "H"
+ ]
+ },
+ {
+ "stopId": 6990,
+ "internalStopId": "3500",
+ "name": "Praza Eugenio Fadrique 9",
+ "latitude": 42.224099613,
+ "longitude": -8.735838344,
+ "lines": [
+ "C3d",
+ "A",
+ "9B",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 5530,
+ "internalStopId": "3344",
+ "name": "Avda. de García Barbón 18",
+ "latitude": 42.23720456,
+ "longitude": -8.718680736,
+ "lines": [
+ "C3d",
+ "5B",
+ "10",
+ "17",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 5540,
+ "internalStopId": "3345",
+ "name": "Avda. de García Barbón 28",
+ "latitude": 42.236759685,
+ "longitude": -8.716384581,
+ "lines": [
+ "C3d",
+ "A",
+ "5B",
+ "10",
+ "16",
+ "17",
+ "24",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 5560,
+ "internalStopId": "3347",
+ "name": "Avda. de García Barbón 60",
+ "latitude": 42.236896919,
+ "longitude": -8.712902905,
+ "lines": [
+ "C3d",
+ "A",
+ "5B",
+ "10",
+ "16",
+ "17",
+ "24",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 5580,
+ "internalStopId": "3349",
+ "name": "Avda. de García Barbón 90",
+ "latitude": 42.238267348,
+ "longitude": -8.709873166,
+ "lines": [
+ "C3d",
+ "5B",
+ "10",
+ "17",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 14396,
+ "internalStopId": "4015",
+ "name": "Avda. de García Barbón 106",
+ "latitude": 42.239965365,
+ "longitude": -8.708024282,
+ "lines": [
+ "C3d",
+ "5B",
+ "10",
+ "17",
+ "31",
+ "H2",
+ "H3",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 5500,
+ "internalStopId": "3340",
+ "name": "Avda. de García Barbón 126",
+ "latitude": 42.24178025,
+ "longitude": -8.706720936,
+ "lines": [
+ "C3d",
+ "5B",
+ "10",
+ "17",
+ "31",
+ "U2",
+ "H2",
+ "H3",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 8010,
+ "internalStopId": "3611",
+ "name": "Rúa de Sanjurjo Badía 106",
+ "latitude": 42.245018172,
+ "longitude": -8.703349646,
+ "lines": [
+ "C3d",
+ "5B",
+ "10",
+ "17",
+ "31",
+ "U2",
+ "H2",
+ "H3",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 8030,
+ "internalStopId": "3613",
+ "name": "Rúa de Sanjurjo Badía 136",
+ "latitude": 42.246056261,
+ "longitude": -8.701684825,
+ "lines": [
+ "C3d",
+ "5B",
+ "10",
+ "17",
+ "31",
+ "U2",
+ "H2",
+ "H3",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 8050,
+ "internalStopId": "3615",
+ "name": "Rúa de Sanjurjo Badía 202",
+ "latitude": 42.247765296,
+ "longitude": -8.698918203,
+ "lines": [
+ "C3d",
+ "5B",
+ "10",
+ "17",
+ "31",
+ "U2",
+ "H2",
+ "H3",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 14132,
+ "internalStopId": "3755",
+ "name": "Rúa de Sanjurjo Badía 252",
+ "latitude": 42.249307631,
+ "longitude": -8.696542008,
+ "lines": [
+ "C3d",
+ "5A",
+ "5B",
+ "10",
+ "17",
+ "31",
+ "U2",
+ "H2",
+ "H3",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 14136,
+ "internalStopId": "3759",
+ "name": "Avda. de Galicia 18",
+ "latitude": 42.250484372,
+ "longitude": -8.694878804,
+ "lines": [
+ "C3d",
+ "17"
+ ]
+ },
+ {
+ "stopId": 1680,
+ "internalStopId": "2951",
+ "name": "Avda. de Galicia (Parque Cruce Balbarda)",
+ "latitude": 42.251327471,
+ "longitude": -8.69260735,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 1610,
+ "internalStopId": "2944",
+ "name": "Avda. de Galicia 146",
+ "latitude": 42.251376198,
+ "longitude": -8.68920404,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 14134,
+ "internalStopId": "3757",
+ "name": "Avda. de Galicia 182",
+ "latitude": 42.253208793,
+ "longitude": -8.686995591,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 1640,
+ "internalStopId": "2947",
+ "name": "Avda. de Galicia 200",
+ "latitude": 42.254950083,
+ "longitude": -8.684862748,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 1650,
+ "internalStopId": "2948",
+ "name": "Avda. de Galicia 238",
+ "latitude": 42.256910715,
+ "longitude": -8.68201353,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 1660,
+ "internalStopId": "2949",
+ "name": "Avda. de Galicia 280",
+ "latitude": 42.259217959,
+ "longitude": -8.679666503,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 1790,
+ "internalStopId": "2962",
+ "name": "Avda. de Vigo 261 (Cuatro Puentes)",
+ "latitude": 42.261621089,
+ "longitude": -8.677207279,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 1760,
+ "internalStopId": "2959",
+ "name": "Avda. de Vigo 201",
+ "latitude": 42.26408966,
+ "longitude": -8.674082239,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 1750,
+ "internalStopId": "2958",
+ "name": "Avda. de Vigo 161",
+ "latitude": 42.266305919,
+ "longitude": -8.672818918,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 1730,
+ "internalStopId": "2956",
+ "name": "Avda. de Vigo 129",
+ "latitude": 42.267833798,
+ "longitude": -8.671345739,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 1720,
+ "internalStopId": "2955",
+ "name": "Avda. de Vigo 95",
+ "latitude": 42.270480988,
+ "longitude": -8.667726374,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 1820,
+ "internalStopId": "2965",
+ "name": "Avda. de Vigo 49",
+ "latitude": 42.271878394,
+ "longitude": -8.666356304,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 1830,
+ "internalStopId": "2966",
+ "name": "Avda. de Vigo 11",
+ "latitude": 42.274038501,
+ "longitude": -8.666949932,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 2090,
+ "internalStopId": "2992",
+ "name": "Avda. de Redondela 32",
+ "latitude": 42.272074281,
+ "longitude": -8.664593691,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 2130,
+ "internalStopId": "2996",
+ "name": "Avda. de Redondela (Instituto)",
+ "latitude": 42.266758811,
+ "longitude": -8.667247828,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 2110,
+ "internalStopId": "2994",
+ "name": "Avda. de Redondela 70",
+ "latitude": 42.263286688,
+ "longitude": -8.668985036,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 2060,
+ "internalStopId": "2989",
+ "name": "Avda. de Redondela 122",
+ "latitude": 42.259945558,
+ "longitude": -8.672608434,
+ "lines": [
+ "C3d"
+ ]
+ },
+ {
+ "stopId": 195,
+ "internalStopId": "2800",
+ "name": "Rúa de Ángel de Lema 247",
+ "latitude": 42.256624708,
+ "longitude": -8.677490797,
+ "lines": [
+ "C3d",
+ "10"
+ ]
+ },
+ {
+ "stopId": 250,
+ "internalStopId": "2806",
+ "name": "Rúa de Ángel de Lema 221",
+ "latitude": 42.255252085,
+ "longitude": -8.679480662,
+ "lines": [
+ "C3d",
+ "10"
+ ]
+ },
+ {
+ "stopId": 220,
+ "internalStopId": "2803",
+ "name": "Rúa de Ángel de Lema 163",
+ "latitude": 42.252694363,
+ "longitude": -8.68302903,
+ "lines": [
+ "C3d",
+ "10"
+ ]
+ },
+ {
+ "stopId": 260,
+ "internalStopId": "2807",
+ "name": "Rúa de Ángel de Lema 91",
+ "latitude": 42.250421216,
+ "longitude": -8.685464716,
+ "lines": [
+ "C3d",
+ "10"
+ ]
+ },
+ {
+ "stopId": 20054,
+ "internalStopId": "4126",
+ "name": "Rúa de Ángel de Lema 33",
+ "latitude": 42.248897377,
+ "longitude": -8.689150714,
+ "lines": [
+ "C3d",
+ "10"
+ ]
+ },
+ {
+ "stopId": 240,
+ "internalStopId": "2805",
+ "name": "Rúa de Ángel de Lema 19",
+ "latitude": 42.247513476,
+ "longitude": -8.691874301,
+ "lines": [
+ "C3d",
+ "10"
+ ]
+ },
+ {
+ "stopId": 8570,
+ "internalStopId": "3669",
+ "name": "Rúa da Travesía de Vigo 239",
+ "latitude": 42.246143319,
+ "longitude": -8.69359937,
+ "lines": [
+ "C3d",
+ "5A",
+ "31",
+ "U2",
+ "H2",
+ "H3",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 8560,
+ "internalStopId": "3668",
+ "name": "Rúa da Travesía de Vigo 213",
+ "latitude": 42.24409871,
+ "longitude": -8.69614733,
+ "lines": [
+ "C3d",
+ "5A",
+ "31",
+ "U2",
+ "H2",
+ "H3",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 8540,
+ "internalStopId": "3666",
+ "name": "Rúa da Travesía de Vigo 193",
+ "latitude": 42.242844316,
+ "longitude": -8.698295825,
+ "lines": [
+ "C3d",
+ "5A",
+ "31",
+ "U2",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 8520,
+ "internalStopId": "3664",
+ "name": "Rúa da Travesía de Vigo 153",
+ "latitude": 42.241332883,
+ "longitude": -8.702059906,
+ "lines": [
+ "C3d",
+ "5A",
+ "31",
+ "U2",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 8500,
+ "internalStopId": "3662",
+ "name": "Rúa da Travesía de Vigo 105",
+ "latitude": 42.238455548,
+ "longitude": -8.703814812,
+ "lines": [
+ "C3d",
+ "5A",
+ "31",
+ "U2",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 8600,
+ "internalStopId": "3672",
+ "name": "Rúa da Travesía de Vigo 71",
+ "latitude": 42.236350093,
+ "longitude": -8.70429745,
+ "lines": [
+ "C3d",
+ "5A",
+ "31",
+ "U2",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 8590,
+ "internalStopId": "3671",
+ "name": "Rúa da Travesía de Vigo 37",
+ "latitude": 42.233681224,
+ "longitude": -8.706702136,
+ "lines": [
+ "C3d",
+ "5A",
+ "31",
+ "U2",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 6570,
+ "internalStopId": "3453",
+ "name": "Rúa de Pizarro 65",
+ "latitude": 42.231357755,
+ "longitude": -8.71296778,
+ "lines": [
+ "C3d",
+ "6",
+ "15A",
+ "23",
+ "25",
+ "27",
+ "28",
+ "U2",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 6580,
+ "internalStopId": "3454",
+ "name": "Rúa de Pizarro 7",
+ "latitude": 42.229860487,
+ "longitude": -8.717979137,
+ "lines": [
+ "C3d",
+ "6",
+ "15A",
+ "23",
+ "25",
+ "27",
+ "28",
+ "U2",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 5680,
+ "internalStopId": "3359",
+ "name": "Avda. da Gran Vía 66",
+ "latitude": 42.228173802,
+ "longitude": -8.720267623,
+ "lines": [
+ "C3d",
+ "13",
+ "15A",
+ "23",
+ "29",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 5700,
+ "internalStopId": "3361",
+ "name": "Avda. da Gran Vía 104",
+ "latitude": 42.225325884,
+ "longitude": -8.722106624,
+ "lines": [
+ "C3d",
+ "13",
+ "15A",
+ "23",
+ "29",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 14398,
+ "internalStopId": "4017",
+ "name": "Avda. da Gran Vía 116",
+ "latitude": 42.22406594,
+ "longitude": -8.723691036,
+ "lines": [
+ "C3d",
+ "13",
+ "15A",
+ "23",
+ "29",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 5620,
+ "internalStopId": "3353",
+ "name": "Avda. da Gran Vía 148",
+ "latitude": 42.222321607,
+ "longitude": -8.726440421,
+ "lines": [
+ "C3d",
+ "13",
+ "15A",
+ "23",
+ "29",
+ "U1",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 14902,
+ "internalStopId": "4059",
+ "name": "Avda. da Gran Vía 164",
+ "latitude": 42.221374035,
+ "longitude": -8.728927264,
+ "lines": [
+ "C3d",
+ "13",
+ "15A",
+ "23",
+ "29",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 5640,
+ "internalStopId": "3355",
+ "name": "Avda. da Gran Vía 182",
+ "latitude": 42.220760006,
+ "longitude": -8.731173336,
+ "lines": [
+ "C3d",
+ "13",
+ "15A",
+ "23",
+ "29",
+ "U2",
+ "H2",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 6940,
+ "internalStopId": "3494",
+ "name": "Praza de América 3",
+ "latitude": 42.220663902,
+ "longitude": -8.733419892,
+ "lines": [
+ "C3d",
+ "4A",
+ "4C",
+ "5A",
+ "5B",
+ "10",
+ "11",
+ "12A",
+ "13",
+ "15A",
+ "29",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 1250,
+ "internalStopId": "2908",
+ "name": "Avda. de Castelao 16",
+ "latitude": 42.219730396,
+ "longitude": -8.737456513,
+ "lines": [
+ "C3d",
+ "4A",
+ "4C",
+ "5B",
+ "10",
+ "12A",
+ "13",
+ "15A",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 20077,
+ "internalStopId": "4149",
+ "name": "Avda. de Castelao 40",
+ "latitude": 42.219259727,
+ "longitude": -8.739809435,
+ "lines": [
+ "C3d",
+ "4A",
+ "4C",
+ "5B",
+ "10",
+ "12A",
+ "13",
+ "15A",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 1270,
+ "internalStopId": "2910",
+ "name": "Avda. de Castelao 50",
+ "latitude": 42.218704937,
+ "longitude": -8.74254446,
+ "lines": [
+ "C3d",
+ "4A",
+ "4C",
+ "5B",
+ "10",
+ "12A",
+ "13",
+ "15A",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 1290,
+ "internalStopId": "2912",
+ "name": "Avda. de Castelao 54",
+ "latitude": 42.218158263,
+ "longitude": -8.745797727,
+ "lines": [
+ "C3d",
+ "4A",
+ "4C",
+ "5B",
+ "10",
+ "12A",
+ "13",
+ "15A",
+ "N4",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 20027,
+ "internalStopId": "4099",
+ "name": "Avda. de Castelao 64",
+ "latitude": 42.217691983,
+ "longitude": -8.749585877,
+ "lines": [
+ "C3d",
+ "4A",
+ "4C",
+ "5B",
+ "10",
+ "12A",
+ "13",
+ "15A",
+ "N4",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 1300,
+ "internalStopId": "2913",
+ "name": "Avda. de Castelao 68",
+ "latitude": 42.217466378,
+ "longitude": -8.751245499,
+ "lines": [
+ "C3d",
+ "4A",
+ "4C",
+ "5B",
+ "10",
+ "12A",
+ "13",
+ "15A",
+ "N4",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 6640,
+ "internalStopId": "3463",
+ "name": "Rúa do Porriño (fronte Instituto)",
+ "latitude": 42.215506175,
+ "longitude": -8.753186569,
+ "lines": [
+ "C3d",
+ "C3i",
+ "4A",
+ "4C",
+ "15A",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 14125,
+ "internalStopId": "3748",
+ "name": "Rúa do Porriño (fronte 9)",
+ "latitude": 42.213869651,
+ "longitude": -8.751990789,
+ "lines": [
+ "C3d",
+ "C3i",
+ "4A",
+ "4C",
+ "15A",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 14123,
+ "internalStopId": "3746",
+ "name": "Rúa do Porriño 9",
+ "latitude": 42.214127819,
+ "longitude": -8.752027594,
+ "lines": [
+ "C3d",
+ "C3i",
+ "4A",
+ "4C",
+ "5B",
+ "11",
+ "15A",
+ "15B",
+ "N4",
+ "U1"
+ ]
+ },
+ {
+ "stopId": 6650,
+ "internalStopId": "3464",
+ "name": "Rúa do Porriño (Instituto)",
+ "latitude": 42.215554055,
+ "longitude": -8.753042462,
+ "lines": [
+ "C3d",
+ "C3i",
+ "5B",
+ "15B",
+ "U1"
+ ]
+ },
+ {
+ "stopId": 8410,
+ "internalStopId": "3653",
+ "name": "Rúa de Tomás Paredes (fronte 108)",
+ "latitude": 42.218006346,
+ "longitude": -8.754154367,
+ "lines": [
+ "C3d",
+ "10",
+ "15B"
+ ]
+ },
+ {
+ "stopId": 8430,
+ "internalStopId": "3655",
+ "name": "Rúa de Tomás Paredes 9",
+ "latitude": 42.221229518,
+ "longitude": -8.753411657,
+ "lines": [
+ "C3d",
+ "10",
+ "15B"
+ ]
+ },
+ {
+ "stopId": 8370,
+ "internalStopId": "3649",
+ "name": "Rúa de Tomás A. Alonso 220",
+ "latitude": 42.223984208,
+ "longitude": -8.751326546,
+ "lines": [
+ "C3d",
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 6460,
+ "internalStopId": "3442",
+ "name": "Rúa dos Pescadores 10",
+ "latitude": 42.224853579,
+ "longitude": -8.752608542,
+ "lines": [
+ "C3d",
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 14124,
+ "internalStopId": "3747",
+ "name": "Rúa de Eduardo Cabello (fronte Igrexa)",
+ "latitude": 42.226569499,
+ "longitude": -8.752773946,
+ "lines": [
+ "C3d",
+ "C3i",
+ "6"
+ ]
+ },
+ {
+ "stopId": 1860,
+ "internalStopId": "2969",
+ "name": "Avda. de Europa (cruce Rúa da Pardaíña)",
+ "latitude": 42.216741568,
+ "longitude": -8.757129742,
+ "lines": [
+ "C3d",
+ "C3i",
+ "4A",
+ "12A",
+ "15A"
+ ]
+ },
+ {
+ "stopId": 1850,
+ "internalStopId": "2968",
+ "name": "Avda. de Europa (antes Camiño Freixeiro)",
+ "latitude": 42.216135691,
+ "longitude": -8.759632243,
+ "lines": [
+ "C3d",
+ "C3i",
+ "4A",
+ "12A",
+ "15A"
+ ]
+ },
+ {
+ "stopId": 1910,
+ "internalStopId": "2974",
+ "name": "Avda. de Europa (fronte cruce Rúa do Bravo)",
+ "latitude": 42.211905694,
+ "longitude": -8.766999036,
+ "lines": [
+ "C3d",
+ "C3i",
+ "15A"
+ ]
+ },
+ {
+ "stopId": 1870,
+ "internalStopId": "2970",
+ "name": "Avda. de Europa 102",
+ "latitude": 42.211235082,
+ "longitude": -8.773459294,
+ "lines": [
+ "C3d",
+ "C3i",
+ "15A"
+ ]
+ },
+ {
+ "stopId": 20145,
+ "internalStopId": "5414",
+ "name": "Samil por Bouzas",
+ "latitude": 42.215944153,
+ "longitude": -8.774726162,
+ "lines": [
+ "C3d",
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 14299,
+ "internalStopId": "3920",
+ "name": "Avda. de Samil (frente Verbum)",
+ "latitude": 42.213644883,
+ "longitude": -8.774567214,
+ "lines": [
+ "C3i",
+ "15A",
+ "N1",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 1920,
+ "internalStopId": "2975",
+ "name": "Avda. de Europa 101",
+ "latitude": 42.211066417,
+ "longitude": -8.772953743,
+ "lines": [
+ "C3d",
+ "C3i",
+ "4C",
+ "15A",
+ "N1",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 1900,
+ "internalStopId": "2973",
+ "name": "Avda. de Europa (cruce Rúa do Bravo)",
+ "latitude": 42.211855119,
+ "longitude": -8.766755158,
+ "lines": [
+ "C3d",
+ "C3i",
+ "4C",
+ "15A",
+ "N1",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 1890,
+ "internalStopId": "2972",
+ "name": "Avda. de Europa 23",
+ "latitude": 42.215913672,
+ "longitude": -8.759904797,
+ "lines": [
+ "C3d",
+ "C3i",
+ "4A",
+ "4C",
+ "12A",
+ "15A",
+ "N1",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 1880,
+ "internalStopId": "2971",
+ "name": "Avda. de Europa (cruce Rúa das Teixugueiras)",
+ "latitude": 42.216687933,
+ "longitude": -8.756794466,
+ "lines": [
+ "C3d",
+ "C3i",
+ "4A",
+ "4C",
+ "12A",
+ "15A",
+ "N1",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 14131,
+ "internalStopId": "3754",
+ "name": "Rúa de Tomás Paredes 4",
+ "latitude": 42.221948768,
+ "longitude": -8.753171211,
+ "lines": [
+ "C3i",
+ "10"
+ ]
+ },
+ {
+ "stopId": 8440,
+ "internalStopId": "3656",
+ "name": "Rúa de Tomás Paredes 86",
+ "latitude": 42.220192578,
+ "longitude": -8.754164587,
+ "lines": [
+ "C3i",
+ "10"
+ ]
+ },
+ {
+ "stopId": 6180,
+ "internalStopId": "3410",
+ "name": "Rúa de Marín (fronte 30)",
+ "latitude": 42.21850454,
+ "longitude": -8.753892634,
+ "lines": [
+ "C3i",
+ "5B"
+ ]
+ },
+ {
+ "stopId": 8950,
+ "internalStopId": "3711",
+ "name": "Rúa de Marín 5",
+ "latitude": 42.218712573,
+ "longitude": -8.75011435,
+ "lines": [
+ "C3i",
+ "5B"
+ ]
+ },
+ {
+ "stopId": 8930,
+ "internalStopId": "3709",
+ "name": "Rúa de Vilagarcía de Arousa (cruce Rúa do Grove)",
+ "latitude": 42.22014115,
+ "longitude": -8.745082757,
+ "lines": [
+ "C3i",
+ "5B"
+ ]
+ },
+ {
+ "stopId": 5070,
+ "internalStopId": "3297",
+ "name": "Rúa da Estrada 10-12",
+ "latitude": 42.220535836,
+ "longitude": -8.74141599,
+ "lines": [
+ "C3i",
+ "5B"
+ ]
+ },
+ {
+ "stopId": 5090,
+ "internalStopId": "3299",
+ "name": "Rúa da Estrada 1",
+ "latitude": 42.220359068,
+ "longitude": -8.738861999,
+ "lines": [
+ "C3i",
+ "5B"
+ ]
+ },
+ {
+ "stopId": 1260,
+ "internalStopId": "2909",
+ "name": "Avda. de Castelao 21",
+ "latitude": 42.219775977,
+ "longitude": -8.736255523,
+ "lines": [
+ "C3i",
+ "4A",
+ "4C",
+ "5B",
+ "10",
+ "11",
+ "12A",
+ "15A",
+ "N1",
+ "U1"
+ ]
+ },
+ {
+ "stopId": 14901,
+ "internalStopId": "4058",
+ "name": "Avda. de Castelao 1",
+ "latitude": 42.220211003,
+ "longitude": -8.734183023,
+ "lines": [
+ "C3i",
+ "10",
+ "11",
+ "15A",
+ "U1"
+ ]
+ },
+ {
+ "stopId": 14206,
+ "internalStopId": "3827",
+ "name": "Avda. da Gran Vía (Instituto)",
+ "latitude": 42.220514043,
+ "longitude": -8.731700217,
+ "lines": [
+ "C3i",
+ "7",
+ "11",
+ "13",
+ "15A",
+ "16",
+ "23",
+ "29",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 5650,
+ "internalStopId": "3356",
+ "name": "Avda. da Gran Vía 185",
+ "latitude": 42.220971136,
+ "longitude": -8.729196245,
+ "lines": [
+ "C3i",
+ "7",
+ "11",
+ "13",
+ "15A",
+ "16",
+ "23",
+ "29",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 5630,
+ "internalStopId": "3354",
+ "name": "Avda. da Gran Vía 147",
+ "latitude": 42.222790356,
+ "longitude": -8.724940076,
+ "lines": [
+ "C3i",
+ "7",
+ "11",
+ "13",
+ "15A",
+ "16",
+ "23",
+ "29",
+ "U2",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 5600,
+ "internalStopId": "3351",
+ "name": "Avda. da Gran Vía 107",
+ "latitude": 42.225140059,
+ "longitude": -8.72184818,
+ "lines": [
+ "C3i",
+ "7",
+ "11",
+ "13",
+ "15A",
+ "16",
+ "23",
+ "29",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 5690,
+ "internalStopId": "3360",
+ "name": "Avda. da Gran Vía 85",
+ "latitude": 42.226868266,
+ "longitude": -8.720637433,
+ "lines": [
+ "C3i",
+ "7",
+ "11",
+ "13",
+ "15A",
+ "16",
+ "23",
+ "29",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 6550,
+ "internalStopId": "3451",
+ "name": "Rúa de Pizarro 10",
+ "latitude": 42.229886416,
+ "longitude": -8.717463365,
+ "lines": [
+ "C3i",
+ "6",
+ "11",
+ "15A",
+ "23",
+ "25",
+ "28",
+ "29"
+ ]
+ },
+ {
+ "stopId": 20177,
+ "internalStopId": "5473",
+ "name": "Rúa de Pizarro 16",
+ "latitude": 42.230767817,
+ "longitude": -8.715105964,
+ "lines": [
+ "C3i",
+ "6",
+ "11",
+ "15A",
+ "23",
+ "25",
+ "28"
+ ]
+ },
+ {
+ "stopId": 6560,
+ "internalStopId": "3452",
+ "name": "Rúa de Pizarro 34",
+ "latitude": 42.23113801,
+ "longitude": -8.711696824,
+ "lines": [
+ "C3i",
+ "6",
+ "11",
+ "15A",
+ "23",
+ "25",
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 8580,
+ "internalStopId": "3670",
+ "name": "Rúa da Travesía de Vigo 32",
+ "latitude": 42.233828086,
+ "longitude": -8.706311242,
+ "lines": [
+ "C3i",
+ "5A",
+ "31",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 8620,
+ "internalStopId": "3674",
+ "name": "Rúa da Travesía de Vigo 82",
+ "latitude": 42.236261792,
+ "longitude": -8.703994979,
+ "lines": [
+ "C3i",
+ "5A",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 8510,
+ "internalStopId": "3663",
+ "name": "Rúa da Travesía de Vigo 124",
+ "latitude": 42.238413145,
+ "longitude": -8.703563202,
+ "lines": [
+ "C3i",
+ "5A",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 8530,
+ "internalStopId": "3665",
+ "name": "Rúa da Travesía de Vigo 158",
+ "latitude": 42.241101222,
+ "longitude": -8.701974032,
+ "lines": [
+ "C3i",
+ "5A",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 14126,
+ "internalStopId": "3749",
+ "name": "Rúa da Travesía de Vigo 194",
+ "latitude": 42.242494425,
+ "longitude": -8.699249038,
+ "lines": [
+ "C3i",
+ "5A",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 8490,
+ "internalStopId": "3661",
+ "name": "Rúa da Travesía de Vigo 202",
+ "latitude": 42.244366441,
+ "longitude": -8.695452075,
+ "lines": [
+ "C3i",
+ "5A",
+ "N1",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 8550,
+ "internalStopId": "3667",
+ "name": "Rúa da Travesía de Vigo 220",
+ "latitude": 42.246425568,
+ "longitude": -8.692950624,
+ "lines": [
+ "C3i",
+ "5A",
+ "5B",
+ "N1",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 230,
+ "internalStopId": "2804",
+ "name": "Rúa de Ángel de Lema 14",
+ "latitude": 42.248041601,
+ "longitude": -8.691024475,
+ "lines": [
+ "C3i",
+ "10"
+ ]
+ },
+ {
+ "stopId": 20053,
+ "internalStopId": "4125",
+ "name": "Rúa de Ángel de Lema (cruce Paraixal)",
+ "latitude": 42.248962858,
+ "longitude": -8.688272303,
+ "lines": [
+ "C3i",
+ "10"
+ ]
+ },
+ {
+ "stopId": 190,
+ "internalStopId": "2799",
+ "name": "Rúa de Ángel de Lema 58",
+ "latitude": 42.250539537,
+ "longitude": -8.685179363,
+ "lines": [
+ "C3i",
+ "10"
+ ]
+ },
+ {
+ "stopId": 200,
+ "internalStopId": "2801",
+ "name": "Rúa de Ángel de Lema 100",
+ "latitude": 42.252115803,
+ "longitude": -8.683374373,
+ "lines": [
+ "C3i",
+ "10"
+ ]
+ },
+ {
+ "stopId": 210,
+ "internalStopId": "2802",
+ "name": "Rúa de Ángel de Lema 140",
+ "latitude": 42.255798748,
+ "longitude": -8.678507526,
+ "lines": [
+ "C3i",
+ "10"
+ ]
+ },
+ {
+ "stopId": 2070,
+ "internalStopId": "2990",
+ "name": "Avda. de Redondela 109",
+ "latitude": 42.259481393,
+ "longitude": -8.67292487,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 2100,
+ "internalStopId": "2993",
+ "name": "Avda. de Redondela 47",
+ "latitude": 42.263186001,
+ "longitude": -8.668939094,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 2080,
+ "internalStopId": "2991",
+ "name": "Avda. de Redondela 19",
+ "latitude": 42.266569717,
+ "longitude": -8.667160768,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 5030,
+ "internalStopId": "3293",
+ "name": "Avda. de Redondela (fronte 28)",
+ "latitude": 42.272502528,
+ "longitude": -8.664787252,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 1710,
+ "internalStopId": "2954",
+ "name": "Avda. de Vigo 6",
+ "latitude": 42.274450823,
+ "longitude": -8.667138233,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 1840,
+ "internalStopId": "2967",
+ "name": "Avda. de Vigo 72",
+ "latitude": 42.27159436,
+ "longitude": -8.666389735,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 1740,
+ "internalStopId": "2957",
+ "name": "Avda. de Vigo 120",
+ "latitude": 42.27068743,
+ "longitude": -8.668057842,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 1770,
+ "internalStopId": "2960",
+ "name": "Avda. de Vigo (Alameda de Rosalía de Castro)",
+ "latitude": 42.26785896,
+ "longitude": -8.671440263,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 1780,
+ "internalStopId": "2961",
+ "name": "Avda. de Vigo 230",
+ "latitude": 42.266245291,
+ "longitude": -8.672965754,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 1800,
+ "internalStopId": "2963",
+ "name": "Avda. de Vigo 266",
+ "latitude": 42.263995234,
+ "longitude": -8.674224503,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 1810,
+ "internalStopId": "2964",
+ "name": "Avda. de Vigo 320",
+ "latitude": 42.262068498,
+ "longitude": -8.676736193,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 20132,
+ "internalStopId": "5001",
+ "name": "Avda. de Galicia 341",
+ "latitude": 42.260473187,
+ "longitude": -8.67881466,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 1670,
+ "internalStopId": "2950",
+ "name": "Avda. de Galicia 285",
+ "latitude": 42.258365967,
+ "longitude": -8.680508997,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 1590,
+ "internalStopId": "2942",
+ "name": "Avda. de Galicia (Parque Riouxa)",
+ "latitude": 42.256667905,
+ "longitude": -8.682575386,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 1630,
+ "internalStopId": "2946",
+ "name": "Avda. de Galicia 165",
+ "latitude": 42.255177674,
+ "longitude": -8.684734482,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 1620,
+ "internalStopId": "2945",
+ "name": "Avda. de Galicia 139",
+ "latitude": 42.253987165,
+ "longitude": -8.686196616,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 1600,
+ "internalStopId": "2943",
+ "name": "Avda. de Galicia 103",
+ "latitude": 42.251389209,
+ "longitude": -8.689369833,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 1690,
+ "internalStopId": "2952",
+ "name": "Avda. de Galicia 71",
+ "latitude": 42.251420909,
+ "longitude": -8.692153216,
+ "lines": [
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 14133,
+ "internalStopId": "3756",
+ "name": "Avda. de Galicia 37",
+ "latitude": 42.250977575,
+ "longitude": -8.694471881,
+ "lines": [
+ "C3i",
+ "17"
+ ]
+ },
+ {
+ "stopId": 8040,
+ "internalStopId": "3614",
+ "name": "Rúa de Sanjurjo Badía 167",
+ "latitude": 42.24874024,
+ "longitude": -8.697546209,
+ "lines": [
+ "C3i",
+ "5B",
+ "10",
+ "N1",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 8020,
+ "internalStopId": "3612",
+ "name": "Rúa de Sanjurjo Badía 123",
+ "latitude": 42.246941664,
+ "longitude": -8.700376378,
+ "lines": [
+ "C3i",
+ "5B",
+ "10",
+ "N1",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 8070,
+ "internalStopId": "3617",
+ "name": "Rúa de Sanjurjo Badía 101",
+ "latitude": 42.245916719,
+ "longitude": -8.702042314,
+ "lines": [
+ "C3i",
+ "5B",
+ "10",
+ "N1",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 8060,
+ "internalStopId": "3616",
+ "name": "Rúa de Sanjurjo Badía 79",
+ "latitude": 42.244926864,
+ "longitude": -8.703642393,
+ "lines": [
+ "C3i",
+ "5B",
+ "10",
+ "N1",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 5490,
+ "internalStopId": "3339",
+ "name": "Avda. de García Barbón (fronte 120)",
+ "latitude": 42.241557555,
+ "longitude": -8.707094861,
+ "lines": [
+ "C3i",
+ "5B",
+ "10",
+ "17",
+ "N1",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 14397,
+ "internalStopId": "4016",
+ "name": "Avda. de García Barbón (fronte 104)",
+ "latitude": 42.23973713,
+ "longitude": -8.708397682,
+ "lines": [
+ "C3i",
+ "5B",
+ "10",
+ "17",
+ "N1",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 5510,
+ "internalStopId": "3341",
+ "name": "Avda. de García Barbón 127",
+ "latitude": 42.238290358,
+ "longitude": -8.71014103,
+ "lines": [
+ "C3i",
+ "5B",
+ "10",
+ "17",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 5570,
+ "internalStopId": "3348",
+ "name": "Avda. de García Barbón 87",
+ "latitude": 42.237003397,
+ "longitude": -8.713586994,
+ "lines": [
+ "C3i",
+ "5B",
+ "10",
+ "17",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 14245,
+ "internalStopId": "3866",
+ "name": "Avda. de García Barbón 43",
+ "latitude": 42.23691728,
+ "longitude": -8.716743143,
+ "lines": [
+ "C3i",
+ "5B",
+ "10",
+ "16",
+ "17",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 20193,
+ "internalStopId": "5508",
+ "name": "Rúa de Policarpo Sanz 25",
+ "latitude": 42.237667201,
+ "longitude": -8.72126716,
+ "lines": [
+ "C3i",
+ "A",
+ "5A",
+ "5B",
+ "10",
+ "11",
+ "15B",
+ "15C",
+ "N1",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 6860,
+ "internalStopId": "3486",
+ "name": "Praza de Compostela",
+ "latitude": 42.239118346,
+ "longitude": -8.722531274,
+ "lines": [
+ "C3i",
+ "A",
+ "5A",
+ "5B",
+ "6",
+ "9B",
+ "10",
+ "11",
+ "15B",
+ "15C",
+ "24",
+ "28",
+ "N1",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 20195,
+ "internalStopId": "5510",
+ "name": "Praza de Compostela (fronte 35)",
+ "latitude": 42.2393606,
+ "longitude": -8.724131464,
+ "lines": [
+ "C3i",
+ "A",
+ "5A",
+ "5B",
+ "6",
+ "9B",
+ "10",
+ "11",
+ "15B",
+ "15C",
+ "28",
+ "N1",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 6300,
+ "internalStopId": "3424",
+ "name": "Rúa de Cánovas del Castillo (Centro Comercial)",
+ "latitude": 42.240129541,
+ "longitude": -8.727159759,
+ "lines": [
+ "C3i",
+ "A",
+ "5A",
+ "5B",
+ "6",
+ "9B",
+ "10",
+ "11",
+ "15B",
+ "15C",
+ "28",
+ "N1",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 14223,
+ "internalStopId": "3844",
+ "name": "Rúa do Gaiteiro de Ricardo Portela (Pabellón)",
+ "latitude": 42.235226233,
+ "longitude": -8.731471904,
+ "lines": [
+ "C3i",
+ "A",
+ "5A",
+ "5B",
+ "10",
+ "11",
+ "15C",
+ "N1",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 14224,
+ "internalStopId": "3845",
+ "name": "Rúa do Conde de Torrecedeira 16",
+ "latitude": 42.234285927,
+ "longitude": -8.731266507,
+ "lines": [
+ "C3i",
+ "A",
+ "5A",
+ "5B",
+ "10",
+ "11",
+ "15C",
+ "N1",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 14225,
+ "internalStopId": "3846",
+ "name": "Rúa do Conde de Torrecedeira 50",
+ "latitude": 42.231716574,
+ "longitude": -8.732308737,
+ "lines": [
+ "C3i",
+ "A",
+ "5A",
+ "5B",
+ "10",
+ "11",
+ "15C",
+ "N1",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 14226,
+ "internalStopId": "3847",
+ "name": "Rúa do Conde de Torrecedeira 70",
+ "latitude": 42.229574859,
+ "longitude": -8.733073973,
+ "lines": [
+ "C3i",
+ "A",
+ "5A",
+ "5B",
+ "10",
+ "11",
+ "15C",
+ "N1",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 14227,
+ "internalStopId": "3848",
+ "name": "Rúa do Conde de Torrecedeira 86",
+ "latitude": 42.22696657,
+ "longitude": -8.734559706,
+ "lines": [
+ "C3i",
+ "A",
+ "5A",
+ "5B",
+ "10",
+ "11",
+ "15C",
+ "N1",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 6980,
+ "internalStopId": "3499",
+ "name": "Praza Eugenio Fadrique 6",
+ "latitude": 42.224471236,
+ "longitude": -8.73619635,
+ "lines": [
+ "C3i",
+ "15B",
+ "15C",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 8330,
+ "internalStopId": "3645",
+ "name": "Rúa de Tomás A. Alonso 86",
+ "latitude": 42.223897608,
+ "longitude": -8.740424721,
+ "lines": [
+ "C3i",
+ "15B",
+ "15C",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 14164,
+ "internalStopId": "3785",
+ "name": "Rúa de Tomás A. Alonso 136",
+ "latitude": 42.225172437,
+ "longitude": -8.744777354,
+ "lines": [
+ "C3i",
+ "15B",
+ "15C",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 20100,
+ "internalStopId": "4807",
+ "name": "Rúa de Camilo Veiga 6",
+ "latitude": 42.223195763,
+ "longitude": -8.749650702,
+ "lines": [
+ "C3i",
+ "15B",
+ "15C",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 20099,
+ "internalStopId": "4806",
+ "name": "Rúa de Camilo Veiga 48",
+ "latitude": 42.222390674,
+ "longitude": -8.752507356,
+ "lines": [
+ "C3i",
+ "15B",
+ "15C",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 8420,
+ "internalStopId": "3654",
+ "name": "Rúa de Tomás Paredes 114",
+ "latitude": 42.218031265,
+ "longitude": -8.754258995,
+ "lines": [
+ "C3i",
+ "10"
+ ]
+ },
+ {
+ "stopId": 20144,
+ "internalStopId": "5413",
+ "name": "Samil por Coia",
+ "latitude": 42.215903856,
+ "longitude": -8.774724852,
+ "lines": [
+ "C3d",
+ "C3i"
+ ]
+ },
+ {
+ "stopId": 6790,
+ "internalStopId": "3478",
+ "name": "Avda. de Samil (fronte Hotel)",
+ "latitude": 42.214772655,
+ "longitude": -8.774772363,
+ "lines": [
+ "C3d",
+ "10"
+ ]
+ },
+ {
+ "stopId": 1320,
+ "internalStopId": "2915",
+ "name": "Avda. de Castelao 87",
+ "latitude": 42.217302224,
+ "longitude": -8.751104752,
+ "lines": [
+ "C3i",
+ "10",
+ "12A",
+ "N1",
+ "U1"
+ ]
+ },
+ {
+ "stopId": 1310,
+ "internalStopId": "2914",
+ "name": "Avda. de Castelao 73",
+ "latitude": 42.217705528,
+ "longitude": -8.747753325,
+ "lines": [
+ "C3i",
+ "4A",
+ "4C",
+ "10",
+ "11",
+ "12A",
+ "15A",
+ "N1",
+ "N4",
+ "U1"
+ ]
+ },
+ {
+ "stopId": 20075,
+ "internalStopId": "4147",
+ "name": "Avda. de Castelao 65",
+ "latitude": 42.218011215,
+ "longitude": -8.745369728,
+ "lines": [
+ "C3i",
+ "4A",
+ "4C",
+ "10",
+ "11",
+ "12A",
+ "15A",
+ "N1",
+ "N4",
+ "U1"
+ ]
+ },
+ {
+ "stopId": 1280,
+ "internalStopId": "2911",
+ "name": "Avda. de Castelao 41",
+ "latitude": 42.218523315,
+ "longitude": -8.74223465,
+ "lines": [
+ "C3i",
+ "4A",
+ "4C",
+ "10",
+ "11",
+ "12A",
+ "15A",
+ "N1",
+ "U1"
+ ]
+ },
+ {
+ "stopId": 20076,
+ "internalStopId": "4148",
+ "name": "Avda. de Castelao 25",
+ "latitude": 42.21901679,
+ "longitude": -8.739919147,
+ "lines": [
+ "C3i",
+ "4A",
+ "4C",
+ "10",
+ "11",
+ "12A",
+ "15A",
+ "N1",
+ "U1"
+ ]
+ },
+ {
+ "stopId": 2780,
+ "internalStopId": "3063",
+ "name": "Avda. das Camelias 135",
+ "latitude": 42.222387178,
+ "longitude": -8.731207698,
+ "lines": [
+ "4A",
+ "4C",
+ "5A",
+ "5B",
+ "11",
+ "12A",
+ "12B",
+ "16",
+ "17",
+ "27",
+ "N1",
+ "LZH"
+ ]
+ },
+ {
+ "stopId": 14331,
+ "internalStopId": "3951",
+ "name": "Rúa de Álvaro Cunqueiro 30",
+ "latitude": 42.223769828,
+ "longitude": -8.728938728,
+ "lines": [
+ "4A",
+ "4C",
+ "5A",
+ "5B",
+ "11",
+ "12A",
+ "12B",
+ "17",
+ "27",
+ "N1",
+ "LZH"
+ ]
+ },
+ {
+ "stopId": 14168,
+ "internalStopId": "3789",
+ "name": "Avda. das Camelias 113",
+ "latitude": 42.224928285,
+ "longitude": -8.729631509,
+ "lines": [
+ "4A",
+ "4C",
+ "11",
+ "12B",
+ "17",
+ "27",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 2820,
+ "internalStopId": "3067",
+ "name": "Avda. das Camelias (Praza 8 de Marzo)",
+ "latitude": 42.227403959,
+ "longitude": -8.729948584,
+ "lines": [
+ "4A",
+ "4C",
+ "11",
+ "12B",
+ "17",
+ "27",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 2790,
+ "internalStopId": "3064",
+ "name": "Avda. das Camelias 37",
+ "latitude": 42.230566426,
+ "longitude": -8.730086804,
+ "lines": [
+ "4A",
+ "4C",
+ "11",
+ "12B",
+ "17",
+ "27",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 20078,
+ "internalStopId": "4150",
+ "name": "Avda. das Camelias 3",
+ "latitude": 42.233341329,
+ "longitude": -8.728967219,
+ "lines": [
+ "4A",
+ "4C",
+ "11",
+ "12B",
+ "17",
+ "27",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 20190,
+ "internalStopId": "5499",
+ "name": "Avda. das Camelias (fronte Praza do Rei)",
+ "latitude": 42.234906013,
+ "longitude": -8.72662052,
+ "lines": [
+ "4A",
+ "4C",
+ "11",
+ "12B",
+ "17",
+ "27",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 8870,
+ "internalStopId": "3700",
+ "name": "Rúa de Venezuela 4",
+ "latitude": 42.234250043,
+ "longitude": -8.724361531,
+ "lines": [
+ "4A",
+ "4C",
+ "5B",
+ "11",
+ "12A",
+ "12B",
+ "17",
+ "27",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 8880,
+ "internalStopId": "3701",
+ "name": "Rúa de Venezuela 20",
+ "latitude": 42.233188126,
+ "longitude": -8.72155331,
+ "lines": [
+ "4A",
+ "4C",
+ "5B",
+ "11",
+ "12A",
+ "12B",
+ "17",
+ "27",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 8910,
+ "internalStopId": "3704",
+ "name": "Rúa de Venezuela 42",
+ "latitude": 42.232224046,
+ "longitude": -8.718985824,
+ "lines": [
+ "4A",
+ "4C",
+ "5B",
+ "11",
+ "12A",
+ "12B",
+ "17",
+ "27",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 5660,
+ "internalStopId": "3357",
+ "name": "Avda. da Gran Vía 19",
+ "latitude": 42.232957918,
+ "longitude": -8.717215735,
+ "lines": [
+ "5B",
+ "7",
+ "11",
+ "12B",
+ "14",
+ "16",
+ "17",
+ "18A",
+ "18B",
+ "18H",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 1230,
+ "internalStopId": "2906",
+ "name": "Avda. de Buenos Aires 49",
+ "latitude": 42.247251925,
+ "longitude": -8.693122662,
+ "lines": [
+ "5B",
+ "10",
+ "N1",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 14127,
+ "internalStopId": "3750",
+ "name": "Avda. de Buenos Aires 13",
+ "latitude": 42.249306896,
+ "longitude": -8.695179916,
+ "lines": [
+ "5B",
+ "10",
+ "N1",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 1040,
+ "internalStopId": "2887",
+ "name": "Avda. da Atlántida 32",
+ "latitude": 42.223237503,
+ "longitude": -8.755707801,
+ "lines": [
+ "10",
+ "15B",
+ "15C",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 14267,
+ "internalStopId": "3888",
+ "name": "Avda. da Atlántida 64",
+ "latitude": 42.221892792,
+ "longitude": -8.758191526,
+ "lines": [
+ "10",
+ "15B",
+ "15C",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 1060,
+ "internalStopId": "2889",
+ "name": "Avda. da Atlántida 84",
+ "latitude": 42.221789505,
+ "longitude": -8.759905458,
+ "lines": [
+ "10",
+ "15B",
+ "15C",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 1070,
+ "internalStopId": "2890",
+ "name": "Avda. da Atlántida 114",
+ "latitude": 42.221148357,
+ "longitude": -8.764660969,
+ "lines": [
+ "10",
+ "15B",
+ "15C",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 1010,
+ "internalStopId": "2884",
+ "name": "Avda. da Atlántida 136",
+ "latitude": 42.221479642,
+ "longitude": -8.767482698,
+ "lines": [
+ "10",
+ "15B",
+ "15C",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 1020,
+ "internalStopId": "2885",
+ "name": "Avda. da Atlántida 150",
+ "latitude": 42.222764778,
+ "longitude": -8.769405842,
+ "lines": [
+ "10",
+ "15B",
+ "15C",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 6750,
+ "internalStopId": "3474",
+ "name": "Avda. de Samil (Praia da Fonte)",
+ "latitude": 42.221783554,
+ "longitude": -8.773517669,
+ "lines": [
+ "10",
+ "15B",
+ "15C",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 14170,
+ "internalStopId": "3791",
+ "name": "Avda. de Samil (Praia da Punta)",
+ "latitude": 42.218831744,
+ "longitude": -8.77571001,
+ "lines": [
+ "10",
+ "15B",
+ "15C",
+ "N1"
+ ]
+ },
+ {
+ "stopId": 6880,
+ "internalStopId": "3488",
+ "name": "Praza do Cristo da Vitoria",
+ "latitude": 42.215576278,
+ "longitude": -8.748885599,
+ "lines": [
+ "4A",
+ "4C",
+ "11",
+ "15A",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 2930,
+ "internalStopId": "3079",
+ "name": "Rúa de Cantabria 58",
+ "latitude": 42.235377808,
+ "longitude": -8.695695331,
+ "lines": [
+ "4A",
+ "24"
+ ]
+ },
+ {
+ "stopId": 2870,
+ "internalStopId": "3073",
+ "name": "Rúa de Cantabria (Compañía Suministradora de Auga)",
+ "latitude": 42.237397409,
+ "longitude": -8.694169154,
+ "lines": [
+ "4A",
+ "24"
+ ]
+ },
+ {
+ "stopId": 2880,
+ "internalStopId": "3074",
+ "name": "Rúa de Cantabria 148",
+ "latitude": 42.239331582,
+ "longitude": -8.692983618,
+ "lines": [
+ "4A",
+ "24"
+ ]
+ },
+ {
+ "stopId": 2910,
+ "internalStopId": "3077",
+ "name": "Rúa de Cantabria 212",
+ "latitude": 42.241655974,
+ "longitude": -8.692827561,
+ "lines": [
+ "4A",
+ "24"
+ ]
+ },
+ {
+ "stopId": 6740,
+ "internalStopId": "3473",
+ "name": "Rúa da Vista do Mar 95",
+ "latitude": 42.242957479,
+ "longitude": -8.691167762,
+ "lines": [
+ "4A",
+ "24"
+ ]
+ },
+ {
+ "stopId": 14385,
+ "internalStopId": "4004",
+ "name": "Rúa da Vista do Mar 45",
+ "latitude": 42.240712912,
+ "longitude": -8.6919418,
+ "lines": [
+ "4A",
+ "24"
+ ]
+ },
+ {
+ "stopId": 14386,
+ "internalStopId": "4005",
+ "name": "Rúa da Vista do Mar (Embalse)",
+ "latitude": 42.238020208,
+ "longitude": -8.691543884,
+ "lines": [
+ "4A",
+ "24"
+ ]
+ },
+ {
+ "stopId": 14387,
+ "internalStopId": "4006",
+ "name": "Rúa da Vista do Mar 1",
+ "latitude": 42.237167043,
+ "longitude": -8.693243792,
+ "lines": [
+ "4A",
+ "24"
+ ]
+ },
+ {
+ "stopId": 2920,
+ "internalStopId": "3078",
+ "name": "Rúa de Cantabria 45",
+ "latitude": 42.235852081,
+ "longitude": -8.695592417,
+ "lines": [
+ "4A",
+ "24"
+ ]
+ },
+ {
+ "stopId": 390,
+ "internalStopId": "2820",
+ "name": "Rúa de Aragón 26",
+ "latitude": 42.233174046,
+ "longitude": -8.702380309,
+ "lines": [
+ "4A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 410,
+ "internalStopId": "2822",
+ "name": "Rúa de Aragón 82",
+ "latitude": 42.235524387,
+ "longitude": -8.701248417,
+ "lines": [
+ "4A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 340,
+ "internalStopId": "2815",
+ "name": "Rúa de Aragón 116",
+ "latitude": 42.238036494,
+ "longitude": -8.700921187,
+ "lines": [
+ "4A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 350,
+ "internalStopId": "2816",
+ "name": "Rúa de Aragón 162",
+ "latitude": 42.240488915,
+ "longitude": -8.700357923,
+ "lines": [
+ "4A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 370,
+ "internalStopId": "2818",
+ "name": "Rúa de Aragón 212",
+ "latitude": 42.242101304,
+ "longitude": -8.698394546,
+ "lines": [
+ "4A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 380,
+ "internalStopId": "2819",
+ "name": "Rúa de Aragón 221",
+ "latitude": 42.242091376,
+ "longitude": -8.698668131,
+ "lines": [
+ "4A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 360,
+ "internalStopId": "2817",
+ "name": "Rúa de Aragón 193",
+ "latitude": 42.24013184,
+ "longitude": -8.700947033,
+ "lines": [
+ "4A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 420,
+ "internalStopId": "2823",
+ "name": "Rúa de Aragón 147",
+ "latitude": 42.238092485,
+ "longitude": -8.701156245,
+ "lines": [
+ "4A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 400,
+ "internalStopId": "2821",
+ "name": "Rúa de Aragón 91",
+ "latitude": 42.235598195,
+ "longitude": -8.701426538,
+ "lines": [
+ "4A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 20052,
+ "internalStopId": "4124",
+ "name": "Rúa de Aragón 21",
+ "latitude": 42.232748414,
+ "longitude": -8.702539655,
+ "lines": [
+ "4A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 20192,
+ "internalStopId": "5507",
+ "name": "Rúa de Colón 26",
+ "latitude": 42.237168511,
+ "longitude": -8.720373767,
+ "lines": [
+ "4A",
+ "4C",
+ "5B",
+ "7",
+ "12B",
+ "16",
+ "17",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 8900,
+ "internalStopId": "3703",
+ "name": "Rúa de Venezuela 45",
+ "latitude": 42.232243383,
+ "longitude": -8.718524158,
+ "lines": [
+ "4A",
+ "4C",
+ "5B",
+ "7",
+ "12B",
+ "16",
+ "17",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 8890,
+ "internalStopId": "3702",
+ "name": "Rúa de Venezuela 21",
+ "latitude": 42.233283503,
+ "longitude": -8.721378959,
+ "lines": [
+ "4A",
+ "4C",
+ "5B",
+ "7",
+ "12B",
+ "16",
+ "17",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 6960,
+ "internalStopId": "3497",
+ "name": "Avd. de Camelias s/n ( Praza do Rei)",
+ "latitude": 42.235056275,
+ "longitude": -8.726757514,
+ "lines": [
+ "4A",
+ "4C",
+ "7",
+ "12B",
+ "16",
+ "17",
+ "27",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 20079,
+ "internalStopId": "4151",
+ "name": "Avda. das Camelias 8",
+ "latitude": 42.23341294,
+ "longitude": -8.729045156,
+ "lines": [
+ "4A",
+ "4C",
+ "7",
+ "12B",
+ "17",
+ "27",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 2800,
+ "internalStopId": "3065",
+ "name": "Avda. das Camelias 46",
+ "latitude": 42.230291959,
+ "longitude": -8.730279255,
+ "lines": [
+ "4A",
+ "4C",
+ "7",
+ "12B",
+ "17",
+ "27",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 2810,
+ "internalStopId": "3066",
+ "name": "Avda. das Camelias 80",
+ "latitude": 42.227601839,
+ "longitude": -8.730236339,
+ "lines": [
+ "4A",
+ "4C",
+ "7",
+ "12B",
+ "17",
+ "27",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 14166,
+ "internalStopId": "3787",
+ "name": "Avda. das Camelias 114",
+ "latitude": 42.225142981,
+ "longitude": -8.729707944,
+ "lines": [
+ "4A",
+ "4C",
+ "7",
+ "12B",
+ "17",
+ "27",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 6210,
+ "internalStopId": "3415",
+ "name": "Avda. de E. Martínez Garrido 16",
+ "latitude": 42.229259529,
+ "longitude": -8.699964485,
+ "lines": [
+ "4C",
+ "6",
+ "23",
+ "25",
+ "31",
+ "N4",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 14140,
+ "internalStopId": "3763",
+ "name": "Avda. de E. Martínez Garrido 30",
+ "latitude": 42.228210877,
+ "longitude": -8.699999354,
+ "lines": [
+ "4C",
+ "6",
+ "23",
+ "25",
+ "31",
+ "N4",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 6250,
+ "internalStopId": "3419",
+ "name": "Avda. de E. Martínez Garrido 80",
+ "latitude": 42.22667463,
+ "longitude": -8.702581423,
+ "lines": [
+ "4C",
+ "23",
+ "31",
+ "N4",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 20136,
+ "internalStopId": "5372",
+ "name": "Avda. de E. Martínez Garrido 98",
+ "latitude": 42.225764699,
+ "longitude": -8.704499864,
+ "lines": [
+ "4C",
+ "23",
+ "31",
+ "N4",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 14180,
+ "internalStopId": "3801",
+ "name": "Avda. de E. Martínez Garrido 108",
+ "latitude": 42.224749197,
+ "longitude": -8.707320585,
+ "lines": [
+ "4C",
+ "23",
+ "31",
+ "N4",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 5750,
+ "internalStopId": "3366",
+ "name": "Avda. do Alcalde Gregorio Espino 83",
+ "latitude": 42.225349625,
+ "longitude": -8.708918574,
+ "lines": [
+ "4C",
+ "23",
+ "31",
+ "N4",
+ "H2",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 5740,
+ "internalStopId": "3365",
+ "name": "Avda. do Alcalde Gregorio Espino 57",
+ "latitude": 42.227831786,
+ "longitude": -8.707855407,
+ "lines": [
+ "4C",
+ "23",
+ "31",
+ "N4",
+ "H2",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 5720,
+ "internalStopId": "3363",
+ "name": "Avda. do Alcalde Gregorio Espino 33",
+ "latitude": 42.230134504,
+ "longitude": -8.706992656,
+ "lines": [
+ "4C",
+ "23",
+ "31",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 14122,
+ "internalStopId": "3745",
+ "name": "Avda. do Alcalde Gregorio Espino 9",
+ "latitude": 42.231584097,
+ "longitude": -8.706968521,
+ "lines": [
+ "4C",
+ "23",
+ "31",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 20026,
+ "internalStopId": "4098",
+ "name": "Rúa das Teixugueiras 29",
+ "latitude": 42.206488366,
+ "longitude": -8.759906624,
+ "lines": [
+ "5B",
+ "13",
+ "N4",
+ "U1",
+ "H",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 14890,
+ "internalStopId": "4047",
+ "name": "Rúa das Teixugueiras 25",
+ "latitude": 42.207545331,
+ "longitude": -8.758718406,
+ "lines": [
+ "5B",
+ "13",
+ "N4",
+ "U1",
+ "H",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 14360,
+ "internalStopId": "3980",
+ "name": "Rúa das Teixugueiras 19-Portal 5",
+ "latitude": 42.208965857,
+ "longitude": -8.757020567,
+ "lines": [
+ "5A",
+ "5B",
+ "13",
+ "N4",
+ "U1",
+ "H",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 14361,
+ "internalStopId": "3981",
+ "name": "Rúa das Teixugueiras 17",
+ "latitude": 42.209770472,
+ "longitude": -8.755295907,
+ "lines": [
+ "5A",
+ "5B",
+ "13",
+ "15A",
+ "N4",
+ "U1",
+ "H",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 14388,
+ "internalStopId": "4007",
+ "name": "Rúa das Teixugueiras 11",
+ "latitude": 42.211610124,
+ "longitude": -8.754550253,
+ "lines": [
+ "5A",
+ "5B",
+ "13",
+ "15A",
+ "N4",
+ "U1",
+ "H",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 14337,
+ "internalStopId": "3957",
+ "name": "Rúa do Limpiño (Rotonda Rúa Teixugueiras)",
+ "latitude": 42.213080218,
+ "longitude": -8.754660224,
+ "lines": [
+ "5A",
+ "5B",
+ "13",
+ "15A",
+ "15B",
+ "N4",
+ "U1",
+ "H",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 20170,
+ "internalStopId": "5446",
+ "name": "Rúa de Álvaro Cunqueiro 4",
+ "latitude": 42.224544805,
+ "longitude": -8.730413561,
+ "lines": [
+ "5A",
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 14899,
+ "internalStopId": "4056",
+ "name": "Rúa de López Mora 33",
+ "latitude": 42.225485719,
+ "longitude": -8.730501434,
+ "lines": [
+ "5A",
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 5880,
+ "internalStopId": "3379",
+ "name": "Rúa de López Mora 19",
+ "latitude": 42.226800566,
+ "longitude": -8.731799623,
+ "lines": [
+ "5A",
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 6480,
+ "internalStopId": "3444",
+ "name": "Rúa de Pi i Margall 137",
+ "latitude": 42.229149188,
+ "longitude": -8.731886908,
+ "lines": [
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 14295,
+ "internalStopId": "3916",
+ "name": "Rúa de Pi i Margall 121",
+ "latitude": 42.230436358,
+ "longitude": -8.731437473,
+ "lines": [
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 6520,
+ "internalStopId": "3448",
+ "name": "Rúa de Pi i Margall 95",
+ "latitude": 42.232285981,
+ "longitude": -8.730816324,
+ "lines": [
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 6500,
+ "internalStopId": "3446",
+ "name": "Rúa de Pi i Margall 51",
+ "latitude": 42.233690068,
+ "longitude": -8.730100174,
+ "lines": [
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 20197,
+ "internalStopId": "5512",
+ "name": "Rúa de Pi i Margall 3-5",
+ "latitude": 42.23558703,
+ "longitude": -8.728830897,
+ "lines": [
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 2735,
+ "internalStopId": "3057",
+ "name": "Rúa da Cachamuíña (Concello)",
+ "latitude": 42.235033314,
+ "longitude": -8.727202198,
+ "lines": [
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 1240,
+ "internalStopId": "2907",
+ "name": "Avda. de Buenos Aires 8",
+ "latitude": 42.249128205,
+ "longitude": -8.69514773,
+ "lines": [
+ "5A",
+ "10",
+ "31",
+ "U2",
+ "H2",
+ "H3",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 1220,
+ "internalStopId": "2905",
+ "name": "Avda. de Buenos Aires 46",
+ "latitude": 42.247097055,
+ "longitude": -8.693109251,
+ "lines": [
+ "5A",
+ "10",
+ "31",
+ "U2",
+ "H2",
+ "H3",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 3230,
+ "internalStopId": "3110",
+ "name": "Rúa de Colón 27",
+ "latitude": 42.236471452,
+ "longitude": -8.720164905,
+ "lines": [
+ "A",
+ "5A",
+ "9B",
+ "11",
+ "15B",
+ "15C",
+ "16",
+ "17"
+ ]
+ },
+ {
+ "stopId": 20215,
+ "internalStopId": "5540",
+ "name": "Rúa da Coruña 21",
+ "latitude": 42.223880296,
+ "longitude": -8.735520196,
+ "lines": [
+ "A",
+ "5A",
+ "5B",
+ "10",
+ "11",
+ "13",
+ "N4",
+ "U1",
+ "H1",
+ "H"
+ ]
+ },
+ {
+ "stopId": 3240,
+ "internalStopId": "3111",
+ "name": "Rúa da Coruña 5",
+ "latitude": 42.22214729,
+ "longitude": -8.734167916,
+ "lines": [
+ "A",
+ "5A",
+ "5B",
+ "10",
+ "11",
+ "13",
+ "N4",
+ "U1",
+ "H1",
+ "H"
+ ]
+ },
+ {
+ "stopId": 5380,
+ "internalStopId": "3328",
+ "name": "Avda. da Florida 8",
+ "latitude": 42.219743053,
+ "longitude": -8.734322187,
+ "lines": [
+ "5A",
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 14300,
+ "internalStopId": "3921",
+ "name": "Avda. da Florida 30",
+ "latitude": 42.217907548,
+ "longitude": -8.73707436,
+ "lines": [
+ "5A",
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 5350,
+ "internalStopId": "3325",
+ "name": "Avda. da Florida 40",
+ "latitude": 42.216779248,
+ "longitude": -8.738705143,
+ "lines": [
+ "5A",
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 5290,
+ "internalStopId": "3319",
+ "name": "Avda. da Florida 60",
+ "latitude": 42.215060936,
+ "longitude": -8.741309568,
+ "lines": [
+ "5A",
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 5360,
+ "internalStopId": "3326",
+ "name": "Avda. da Florida 70",
+ "latitude": 42.212804215,
+ "longitude": -8.744506761,
+ "lines": [
+ "5A",
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 14162,
+ "internalStopId": "3783",
+ "name": "Avda. da Florida 82",
+ "latitude": 42.211371871,
+ "longitude": -8.746523782,
+ "lines": [
+ "5A",
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 5310,
+ "internalStopId": "3321",
+ "name": "Avda. da Florida 140",
+ "latitude": 42.208024308,
+ "longitude": -8.750412985,
+ "lines": [
+ "5A",
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 14128,
+ "internalStopId": "3751",
+ "name": "Camiño do Caramuxo (fronte 9)",
+ "latitude": 42.20733292,
+ "longitude": -8.752159103,
+ "lines": [
+ "5A"
+ ]
+ },
+ {
+ "stopId": 14274,
+ "internalStopId": "3895",
+ "name": "Camiño do Caramuxo (Rotonda)",
+ "latitude": 42.207303128,
+ "longitude": -8.753465339,
+ "lines": [
+ "5A"
+ ]
+ },
+ {
+ "stopId": 14359,
+ "internalStopId": "3979",
+ "name": "Rúa das Teixugueiras 16-Portal 2",
+ "latitude": 42.212235738,
+ "longitude": -8.755011746,
+ "lines": [
+ "5A",
+ "5B",
+ "13",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 14389,
+ "internalStopId": "4008",
+ "name": "Rúa das Teixugueiras 22",
+ "latitude": 42.210212603,
+ "longitude": -8.755079989,
+ "lines": [
+ "5A",
+ "5B",
+ "13",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 14358,
+ "internalStopId": "3978",
+ "name": "Rúa das Teixugueiras 28",
+ "latitude": 42.209054557,
+ "longitude": -8.75715865,
+ "lines": [
+ "5A",
+ "5B",
+ "13",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 14393,
+ "internalStopId": "4012",
+ "name": "Rúa da Pedra Seixa (fronte Colexio)",
+ "latitude": 42.209568936,
+ "longitude": -8.760777001,
+ "lines": [
+ "5A",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 14392,
+ "internalStopId": "4011",
+ "name": "Rúa da Pedra Seixa (Colexio)",
+ "latitude": 42.209458591,
+ "longitude": -8.760561083,
+ "lines": [
+ "5A"
+ ]
+ },
+ {
+ "stopId": 14275,
+ "internalStopId": "3896",
+ "name": "Camiño do Caramuxo (Polígono)",
+ "latitude": 42.207493857,
+ "longitude": -8.754312917,
+ "lines": [
+ "5A"
+ ]
+ },
+ {
+ "stopId": 14129,
+ "internalStopId": "3752",
+ "name": "Camiño do Caramuxo 11",
+ "latitude": 42.20723039,
+ "longitude": -8.752592351,
+ "lines": [
+ "5A"
+ ]
+ },
+ {
+ "stopId": 5340,
+ "internalStopId": "3324",
+ "name": "Avda. da Florida 197",
+ "latitude": 42.208621114,
+ "longitude": -8.749572184,
+ "lines": [
+ "5A",
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 14163,
+ "internalStopId": "3784",
+ "name": "Avda. da Florida (fronte 82)",
+ "latitude": 42.211442202,
+ "longitude": -8.746227469,
+ "lines": [
+ "5A",
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 5320,
+ "internalStopId": "3322",
+ "name": "Avda. da Florida 145",
+ "latitude": 42.213244058,
+ "longitude": -8.743657913,
+ "lines": [
+ "5A",
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 5300,
+ "internalStopId": "3320",
+ "name": "Avda. da Florida 117",
+ "latitude": 42.214827343,
+ "longitude": -8.741319027,
+ "lines": [
+ "5A",
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 5370,
+ "internalStopId": "3327",
+ "name": "Avda. da Florida 69",
+ "latitude": 42.216928527,
+ "longitude": -8.738268035,
+ "lines": [
+ "5A",
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 14301,
+ "internalStopId": "3922",
+ "name": "Avda. da Florida 47",
+ "latitude": 42.218257459,
+ "longitude": -8.736328798,
+ "lines": [
+ "5A",
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 5330,
+ "internalStopId": "3323",
+ "name": "Avda. da Florida 3",
+ "latitude": 42.220228436,
+ "longitude": -8.733426296,
+ "lines": [
+ "5A",
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 20201,
+ "internalStopId": "5516",
+ "name": "Paseo de Granada S/N",
+ "latitude": 42.235701104,
+ "longitude": -8.726054911,
+ "lines": [
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 7420,
+ "internalStopId": "3542",
+ "name": "Rúa da Falperra 37",
+ "latitude": 42.234921656,
+ "longitude": -8.728638411,
+ "lines": [
+ "5B"
+ ]
+ },
+ {
+ "stopId": 20200,
+ "internalStopId": "5515",
+ "name": "Rúa de Pi i Margall (fronte 5)",
+ "latitude": 42.235482452,
+ "longitude": -8.728981431,
+ "lines": [
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 6490,
+ "internalStopId": "3445",
+ "name": "Rúa de Pi i Margall 32",
+ "latitude": 42.233972514,
+ "longitude": -8.729963004,
+ "lines": [
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 14903,
+ "internalStopId": "4060",
+ "name": "Rúa de Pi i Margall 66",
+ "latitude": 42.23174719,
+ "longitude": -8.731081308,
+ "lines": [
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 6510,
+ "internalStopId": "3447",
+ "name": "Rúa de Pi i Margall 86",
+ "latitude": 42.230584487,
+ "longitude": -8.731459155,
+ "lines": [
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 6470,
+ "internalStopId": "3443",
+ "name": "Rúa de Pi i Margall 108",
+ "latitude": 42.228458938,
+ "longitude": -8.732202674,
+ "lines": [
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 5870,
+ "internalStopId": "3378",
+ "name": "Rúa de López Mora 10",
+ "latitude": 42.226432697,
+ "longitude": -8.731262013,
+ "lines": [
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 14161,
+ "internalStopId": "3782",
+ "name": "Rúa de López Mora 62",
+ "latitude": 42.224130699,
+ "longitude": -8.732568248,
+ "lines": [
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 5890,
+ "internalStopId": "3380",
+ "name": "Rúa de López Mora 84",
+ "latitude": 42.222420533,
+ "longitude": -8.731996938,
+ "lines": [
+ "5B",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 20024,
+ "internalStopId": "4096",
+ "name": "Rúa das Teixugueiras 34",
+ "latitude": 42.207634066,
+ "longitude": -8.758920861,
+ "lines": [
+ "5B",
+ "13",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 20025,
+ "internalStopId": "4097",
+ "name": "Rúa das Teixugueiras 38",
+ "latitude": 42.206553268,
+ "longitude": -8.760122491,
+ "lines": [
+ "5B",
+ "13",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 20091,
+ "internalStopId": "4163",
+ "name": "Camiño da Miragaia 11-13",
+ "latitude": 42.238164803,
+ "longitude": -8.711212761,
+ "lines": [
+ "A",
+ "5B",
+ "16",
+ "24"
+ ]
+ },
+ {
+ "stopId": 20057,
+ "internalStopId": "4129",
+ "name": "Estación Ferrocarril Guixar",
+ "latitude": 42.238843911,
+ "longitude": -8.713008504,
+ "lines": [
+ "A",
+ "5B",
+ "16",
+ "24"
+ ]
+ },
+ {
+ "stopId": 20058,
+ "internalStopId": "4130",
+ "name": "Rúa do Canceleiro 6",
+ "latitude": 42.238435471,
+ "longitude": -8.714413687,
+ "lines": [
+ "5B",
+ "16"
+ ]
+ },
+ {
+ "stopId": 6955,
+ "internalStopId": "3496",
+ "name": "Praza de España (cruce Rúa de Fernando Conde)",
+ "latitude": 42.229438377,
+ "longitude": -8.719781108,
+ "lines": [
+ "6",
+ "13",
+ "18B",
+ "18H",
+ "25",
+ "29"
+ ]
+ },
+ {
+ "stopId": 3510,
+ "internalStopId": "3139",
+ "name": "Estrada de Camposancos 28",
+ "latitude": 42.202849227,
+ "longitude": -8.753870291,
+ "lines": [
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 3530,
+ "internalStopId": "3141",
+ "name": "Estrada de Camposancos 88",
+ "latitude": 42.199773285,
+ "longitude": -8.759958845,
+ "lines": [
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 20139,
+ "internalStopId": "5379",
+ "name": "Estrada Matamá Pazo (fronte 162)",
+ "latitude": 42.199144892,
+ "longitude": -8.758506717,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 14137,
+ "internalStopId": "3760",
+ "name": "Estrada Matamá Pazo (Igrexa)",
+ "latitude": 42.200003406,
+ "longitude": -8.753169,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 3950,
+ "internalStopId": "3185",
+ "name": "Estrada de Casás (cruce Camiño do Rial)",
+ "latitude": 42.196014193,
+ "longitude": -8.759919516,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 3050,
+ "internalStopId": "3091",
+ "name": "Estrada de Casás (cruce Camiño da Pedra Branca)",
+ "latitude": 42.192360267,
+ "longitude": -8.756680959,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 3940,
+ "internalStopId": "3184",
+ "name": "Estrada de Casás 83",
+ "latitude": 42.196165214,
+ "longitude": -8.759890011,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 20210,
+ "internalStopId": "5530",
+ "name": "Estrada de Camposancos 108",
+ "latitude": 42.19824056,
+ "longitude": -8.763182189,
+ "lines": [
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 3540,
+ "internalStopId": "3142",
+ "name": "Estrada de Camposancos 138",
+ "latitude": 42.19617384,
+ "longitude": -8.766295392,
+ "lines": [
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 3500,
+ "internalStopId": "3138",
+ "name": "Estrada de Camposancos 190",
+ "latitude": 42.194553241,
+ "longitude": -8.770325583,
+ "lines": [
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 3470,
+ "internalStopId": "3135",
+ "name": "Estrada de Camposancos 214",
+ "latitude": 42.193581709,
+ "longitude": -8.772496159,
+ "lines": [
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 4500,
+ "internalStopId": "3240",
+ "name": "Rúa de Manuel Lago Lago 20",
+ "latitude": 42.188761213,
+ "longitude": -8.775973652,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 4490,
+ "internalStopId": "3239",
+ "name": "Rúa de Manuel Lago Lago (fronte Colexio)",
+ "latitude": 42.187522648,
+ "longitude": -8.772977937,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 4040,
+ "internalStopId": "3194",
+ "name": "Estrada de Fragoselo 108",
+ "latitude": 42.18661248,
+ "longitude": -8.769574881,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 4010,
+ "internalStopId": "3191",
+ "name": "Estrada de Fragoselo 170",
+ "latitude": 42.184148566,
+ "longitude": -8.767237312,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 4050,
+ "internalStopId": "3195",
+ "name": "Estrada de Fragoselo 196",
+ "latitude": 42.182111026,
+ "longitude": -8.76479691,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 5390,
+ "internalStopId": "3329",
+ "name": "Estrada de Fragoselo (cruce Camiño Río da Barxa)",
+ "latitude": 42.179556959,
+ "longitude": -8.761854527,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 8100,
+ "internalStopId": "3620",
+ "name": "Estrada da Gándara 79",
+ "latitude": 42.160735669,
+ "longitude": -8.709771124,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4070,
+ "internalStopId": "3197",
+ "name": "Estrada da Gándara 55",
+ "latitude": 42.162254659,
+ "longitude": -8.713740793,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4060,
+ "internalStopId": "3196",
+ "name": "Estrada da Gándara 7",
+ "latitude": 42.164326088,
+ "longitude": -8.716892619,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 180,
+ "internalStopId": "2798",
+ "name": "Estrada de Valadares 451",
+ "latitude": 42.166144986,
+ "longitude": -8.720162371,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 5760,
+ "internalStopId": "3367",
+ "name": "Estrada de Valadares 377",
+ "latitude": 42.16929549,
+ "longitude": -8.723249687,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4620,
+ "internalStopId": "3252",
+ "name": "Estrada de Valadares 329",
+ "latitude": 42.172330151,
+ "longitude": -8.723766367,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4560,
+ "internalStopId": "3246",
+ "name": "Estrada de Valadares 233",
+ "latitude": 42.177017792,
+ "longitude": -8.721519832,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4590,
+ "internalStopId": "3249",
+ "name": "Estrada de Valadares 173",
+ "latitude": 42.180670846,
+ "longitude": -8.721533506,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4660,
+ "internalStopId": "3256",
+ "name": "Estrada de Valadares 99",
+ "latitude": 42.183997801,
+ "longitude": -8.723857214,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4640,
+ "internalStopId": "3254",
+ "name": "Estrada de Valadares (cruce Camiño do Canizo)",
+ "latitude": 42.18659932,
+ "longitude": -8.719619913,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 2510,
+ "internalStopId": "3034",
+ "name": "Avda. de Castrelos 439",
+ "latitude": 42.191323803,
+ "longitude": -8.721049887,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 1470,
+ "internalStopId": "2930",
+ "name": "Avda. de Castrelos 399",
+ "latitude": 42.194996678,
+ "longitude": -8.72097155,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 1440,
+ "internalStopId": "2927",
+ "name": "Avda. de Castrelos 339",
+ "latitude": 42.198480135,
+ "longitude": -8.723827649,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 1420,
+ "internalStopId": "2925",
+ "name": "Avda. de Castrelos 297",
+ "latitude": 42.201440099,
+ "longitude": -8.726409762,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 1380,
+ "internalStopId": "2921",
+ "name": "Avda. de Castrelos 179",
+ "latitude": 42.20533568,
+ "longitude": -8.730078621,
+ "lines": [
+ "7",
+ "12B",
+ "17"
+ ]
+ },
+ {
+ "stopId": 1350,
+ "internalStopId": "2918",
+ "name": "Avda. de Castrelos 121",
+ "latitude": 42.208026488,
+ "longitude": -8.7312098,
+ "lines": [
+ "7",
+ "12B",
+ "17",
+ "27"
+ ]
+ },
+ {
+ "stopId": 1490,
+ "internalStopId": "2932",
+ "name": "Avda. de Castrelos 67",
+ "latitude": 42.210613294,
+ "longitude": -8.732057664,
+ "lines": [
+ "7",
+ "12B",
+ "17",
+ "27",
+ "H1",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 14894,
+ "internalStopId": "4051",
+ "name": "Avda. do Alcalde Portanet 8",
+ "latitude": 42.211736934,
+ "longitude": -8.733337505,
+ "lines": [
+ "7",
+ "12B",
+ "17",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 660,
+ "internalStopId": "2849",
+ "name": "Avda. do Alcalde Portanet 34",
+ "latitude": 42.211494566,
+ "longitude": -8.736022397,
+ "lines": [
+ "7",
+ "12B",
+ "17",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 5400,
+ "internalStopId": "3330",
+ "name": "Avda. do Fragoso 95",
+ "latitude": 42.213518168,
+ "longitude": -8.737719785,
+ "lines": [
+ "7",
+ "12B",
+ "17",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 5460,
+ "internalStopId": "3336",
+ "name": "Avda. do Fragoso 71",
+ "latitude": 42.215301002,
+ "longitude": -8.736123434,
+ "lines": [
+ "7",
+ "12B",
+ "17",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 5440,
+ "internalStopId": "3334",
+ "name": "Avda. do Fragoso 47",
+ "latitude": 42.217288508,
+ "longitude": -8.73454375,
+ "lines": [
+ "7",
+ "12B",
+ "17",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 20103,
+ "internalStopId": "4830",
+ "name": "Avda. do Fragoso 21",
+ "latitude": 42.218946899,
+ "longitude": -8.733670293,
+ "lines": [
+ "7",
+ "12B",
+ "17",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 5420,
+ "internalStopId": "3332",
+ "name": "Avda. do Fragoso 3",
+ "latitude": 42.220297406,
+ "longitude": -8.732924981,
+ "lines": [
+ "7",
+ "12B",
+ "17",
+ "N4",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 14260,
+ "internalStopId": "3881",
+ "name": "Avda. da Gran Vía (fronte Avda. de Madrid)",
+ "latitude": 42.228741057,
+ "longitude": -8.71961914,
+ "lines": [
+ "7",
+ "14",
+ "15A",
+ "16",
+ "18A",
+ "18B",
+ "18H",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 6950,
+ "internalStopId": "3495",
+ "name": "Praza de España (cruce Rúa de Pizarro)",
+ "latitude": 42.229280401,
+ "longitude": -8.719123549,
+ "lines": [
+ "7",
+ "12A",
+ "12B",
+ "14",
+ "16",
+ "18A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 20203,
+ "internalStopId": "5522",
+ "name": "Avda. da Gran Vía 47",
+ "latitude": 42.230881062,
+ "longitude": -8.718397577,
+ "lines": [
+ "7",
+ "12B",
+ "14",
+ "16",
+ "18A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 1360,
+ "internalStopId": "2919",
+ "name": "Avda. de Castrelos 16",
+ "latitude": 42.219613217,
+ "longitude": -8.732629194,
+ "lines": [
+ "7",
+ "12B",
+ "17",
+ "27",
+ "H2",
+ "PTL"
+ ]
+ },
+ {
+ "stopId": 1500,
+ "internalStopId": "2933",
+ "name": "Avda. de Castrelos 58",
+ "latitude": 42.217084821,
+ "longitude": -8.732530893,
+ "lines": [
+ "7",
+ "12B",
+ "17",
+ "27",
+ "H2",
+ "PTL"
+ ]
+ },
+ {
+ "stopId": 20013,
+ "internalStopId": "4085",
+ "name": "Avda. de Castrelos 116",
+ "latitude": 42.215905917,
+ "longitude": -8.732471102,
+ "lines": [
+ "7",
+ "12B",
+ "17",
+ "27",
+ "H2",
+ "PTL"
+ ]
+ },
+ {
+ "stopId": 1390,
+ "internalStopId": "2922",
+ "name": "Avda. de Castrelos 186",
+ "latitude": 42.212735556,
+ "longitude": -8.732314182,
+ "lines": [
+ "A",
+ "7",
+ "12B",
+ "17",
+ "27",
+ "U1",
+ "H2",
+ "H",
+ "PTL"
+ ]
+ },
+ {
+ "stopId": 1400,
+ "internalStopId": "2923",
+ "name": "Avda. de Castrelos 202",
+ "latitude": 42.210706683,
+ "longitude": -8.732237372,
+ "lines": [
+ "A",
+ "7",
+ "12B",
+ "17",
+ "27",
+ "U1",
+ "H1",
+ "H2",
+ "H",
+ "PTL"
+ ]
+ },
+ {
+ "stopId": 3420,
+ "internalStopId": "3130",
+ "name": "Avda. de Castrelos (Cemiterio de Pereiró)",
+ "latitude": 42.208071495,
+ "longitude": -8.731366082,
+ "lines": [
+ "7",
+ "12B",
+ "17",
+ "27"
+ ]
+ },
+ {
+ "stopId": 1430,
+ "internalStopId": "2926",
+ "name": "Avda. de Castrelos 318",
+ "latitude": 42.203408408,
+ "longitude": -8.728817983,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 1450,
+ "internalStopId": "2928",
+ "name": "Avda. de Castrelos 366",
+ "latitude": 42.201044695,
+ "longitude": -8.726112037,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 1460,
+ "internalStopId": "2929",
+ "name": "Avda. de Castrelos 396",
+ "latitude": 42.198867605,
+ "longitude": -8.72460549,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 3030,
+ "internalStopId": "3089",
+ "name": "Avda. de Castrelos 458",
+ "latitude": 42.194702579,
+ "longitude": -8.721025195,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 20173,
+ "internalStopId": "5451",
+ "name": "Avda. de Castrelos 502",
+ "latitude": 42.192504056,
+ "longitude": -8.721215121,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 1480,
+ "internalStopId": "2931",
+ "name": "Avda. de Castrelos 526",
+ "latitude": 42.19015727,
+ "longitude": -8.72109012,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4650,
+ "internalStopId": "3255",
+ "name": "Estrada de Valadares 48",
+ "latitude": 42.186641056,
+ "longitude": -8.719853265,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4570,
+ "internalStopId": "3247",
+ "name": "Estrada de Valadares 100",
+ "latitude": 42.183987864,
+ "longitude": -8.724154939,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4580,
+ "internalStopId": "3248",
+ "name": "Estrada de Valadares 146",
+ "latitude": 42.180249473,
+ "longitude": -8.721850007,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4600,
+ "internalStopId": "3250",
+ "name": "Estrada de Valadares 212",
+ "latitude": 42.176419487,
+ "longitude": -8.72197849,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4610,
+ "internalStopId": "3251",
+ "name": "Estrada de Valadares 262",
+ "latitude": 42.172481228,
+ "longitude": -8.723905842,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 5770,
+ "internalStopId": "3368",
+ "name": "Estrada de Valadares 310",
+ "latitude": 42.16911061,
+ "longitude": -8.723904146,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4630,
+ "internalStopId": "3253",
+ "name": "Estrada de Valadares 406",
+ "latitude": 42.165721529,
+ "longitude": -8.720146278,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 3400,
+ "internalStopId": "3127",
+ "name": "Estrada da Gándara 22",
+ "latitude": 42.163584451,
+ "longitude": -8.716088728,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4080,
+ "internalStopId": "3198",
+ "name": "Estrada da Gándara 48",
+ "latitude": 42.162252671,
+ "longitude": -8.71400365,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 8110,
+ "internalStopId": "3621",
+ "name": "Estrada da Gándara (Seoane)",
+ "latitude": 42.160670051,
+ "longitude": -8.709878412,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14208,
+ "internalStopId": "3829",
+ "name": "Estrada de Valadares 452",
+ "latitude": 42.162237207,
+ "longitude": -8.71885531,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 20160,
+ "internalStopId": "5435",
+ "name": "Estrada de Valadares 522",
+ "latitude": 42.160066796,
+ "longitude": -8.718938239,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14219,
+ "internalStopId": "3840",
+ "name": "Camiño do Pinal 59",
+ "latitude": 42.159500512,
+ "longitude": -8.718247279,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14207,
+ "internalStopId": "3828",
+ "name": "Camiño do Pinal 19",
+ "latitude": 42.161212162,
+ "longitude": -8.716377433,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14222,
+ "internalStopId": "3843",
+ "name": "Camiño do Pinal 5",
+ "latitude": 42.162959525,
+ "longitude": -8.716541365,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4110,
+ "internalStopId": "3201",
+ "name": "Estrada da Garrida 40",
+ "latitude": 42.165331611,
+ "longitude": -8.714862589,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4120,
+ "internalStopId": "3202",
+ "name": "Estrada da Garrida 84",
+ "latitude": 42.166399713,
+ "longitude": -8.711237684,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14102,
+ "internalStopId": "3725",
+ "name": "Estrada da Garrida 108",
+ "latitude": 42.168282882,
+ "longitude": -8.710066751,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4090,
+ "internalStopId": "3199",
+ "name": "Estrada da Garrida 124",
+ "latitude": 42.170369621,
+ "longitude": -8.708506123,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14210,
+ "internalStopId": "3831",
+ "name": "Estrada da Garrida (frente 243)",
+ "latitude": 42.173077394,
+ "longitude": -8.705659744,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14413,
+ "internalStopId": "4032",
+ "name": "Estrada da Garrida (cruce Camiño Fabas)",
+ "latitude": 42.173955568,
+ "longitude": -8.703050076,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 8180,
+ "internalStopId": "3628",
+ "name": "Estrada da Garrida 291",
+ "latitude": 42.173993336,
+ "longitude": -8.70329684,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14209,
+ "internalStopId": "3830",
+ "name": "Estrada da Garrida 263",
+ "latitude": 42.173333822,
+ "longitude": -8.705439803,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4100,
+ "internalStopId": "3200",
+ "name": "Estrada da Garrida 199",
+ "latitude": 42.16978602,
+ "longitude": -8.708967287,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14101,
+ "internalStopId": "3724",
+ "name": "Estrada da Garrida 165",
+ "latitude": 42.168008539,
+ "longitude": -8.710415438,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4140,
+ "internalStopId": "3204",
+ "name": "Estrada da Garrida (frente 80)",
+ "latitude": 42.166208944,
+ "longitude": -8.711992518,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 4130,
+ "internalStopId": "3203",
+ "name": "Estrada da Garrida 83",
+ "latitude": 42.16561193,
+ "longitude": -8.714589004,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14308,
+ "internalStopId": "3929",
+ "name": "Camiño do Pinal 6",
+ "latitude": 42.16328558,
+ "longitude": -8.716707662,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14309,
+ "internalStopId": "3930",
+ "name": "Camiño do Pinal 28",
+ "latitude": 42.161067029,
+ "longitude": -8.716468628,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14310,
+ "internalStopId": "3931",
+ "name": "Camiño do Pinal (fronte 57)",
+ "latitude": 42.159564137,
+ "longitude": -8.718295559,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 20159,
+ "internalStopId": "5434",
+ "name": "Estrada de Valadares 571",
+ "latitude": 42.160348044,
+ "longitude": -8.718706355,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14311,
+ "internalStopId": "3932",
+ "name": "Estrada de Valadares 505",
+ "latitude": 42.162720337,
+ "longitude": -8.718900908,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 6160,
+ "internalStopId": "3408",
+ "name": "Estrada De Zamáns 150",
+ "latitude": 42.160635942,
+ "longitude": -8.69145083,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 3150,
+ "internalStopId": "3102",
+ "name": "Estrada de Zamáns (cruce Igrexa)",
+ "latitude": 42.157661469,
+ "longitude": -8.685973759,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 9050,
+ "internalStopId": "3721",
+ "name": "Estrada da Igrexa 45",
+ "latitude": 42.154646971,
+ "longitude": -8.688349062,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 3140,
+ "internalStopId": "3101",
+ "name": "Estrada De Zamáns 255",
+ "latitude": 42.15800346,
+ "longitude": -8.686134691,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 6150,
+ "internalStopId": "3407",
+ "name": "Estrada De Zamáns 233",
+ "latitude": 42.160616846,
+ "longitude": -8.691088401,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 5410,
+ "internalStopId": "3331",
+ "name": "Avda. do Fragoso 12",
+ "latitude": 42.219689698,
+ "longitude": -8.733384686,
+ "lines": [
+ "A",
+ "16",
+ "23",
+ "N4",
+ "U1",
+ "H1",
+ "H",
+ "LZH",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 5430,
+ "internalStopId": "3333",
+ "name": "Avda. do Fragoso 36",
+ "latitude": 42.217381871,
+ "longitude": -8.734669814,
+ "lines": [
+ "A",
+ "16",
+ "23",
+ "N4",
+ "U1",
+ "H1",
+ "H",
+ "LZH",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 5450,
+ "internalStopId": "3335",
+ "name": "Avda. do Fragoso 54",
+ "latitude": 42.215348678,
+ "longitude": -8.736273638,
+ "lines": [
+ "A",
+ "16",
+ "23",
+ "N4",
+ "H1",
+ "H",
+ "LZH",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 5470,
+ "internalStopId": "3337",
+ "name": "Avda. do Fragoso 86",
+ "latitude": 42.21315264,
+ "longitude": -8.738470803,
+ "lines": [
+ "A",
+ "16",
+ "23",
+ "N4",
+ "U1",
+ "H1",
+ "H",
+ "LZH",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 20124,
+ "internalStopId": "4960",
+ "name": "Estrada Clara Campoamor 6",
+ "latitude": 42.208989468,
+ "longitude": -8.729330619,
+ "lines": [
+ "A",
+ "12B",
+ "U1",
+ "H1",
+ "H2",
+ "H",
+ "PTL"
+ ]
+ },
+ {
+ "stopId": 14181,
+ "internalStopId": "3802",
+ "name": "Camiño da Corredoura (Igrexa)",
+ "latitude": 42.210954716,
+ "longitude": -8.727776522,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 8220,
+ "internalStopId": "3632",
+ "name": "Camiño da Corredoura 3",
+ "latitude": 42.213993258,
+ "longitude": -8.726740824,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 8190,
+ "internalStopId": "3629",
+ "name": "Subida da Costa (Colina)",
+ "latitude": 42.214660701,
+ "longitude": -8.722840401,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 14179,
+ "internalStopId": "3800",
+ "name": "Rúa da Costa 4",
+ "latitude": 42.213260612,
+ "longitude": -8.722562576,
+ "lines": [
+ "A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 3300,
+ "internalStopId": "3117",
+ "name": "Rúa da Costa 22",
+ "latitude": 42.211751348,
+ "longitude": -8.721691531,
+ "lines": [
+ "A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 3310,
+ "internalStopId": "3118",
+ "name": "Rúa da Costa 74",
+ "latitude": 42.209233023,
+ "longitude": -8.720666368,
+ "lines": [
+ "A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 6680,
+ "internalStopId": "3467",
+ "name": "Rúa do Portoloureiro 26",
+ "latitude": 42.207311837,
+ "longitude": -8.718650635,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 6690,
+ "internalStopId": "3468",
+ "name": "Rúa do Portoloureiro 52",
+ "latitude": 42.20495956,
+ "longitude": -8.715695557,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 8990,
+ "internalStopId": "3715",
+ "name": "Rúa do Seixo 75",
+ "latitude": 42.200673849,
+ "longitude": -8.714185609,
+ "lines": [
+ "A",
+ "18B",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 8970,
+ "internalStopId": "3713",
+ "name": "Rúa do Seixo 45",
+ "latitude": 42.197425383,
+ "longitude": -8.713700535,
+ "lines": [
+ "A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 4910,
+ "internalStopId": "3281",
+ "name": "Estrada da Venda 4",
+ "latitude": 42.19205763,
+ "longitude": -8.712722956,
+ "lines": [
+ "A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 4880,
+ "internalStopId": "3278",
+ "name": "Estrada da Venda 240",
+ "latitude": 42.188021902,
+ "longitude": -8.711457595,
+ "lines": [
+ "A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 4890,
+ "internalStopId": "3279",
+ "name": "Estrada da Venda 238",
+ "latitude": 42.186610014,
+ "longitude": -8.710023944,
+ "lines": [
+ "A",
+ "6"
+ ]
+ },
+ {
+ "stopId": 4860,
+ "internalStopId": "3276",
+ "name": "Estrada da Venda (cruce Camiño da Coutadiña)",
+ "latitude": 42.182744465,
+ "longitude": -8.70286123,
+ "lines": [
+ "A",
+ "6"
+ ]
+ },
+ {
+ "stopId": 3820,
+ "internalStopId": "3172",
+ "name": "Rúa do Falcoído 16",
+ "latitude": 42.182659954,
+ "longitude": -8.699663442,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 3830,
+ "internalStopId": "3173",
+ "name": "Rúa do Falcoído (cruce Camiño Goaldino)",
+ "latitude": 42.180635405,
+ "longitude": -8.696958243,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 3850,
+ "internalStopId": "3175",
+ "name": "Estrada Clara Campoamor (cruce Estrada Marcosende)",
+ "latitude": 42.167933917,
+ "longitude": -8.692758811,
+ "lines": [
+ "A",
+ "U1"
+ ]
+ },
+ {
+ "stopId": 8710,
+ "internalStopId": "3683",
+ "name": "Universidade.",
+ "latitude": 42.167985106,
+ "longitude": -8.688425395,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 8700,
+ "internalStopId": "3682",
+ "name": "Enxeñeiros (CUVI)",
+ "latitude": 42.167963445,
+ "longitude": -8.688421342,
+ "lines": [
+ "A",
+ "15C",
+ "U1",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 8740,
+ "internalStopId": "3687",
+ "name": "Telecomunicacións (CUVI)",
+ "latitude": 42.170123888,
+ "longitude": -8.687270393,
+ "lines": [
+ "A",
+ "15C",
+ "U1",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 8720,
+ "internalStopId": "3684",
+ "name": "Humanidades (CUVI)",
+ "latitude": 42.169678809,
+ "longitude": -8.679104749,
+ "lines": [
+ "A",
+ "15C",
+ "U1",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 8680,
+ "internalStopId": "3680",
+ "name": "Económicas e Empresariais (CUVI)",
+ "latitude": 42.169603028,
+ "longitude": -8.680108895,
+ "lines": [
+ "A",
+ "15C",
+ "U1",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 14105,
+ "internalStopId": "3728",
+ "name": "Ciencias Xurídicas (CUVI)",
+ "latitude": 42.167237978,
+ "longitude": -8.681135704,
+ "lines": [
+ "A",
+ "15C",
+ "U1",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 8660,
+ "internalStopId": "3678",
+ "name": "Química (CUVI)",
+ "latitude": 42.168290977,
+ "longitude": -8.68342947,
+ "lines": [
+ "A",
+ "15C",
+ "U1",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 8670,
+ "internalStopId": "3679",
+ "name": "Bioloxía (CUVI)",
+ "latitude": 42.167687661,
+ "longitude": -8.685994335,
+ "lines": [
+ "A",
+ "15C",
+ "U1",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 3860,
+ "internalStopId": "3176",
+ "name": "Estrada Clara Campoamor (cruce Rúa do Falcoído)",
+ "latitude": 42.168248021,
+ "longitude": -8.692608608,
+ "lines": [
+ "A",
+ "U1"
+ ]
+ },
+ {
+ "stopId": 3840,
+ "internalStopId": "3174",
+ "name": "Rúa do Falcoído (cruce Camiño das Presas)",
+ "latitude": 42.181019011,
+ "longitude": -8.696918009,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 3870,
+ "internalStopId": "3177",
+ "name": "Rúa do Falcoído 13",
+ "latitude": 42.182749988,
+ "longitude": -8.699953254,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 6670,
+ "internalStopId": "3466",
+ "name": "Estrada da Venda 109",
+ "latitude": 42.183004832,
+ "longitude": -8.702601056,
+ "lines": [
+ "A",
+ "6"
+ ]
+ },
+ {
+ "stopId": 4920,
+ "internalStopId": "3282",
+ "name": "Estrada da Venda 49",
+ "latitude": 42.186610342,
+ "longitude": -8.709937804,
+ "lines": [
+ "A",
+ "6"
+ ]
+ },
+ {
+ "stopId": 4900,
+ "internalStopId": "3280",
+ "name": "Estrada da Venda 35",
+ "latitude": 42.188304845,
+ "longitude": -8.711474749,
+ "lines": [
+ "A",
+ "27",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 4870,
+ "internalStopId": "3277",
+ "name": "Estrada da Venda 5",
+ "latitude": 42.192029809,
+ "longitude": -8.712623715,
+ "lines": [
+ "A",
+ "27",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 8980,
+ "internalStopId": "3714",
+ "name": "Rúa do Seixo 38",
+ "latitude": 42.197532685,
+ "longitude": -8.713614705,
+ "lines": [
+ "A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 9000,
+ "internalStopId": "3716",
+ "name": "Rúa do Seixo (Parque)",
+ "latitude": 42.200719549,
+ "longitude": -8.714115872,
+ "lines": [
+ "A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 6700,
+ "internalStopId": "3469",
+ "name": "Rúa do Portoloureiro 43",
+ "latitude": 42.204947406,
+ "longitude": -8.715589643,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 6720,
+ "internalStopId": "3471",
+ "name": "Rúa do Portoloureiro (fronte 28)",
+ "latitude": 42.207385347,
+ "longitude": -8.718127604,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 3320,
+ "internalStopId": "3119",
+ "name": "Rúa da Costa 63",
+ "latitude": 42.210154848,
+ "longitude": -8.720902403,
+ "lines": [
+ "A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 14182,
+ "internalStopId": "3803",
+ "name": "Rúa da Costa 39",
+ "latitude": 42.211618245,
+ "longitude": -8.72147159,
+ "lines": [
+ "A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 3290,
+ "internalStopId": "3116",
+ "name": "Rúa da Costa 13",
+ "latitude": 42.213397685,
+ "longitude": -8.72248211,
+ "lines": [
+ "A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 8200,
+ "internalStopId": "3630",
+ "name": "Subida da Costa 21",
+ "latitude": 42.214714337,
+ "longitude": -8.723068388,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 8210,
+ "internalStopId": "3631",
+ "name": "Subida da Costa 3",
+ "latitude": 42.214377129,
+ "longitude": -8.725964538,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 20174,
+ "internalStopId": "5452",
+ "name": "Baixada ao Pontillón S/N",
+ "latitude": 42.21519917,
+ "longitude": -8.726793773,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 3052,
+ "internalStopId": "3092",
+ "name": "Avda. Arquitecto Antonio Palacios (cruce Rúa Ricardo Torres)",
+ "latitude": 42.216966631,
+ "longitude": -8.729813845,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 8730,
+ "internalStopId": "3686",
+ "name": "Telecomunicacións (CUVI) B",
+ "latitude": 42.170159671,
+ "longitude": -8.68735086,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 8721,
+ "internalStopId": "3685",
+ "name": "Universidade..",
+ "latitude": 42.169776602,
+ "longitude": -8.678942156,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 20156,
+ "internalStopId": "5427",
+ "name": "Económicas e Empresariais (CUVI 2)",
+ "latitude": 42.169602007,
+ "longitude": -8.680122554,
+ "lines": [
+ "A"
+ ]
+ },
+ {
+ "stopId": 14906,
+ "internalStopId": "4063",
+ "name": "Rúa da Rabadeira 6",
+ "latitude": 42.232479787,
+ "longitude": -8.654890792,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 14907,
+ "internalStopId": "4064",
+ "name": "Rúa da Rabadeira 24",
+ "latitude": 42.233655479,
+ "longitude": -8.653300242,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 14232,
+ "internalStopId": "3853",
+ "name": "Rúa da Rabadeira (fronte 33)",
+ "latitude": 42.235317662,
+ "longitude": -8.652094641,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 20187,
+ "internalStopId": "5493",
+ "name": "Rúa da Rabadeira 46",
+ "latitude": 42.237422128,
+ "longitude": -8.65153195,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 7650,
+ "internalStopId": "3568",
+ "name": "Rúa da Rabadeira 64",
+ "latitude": 42.239043121,
+ "longitude": -8.650247888,
+ "lines": [
+ "9B",
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 7660,
+ "internalStopId": "3569",
+ "name": "Rúa da Rabadeira 104",
+ "latitude": 42.241610852,
+ "longitude": -8.651865944,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 14391,
+ "internalStopId": "4010",
+ "name": "Rúa do Salgueiro (fronte 38)",
+ "latitude": 42.241652296,
+ "longitude": -8.655302935,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 7740,
+ "internalStopId": "3581",
+ "name": "Rúa de Salgueiro 23",
+ "latitude": 42.241658253,
+ "longitude": -8.658202403,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 7750,
+ "internalStopId": "3582",
+ "name": "Rúa do Salgueiro 1",
+ "latitude": 42.243330503,
+ "longitude": -8.661852545,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 2840,
+ "internalStopId": "3069",
+ "name": "Rúa da Goleta 3",
+ "latitude": 42.241698248,
+ "longitude": -8.665209215,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 14893,
+ "internalStopId": "4050",
+ "name": "Rúa de Manuel Costas Bastos 26",
+ "latitude": 42.243157956,
+ "longitude": -8.666962176,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 6110,
+ "internalStopId": "3403",
+ "name": "Camiño da Devesa 6",
+ "latitude": 42.243941636,
+ "longitude": -8.669169025,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 4930,
+ "internalStopId": "3283",
+ "name": "Travesía da Devesa (Asociación Veciños)",
+ "latitude": 42.246018558,
+ "longitude": -8.669287042,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 20137,
+ "internalStopId": "5377",
+ "name": "Camiño da Devesa (Asociación Veciños)",
+ "latitude": 42.246563041,
+ "longitude": -8.669395817,
+ "lines": [
+ "9B"
+ ]
+ },
+ {
+ "stopId": 14905,
+ "internalStopId": "4062",
+ "name": "Camiño da Devesa (Cemiterio)",
+ "latitude": 42.249981353,
+ "longitude": -8.667186504,
+ "lines": [
+ "9B"
+ ]
+ },
+ {
+ "stopId": 20030,
+ "internalStopId": "4102",
+ "name": "Subida á Madroa (Campo Fútbol)",
+ "latitude": 42.247859379,
+ "longitude": -8.674363625,
+ "lines": [
+ "9B",
+ "28"
+ ]
+ },
+ {
+ "stopId": 20029,
+ "internalStopId": "4101",
+ "name": "Subida á Madroa (fronte Campo Fútbol)",
+ "latitude": 42.245921506,
+ "longitude": -8.673014474,
+ "lines": [
+ "9B",
+ "28"
+ ]
+ },
+ {
+ "stopId": 8240,
+ "internalStopId": "3634",
+ "name": "Subida á Madroa (Urbanización)",
+ "latitude": 42.243382567,
+ "longitude": -8.674125307,
+ "lines": [
+ "9B",
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 8250,
+ "internalStopId": "3635",
+ "name": "Subida á Madroa 15",
+ "latitude": 42.242669731,
+ "longitude": -8.670096629,
+ "lines": [
+ "9B",
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 7680,
+ "internalStopId": "3575",
+ "name": "Rúa San Cristobo 117",
+ "latitude": 42.240866745,
+ "longitude": -8.669273191,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 7710,
+ "internalStopId": "3578",
+ "name": "Rúa San Cristobo 41",
+ "latitude": 42.236825775,
+ "longitude": -8.669313413,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 7690,
+ "internalStopId": "3576",
+ "name": "Rúa San Cristobo 11",
+ "latitude": 42.235468446,
+ "longitude": -8.670649153,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 4940,
+ "internalStopId": "3284",
+ "name": "Camiño da Devesa (fronte 55)",
+ "latitude": 42.245450719,
+ "longitude": -8.672406783,
+ "lines": [
+ "9B",
+ "27"
+ ]
+ },
+ {
+ "stopId": 14202,
+ "internalStopId": "3823",
+ "name": "Rúa de Jenaro de la Fuente 58",
+ "latitude": 42.231273786,
+ "longitude": -8.700145645,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7330,
+ "internalStopId": "3533",
+ "name": "Avda. de Ramón Nieto 50",
+ "latitude": 42.231776636,
+ "longitude": -8.697735869,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7360,
+ "internalStopId": "3536",
+ "name": "Avda. de Ramón Nieto 96",
+ "latitude": 42.230432101,
+ "longitude": -8.694045149,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7210,
+ "internalStopId": "3521",
+ "name": "Avda. de Ramón Nieto 136",
+ "latitude": 42.229661504,
+ "longitude": -8.691416585,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7230,
+ "internalStopId": "3523",
+ "name": "Avda. de Ramón Nieto 198",
+ "latitude": 42.229560215,
+ "longitude": -8.687854611,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7240,
+ "internalStopId": "3524",
+ "name": "Avda. de Ramón Nieto 252",
+ "latitude": 42.229454954,
+ "longitude": -8.684539401,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7260,
+ "internalStopId": "3526",
+ "name": "Avda. de Ramón Nieto 308",
+ "latitude": 42.22953241,
+ "longitude": -8.681347572,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7290,
+ "internalStopId": "3529",
+ "name": "Avda. de Ramón Nieto 360",
+ "latitude": 42.228411862,
+ "longitude": -8.678489489,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 14354,
+ "internalStopId": "3974",
+ "name": "Avda. de Ramón Nieto (fronte Igrexa)",
+ "latitude": 42.225911433,
+ "longitude": -8.675526243,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7300,
+ "internalStopId": "3530",
+ "name": "Avda. de Ramón Nieto 390",
+ "latitude": 42.223957681,
+ "longitude": -8.673451332,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7310,
+ "internalStopId": "3531",
+ "name": "Avda. de Ramón Nieto 406",
+ "latitude": 42.223219273,
+ "longitude": -8.672272983,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "25"
+ ]
+ },
+ {
+ "stopId": 7590,
+ "internalStopId": "3562",
+ "name": "Avda. do Tranvía 40",
+ "latitude": 42.225201551,
+ "longitude": -8.667101684,
+ "lines": [
+ "11",
+ "15A"
+ ]
+ },
+ {
+ "stopId": 14203,
+ "internalStopId": "3824",
+ "name": "Avda. do Tranvía S/N (despois Camiño Lugar)",
+ "latitude": 42.226524401,
+ "longitude": -8.661251786,
+ "lines": [
+ "11",
+ "15A"
+ ]
+ },
+ {
+ "stopId": 7540,
+ "internalStopId": "3557",
+ "name": "Avda. do Tranvía 100",
+ "latitude": 42.226657624,
+ "longitude": -8.659447983,
+ "lines": [
+ "11",
+ "15A"
+ ]
+ },
+ {
+ "stopId": 14198,
+ "internalStopId": "3819",
+ "name": "Rúa do Riomao 21",
+ "latitude": 42.227231301,
+ "longitude": -8.659997969,
+ "lines": [
+ "15A",
+ "25"
+ ]
+ },
+ {
+ "stopId": 5170,
+ "internalStopId": "3307",
+ "name": "Rúa das Figueiras (Praza da Feira)",
+ "latitude": 42.227529644,
+ "longitude": -8.66169041,
+ "lines": [
+ "15A",
+ "25"
+ ]
+ },
+ {
+ "stopId": 5280,
+ "internalStopId": "3318",
+ "name": "Rúa das Figueiras 113",
+ "latitude": 42.225940716,
+ "longitude": -8.663830813,
+ "lines": [
+ "15A",
+ "25"
+ ]
+ },
+ {
+ "stopId": 5270,
+ "internalStopId": "3317",
+ "name": "Rúa das Figueiras 65",
+ "latitude": 42.224367639,
+ "longitude": -8.665989991,
+ "lines": [
+ "15A",
+ "25"
+ ]
+ },
+ {
+ "stopId": 5250,
+ "internalStopId": "3315",
+ "name": "Rúa das Figueiras 29",
+ "latitude": 42.223048763,
+ "longitude": -8.667374011,
+ "lines": [
+ "15A",
+ "25"
+ ]
+ },
+ {
+ "stopId": 7340,
+ "internalStopId": "3534",
+ "name": "Avda. de Ramón Nieto 503",
+ "latitude": 42.223272423,
+ "longitude": -8.67216119,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "25"
+ ]
+ },
+ {
+ "stopId": 7320,
+ "internalStopId": "3532",
+ "name": "Avda. de Ramón Nieto 475",
+ "latitude": 42.224462184,
+ "longitude": -8.673842935,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 14355,
+ "internalStopId": "3975",
+ "name": "Avda. de Ramón Nieto 409",
+ "latitude": 42.226638363,
+ "longitude": -8.676135104,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7280,
+ "internalStopId": "3528",
+ "name": "Avda. de Ramón Nieto 355",
+ "latitude": 42.228432118,
+ "longitude": -8.67827376,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7270,
+ "internalStopId": "3527",
+ "name": "Avda. de Ramón Nieto 341",
+ "latitude": 42.229570145,
+ "longitude": -8.681232237,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7250,
+ "internalStopId": "3525",
+ "name": "Avda. de Ramón Nieto 273",
+ "latitude": 42.229533333,
+ "longitude": -8.684593198,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7370,
+ "internalStopId": "3537",
+ "name": "Avda. de Ramón Nieto 247",
+ "latitude": 42.229607881,
+ "longitude": -8.686980211,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7220,
+ "internalStopId": "3522",
+ "name": "Avda. de Ramón Nieto 173",
+ "latitude": 42.229736581,
+ "longitude": -8.691879077,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7200,
+ "internalStopId": "3520",
+ "name": "Avda. de Ramón Nieto 125",
+ "latitude": 42.231023929,
+ "longitude": -8.69459232,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7350,
+ "internalStopId": "3535",
+ "name": "Avda. de Ramón Nieto 57",
+ "latitude": 42.231927571,
+ "longitude": -8.697668814,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 14141,
+ "internalStopId": "3764",
+ "name": "Rúa de Jenaro de la Fuente 43",
+ "latitude": 42.231379202,
+ "longitude": -8.699876213,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 4700,
+ "internalStopId": "3260",
+ "name": "Estrada do Vao 46",
+ "latitude": 42.194014721,
+ "longitude": -8.777055245,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 4720,
+ "internalStopId": "3262",
+ "name": "Estrada do Vao 90",
+ "latitude": 42.193937416,
+ "longitude": -8.781634173,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 4680,
+ "internalStopId": "3258",
+ "name": "Estrada do Vao 116",
+ "latitude": 42.19429691,
+ "longitude": -8.786574405,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 4740,
+ "internalStopId": "3264",
+ "name": "Estrada do Vao (Praia do Vao)",
+ "latitude": 42.196595321,
+ "longitude": -8.791019372,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 3760,
+ "internalStopId": "3166",
+ "name": "Rúa de Canido (fronte 119)",
+ "latitude": 42.1957321,
+ "longitude": -8.795211362,
+ "lines": [
+ "10",
+ "11"
+ ]
+ },
+ {
+ "stopId": 3750,
+ "internalStopId": "3165",
+ "name": "Rúa de Canido (Praia de Canido)",
+ "latitude": 42.193128934,
+ "longitude": -8.797957944,
+ "lines": [
+ "10",
+ "11"
+ ]
+ },
+ {
+ "stopId": 3130,
+ "internalStopId": "3100",
+ "name": "Avda. de Cesáreo Vázquez 169",
+ "latitude": 42.191030413,
+ "longitude": -8.799596773,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 3120,
+ "internalStopId": "3099",
+ "name": "Avda. de Cesáreo Vázquez 141",
+ "latitude": 42.187320701,
+ "longitude": -8.801121407,
+ "lines": [
+ "11",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 3100,
+ "internalStopId": "3097",
+ "name": "Avda. de Cesáreo Vázquez 99",
+ "latitude": 42.184766843,
+ "longitude": -8.802180879,
+ "lines": [
+ "11",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 20048,
+ "internalStopId": "4120",
+ "name": "Avda. de Cesáreo Vázquez (cruce Camiño Amariz Lourenzo)",
+ "latitude": 42.182684406,
+ "longitude": -8.802402364,
+ "lines": [
+ "11",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 7890,
+ "internalStopId": "3599",
+ "name": "Avda. de Cesáreo Vázquez 61",
+ "latitude": 42.180764289,
+ "longitude": -8.80256063,
+ "lines": [
+ "11",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 20216,
+ "internalStopId": "5545",
+ "name": "Avda. de Cesáreo Vázquez (fronte 43)",
+ "latitude": 42.179747589,
+ "longitude": -8.802157388,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 20049,
+ "internalStopId": "4121",
+ "name": "Avda. de Cesáreo Vázquez 62",
+ "latitude": 42.18238342,
+ "longitude": -8.802126069,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 3110,
+ "internalStopId": "3098",
+ "name": "Avda. de Cesáreo Vázquez 74",
+ "latitude": 42.184416675,
+ "longitude": -8.802179713,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 3080,
+ "internalStopId": "3095",
+ "name": "Avda. de Cesáreo Vázquez 136",
+ "latitude": 42.187532955,
+ "longitude": -8.800948579,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 3090,
+ "internalStopId": "3096",
+ "name": "Avda. de Cesáreo Vázquez 182",
+ "latitude": 42.190974769,
+ "longitude": -8.79947071,
+ "lines": [
+ "C3d",
+ "10",
+ "11"
+ ]
+ },
+ {
+ "stopId": 3780,
+ "internalStopId": "3168",
+ "name": "Rúa de Canido 217",
+ "latitude": 42.193041793,
+ "longitude": -8.797590453,
+ "lines": [
+ "C3d",
+ "10",
+ "11"
+ ]
+ },
+ {
+ "stopId": 3770,
+ "internalStopId": "3167",
+ "name": "Rúa de Canido 135",
+ "latitude": 42.1950348,
+ "longitude": -8.795701844,
+ "lines": [
+ "C3d",
+ "10",
+ "11"
+ ]
+ },
+ {
+ "stopId": 4690,
+ "internalStopId": "3259",
+ "name": "Estrada do Vao 153",
+ "latitude": 42.196307191,
+ "longitude": -8.790777973,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 4730,
+ "internalStopId": "3263",
+ "name": "Estrada do Vao 91",
+ "latitude": 42.19405266,
+ "longitude": -8.78551292,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 4710,
+ "internalStopId": "3261",
+ "name": "Estrada do Vao 65",
+ "latitude": 42.194064592,
+ "longitude": -8.781224067,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 4670,
+ "internalStopId": "3257",
+ "name": "Estrada do Vao 27",
+ "latitude": 42.193836069,
+ "longitude": -8.776441689,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 3490,
+ "internalStopId": "3137",
+ "name": "Estrada de Camposancos 171",
+ "latitude": 42.193613504,
+ "longitude": -8.772222574,
+ "lines": [
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 3450,
+ "internalStopId": "3133",
+ "name": "Estrada de Camposancos 155",
+ "latitude": 42.194732286,
+ "longitude": -8.769245322,
+ "lines": [
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 3480,
+ "internalStopId": "3136",
+ "name": "Estrada de Camposancos 141",
+ "latitude": 42.196095467,
+ "longitude": -8.766230519,
+ "lines": [
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 20211,
+ "internalStopId": "5531",
+ "name": "Estrada de Camposancos 109",
+ "latitude": 42.198422825,
+ "longitude": -8.762538026,
+ "lines": [
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 3520,
+ "internalStopId": "3140",
+ "name": "Estrada de Camposancos 75",
+ "latitude": 42.200000035,
+ "longitude": -8.759107913,
+ "lines": [
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 3460,
+ "internalStopId": "3134",
+ "name": "Estrada de Camposancos 19",
+ "latitude": 42.203197031,
+ "longitude": -8.753437723,
+ "lines": [
+ "11",
+ "29"
+ ]
+ },
+ {
+ "stopId": 14189,
+ "internalStopId": "3810",
+ "name": "Rúa Molais 84",
+ "latitude": 42.226081487,
+ "longitude": -8.654133203,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 6280,
+ "internalStopId": "3422",
+ "name": "Rúa Molais (Parque da Grileira)",
+ "latitude": 42.223843943,
+ "longitude": -8.65334865,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 2210,
+ "internalStopId": "3004",
+ "name": "Avda. de Santa Mariña 137",
+ "latitude": 42.222538699,
+ "longitude": -8.656616496,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 14183,
+ "internalStopId": "3804",
+ "name": "Rúa do Xalón (Colexio)",
+ "latitude": 42.220622235,
+ "longitude": -8.654888024,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 14273,
+ "internalStopId": "3894",
+ "name": "Rúa do Xalón 41",
+ "latitude": 42.219274062,
+ "longitude": -8.656419893,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 14184,
+ "internalStopId": "3805",
+ "name": "Rúa do Xalón 5",
+ "latitude": 42.217384986,
+ "longitude": -8.657082399,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 14185,
+ "internalStopId": "3806",
+ "name": "Rúa da Becerreira 81",
+ "latitude": 42.219667098,
+ "longitude": -8.659470523,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 14188,
+ "internalStopId": "3809",
+ "name": "Rúa da Becerreira 41",
+ "latitude": 42.217595578,
+ "longitude": -8.661414166,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 14186,
+ "internalStopId": "3807",
+ "name": "Rúa da Becerreira (fronte 64)",
+ "latitude": 42.218044517,
+ "longitude": -8.662618478,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 14187,
+ "internalStopId": "3808",
+ "name": "Rúa da Becerreira 1",
+ "latitude": 42.221588029,
+ "longitude": -8.662035851,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 2240,
+ "internalStopId": "3007",
+ "name": "Avda. de Santa Mariña 77",
+ "latitude": 42.222432209,
+ "longitude": -8.662773458,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 14415,
+ "internalStopId": "4034",
+ "name": "Avda. de Santa Mariña (antes 49)",
+ "latitude": 42.221557416,
+ "longitude": -8.665381534,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 2220,
+ "internalStopId": "3005",
+ "name": "Avda. de Santa Mariña 17",
+ "latitude": 42.220338634,
+ "longitude": -8.668666271,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 1540,
+ "internalStopId": "2937",
+ "name": "Avda. da Ponte 15",
+ "latitude": 42.221677429,
+ "longitude": -8.66978207,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 1550,
+ "internalStopId": "2938",
+ "name": "Avda. da Ponte 18",
+ "latitude": 42.221299207,
+ "longitude": -8.670013709,
+ "lines": [
+ "11",
+ "15A",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 2260,
+ "internalStopId": "3009",
+ "name": "Avda. de Santa Mariña 18",
+ "latitude": 42.220504663,
+ "longitude": -8.668053014,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 14414,
+ "internalStopId": "4033",
+ "name": "Avda. de Santa Mariña 40",
+ "latitude": 42.221587211,
+ "longitude": -8.665078444,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 2230,
+ "internalStopId": "3006",
+ "name": "Avda. de Santa Mariña 52",
+ "latitude": 42.222347963,
+ "longitude": -8.662841482,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 20080,
+ "internalStopId": "4152",
+ "name": "Avda. de Santa Mariña 68",
+ "latitude": 42.221674556,
+ "longitude": -8.660937347,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 2250,
+ "internalStopId": "3008",
+ "name": "Avda. de Santa Mariña (cruce Camiño do Narxo)",
+ "latitude": 42.220826115,
+ "longitude": -8.659651094,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 2200,
+ "internalStopId": "3003",
+ "name": "Avda. de Santa Mariña 110",
+ "latitude": 42.22271748,
+ "longitude": -8.656176614,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 2270,
+ "internalStopId": "3010",
+ "name": "Avda. de Santa Mariña 103",
+ "latitude": 42.22113201,
+ "longitude": -8.658591621,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 20082,
+ "internalStopId": "4154",
+ "name": "Avda. de Santa Mariña (fronte 66)",
+ "latitude": 42.221758032,
+ "longitude": -8.661135597,
+ "lines": [
+ "11"
+ ]
+ },
+ {
+ "stopId": 7870,
+ "internalStopId": "3597",
+ "name": "Baixada á Praia 4",
+ "latitude": 42.166897971,
+ "longitude": -8.802204658,
+ "lines": [
+ "C3d",
+ "10",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 2340,
+ "internalStopId": "3017",
+ "name": "Baixada á Praia 44",
+ "latitude": 42.167981444,
+ "longitude": -8.806504239,
+ "lines": [
+ "C3d",
+ "10",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 2350,
+ "internalStopId": "3018",
+ "name": "Baixada á Praia 74",
+ "latitude": 42.169850316,
+ "longitude": -8.808861828,
+ "lines": [
+ "C3d",
+ "10",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 2370,
+ "internalStopId": "3020",
+ "name": "Baixada á Praia 94",
+ "latitude": 42.172705652,
+ "longitude": -8.809114415,
+ "lines": [
+ "C3d",
+ "10",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 2310,
+ "internalStopId": "3014",
+ "name": "Baixada á Praia (fronte 187)",
+ "latitude": 42.173398721,
+ "longitude": -8.811050666,
+ "lines": [
+ "C3d",
+ "10",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 650,
+ "internalStopId": "2848",
+ "name": "Avda. de Ricardo Mella 289",
+ "latitude": 42.181065441,
+ "longitude": -8.807509871,
+ "lines": [
+ "C3d",
+ "10",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 600,
+ "internalStopId": "2843",
+ "name": "Avda. de Ricardo Mella 273",
+ "latitude": 42.189927171,
+ "longitude": -8.800634184,
+ "lines": [
+ "C3d",
+ "10",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 310,
+ "internalStopId": "2812",
+ "name": "Rúa do Arquitecto Antonio Cominges 4",
+ "latitude": 42.190850463,
+ "longitude": -8.80358845,
+ "lines": [
+ "C3d",
+ "10"
+ ]
+ },
+ {
+ "stopId": 280,
+ "internalStopId": "2809",
+ "name": "Rúa do Arquitecto Antonio Cominges 38",
+ "latitude": 42.189490674,
+ "longitude": -8.808107114,
+ "lines": [
+ "C3d",
+ "10"
+ ]
+ },
+ {
+ "stopId": 320,
+ "internalStopId": "2813",
+ "name": "Rúa do Arquitecto Antonio Cominges 70",
+ "latitude": 42.189221331,
+ "longitude": -8.811730246,
+ "lines": [
+ "C3d",
+ "10"
+ ]
+ },
+ {
+ "stopId": 330,
+ "internalStopId": "2814",
+ "name": "Rúa do Arquitecto Antonio Cominges 90",
+ "latitude": 42.187213169,
+ "longitude": -8.813069201,
+ "lines": [
+ "C3d",
+ "10"
+ ]
+ },
+ {
+ "stopId": 270,
+ "internalStopId": "2808",
+ "name": "Rúa de Desiderio Pernas Arquitecto 1",
+ "latitude": 42.18920151,
+ "longitude": -8.810340862,
+ "lines": [
+ "C3d",
+ "10"
+ ]
+ },
+ {
+ "stopId": 290,
+ "internalStopId": "2810",
+ "name": "Rúa do Arquitecto Gómez Román 37",
+ "latitude": 42.190149471,
+ "longitude": -8.803788225,
+ "lines": [
+ "C3d",
+ "10"
+ ]
+ },
+ {
+ "stopId": 3740,
+ "internalStopId": "3164",
+ "name": "Rúa de Canido (Igrexa)",
+ "latitude": 42.197431882,
+ "longitude": -8.790144971,
+ "lines": [
+ "C3d",
+ "4C",
+ "10"
+ ]
+ },
+ {
+ "stopId": 3810,
+ "internalStopId": "3171",
+ "name": "Rúa de Canido 55",
+ "latitude": 42.200106486,
+ "longitude": -8.785121194,
+ "lines": [
+ "C3d",
+ "4C",
+ "10"
+ ]
+ },
+ {
+ "stopId": 3790,
+ "internalStopId": "3169",
+ "name": "Rúa de Canido 15",
+ "latitude": 42.201898697,
+ "longitude": -8.781706742,
+ "lines": [
+ "C3d",
+ "4C",
+ "10"
+ ]
+ },
+ {
+ "stopId": 14362,
+ "internalStopId": "3982",
+ "name": "Avda. de Samil 101",
+ "latitude": 42.202937872,
+ "longitude": -8.776830486,
+ "lines": [
+ "C3d",
+ "4C",
+ "10"
+ ]
+ },
+ {
+ "stopId": 2190,
+ "internalStopId": "3002",
+ "name": "Avda. de Samil 81",
+ "latitude": 42.205147646,
+ "longitude": -8.77674534,
+ "lines": [
+ "C3d",
+ "4C",
+ "10"
+ ]
+ },
+ {
+ "stopId": 2180,
+ "internalStopId": "3001",
+ "name": "Avda. de Samil 67",
+ "latitude": 42.206809895,
+ "longitude": -8.776206766,
+ "lines": [
+ "C3d",
+ "4C",
+ "10"
+ ]
+ },
+ {
+ "stopId": 2170,
+ "internalStopId": "3000",
+ "name": "Avda. de Samil 35",
+ "latitude": 42.210171416,
+ "longitude": -8.774585056,
+ "lines": [
+ "C3d",
+ "4C",
+ "10"
+ ]
+ },
+ {
+ "stopId": 2140,
+ "internalStopId": "2997",
+ "name": "Avda. de Samil (Verbum)",
+ "latitude": 42.213799707,
+ "longitude": -8.774374426,
+ "lines": [
+ "10",
+ "15B",
+ "15C",
+ "TUR"
+ ]
+ },
+ {
+ "stopId": 2160,
+ "internalStopId": "2999",
+ "name": "Avda. de Samil 15",
+ "latitude": 42.215907608,
+ "longitude": -8.774702031,
+ "lines": [
+ "10",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 14171,
+ "internalStopId": "3792",
+ "name": "Avda. de Samil (fronte Praia da Punta)",
+ "latitude": 42.218844713,
+ "longitude": -8.775459221,
+ "lines": [
+ "10",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 2150,
+ "internalStopId": "2998",
+ "name": "Avda. de Samil (fronte Praia da Fonte)",
+ "latitude": 42.221416498,
+ "longitude": -8.773724153,
+ "lines": [
+ "10",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 990,
+ "internalStopId": "2882",
+ "name": "Avda. da Atlántida (fronte 148)",
+ "latitude": 42.222451366,
+ "longitude": -8.769134894,
+ "lines": [
+ "10",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 1000,
+ "internalStopId": "2883",
+ "name": "Avda. da Atlántida 109",
+ "latitude": 42.221200996,
+ "longitude": -8.766970402,
+ "lines": [
+ "10",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 980,
+ "internalStopId": "2881",
+ "name": "Avda. da Atlántida 105",
+ "latitude": 42.22104904,
+ "longitude": -8.76483263,
+ "lines": [
+ "10",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 1050,
+ "internalStopId": "2888",
+ "name": "Avda. da Atlántida 71",
+ "latitude": 42.221875354,
+ "longitude": -8.760935381,
+ "lines": [
+ "10",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 14268,
+ "internalStopId": "3889",
+ "name": "Avda. da Atlántida 49",
+ "latitude": 42.221731945,
+ "longitude": -8.758417175,
+ "lines": [
+ "10",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 1030,
+ "internalStopId": "2886",
+ "name": "Avda. da Atlántida 25",
+ "latitude": 42.223219677,
+ "longitude": -8.754753277,
+ "lines": [
+ "10",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 3270,
+ "internalStopId": "3114",
+ "name": "Rúa da Coruña (fronte 39)",
+ "latitude": 42.226490285,
+ "longitude": -8.73744901,
+ "lines": [
+ "10",
+ "15B"
+ ]
+ },
+ {
+ "stopId": 1210,
+ "internalStopId": "2904",
+ "name": "Avda. de Beiramar 61",
+ "latitude": 42.230811976,
+ "longitude": -8.735364934,
+ "lines": [
+ "10",
+ "15B"
+ ]
+ },
+ {
+ "stopId": 1200,
+ "internalStopId": "2903",
+ "name": "Avda. de Beiramar 51",
+ "latitude": 42.234233798,
+ "longitude": -8.73312316,
+ "lines": [
+ "10",
+ "15B"
+ ]
+ },
+ {
+ "stopId": 20062,
+ "internalStopId": "4134",
+ "name": "Avda. de Beiramar 1",
+ "latitude": 42.236143706,
+ "longitude": -8.73180718,
+ "lines": [
+ "10",
+ "15B"
+ ]
+ },
+ {
+ "stopId": 14107,
+ "internalStopId": "3730",
+ "name": "Camiño Padín (Rotonda Autoestrada)",
+ "latitude": 42.257847205,
+ "longitude": -8.677696507,
+ "lines": [
+ "10"
+ ]
+ },
+ {
+ "stopId": 6780,
+ "internalStopId": "3477",
+ "name": "Avda. de Samil (Dunas)",
+ "latitude": 42.210256843,
+ "longitude": -8.774740625,
+ "lines": [
+ "10"
+ ]
+ },
+ {
+ "stopId": 6810,
+ "internalStopId": "3480",
+ "name": "Avda. de Samil (Parking)",
+ "latitude": 42.207405928,
+ "longitude": -8.776153122,
+ "lines": [
+ "10"
+ ]
+ },
+ {
+ "stopId": 6820,
+ "internalStopId": "3481",
+ "name": "Avda. de Samil (Polideportivo)",
+ "latitude": 42.20362713,
+ "longitude": -8.777027535,
+ "lines": [
+ "10"
+ ]
+ },
+ {
+ "stopId": 6760,
+ "internalStopId": "3475",
+ "name": "Rúa de Canido (Praia da Calzoa)",
+ "latitude": 42.201847037,
+ "longitude": -8.782205633,
+ "lines": [
+ "10"
+ ]
+ },
+ {
+ "stopId": 3800,
+ "internalStopId": "3170",
+ "name": "Rúa de Canido 26",
+ "latitude": 42.199639519,
+ "longitude": -8.785727373,
+ "lines": [
+ "10"
+ ]
+ },
+ {
+ "stopId": 6830,
+ "internalStopId": "3482",
+ "name": "Praia do Vao",
+ "latitude": 42.197495083,
+ "longitude": -8.790235556,
+ "lines": [
+ "10"
+ ]
+ },
+ {
+ "stopId": 20212,
+ "internalStopId": "5533",
+ "name": "Rúa do Canabido 18",
+ "latitude": 42.188388732,
+ "longitude": -8.805956864,
+ "lines": [
+ "10"
+ ]
+ },
+ {
+ "stopId": 560,
+ "internalStopId": "2838",
+ "name": "Avda. de Ricardo Mella 518",
+ "latitude": 42.181015915,
+ "longitude": -8.807696921,
+ "lines": [
+ "10"
+ ]
+ },
+ {
+ "stopId": 2330,
+ "internalStopId": "3016",
+ "name": "Avda. de Ricardo Mella 357",
+ "latitude": 42.173316968,
+ "longitude": -8.81100291,
+ "lines": [
+ "10"
+ ]
+ },
+ {
+ "stopId": 2320,
+ "internalStopId": "3015",
+ "name": "Baixada á Praia 121",
+ "latitude": 42.172541892,
+ "longitude": -8.809133287,
+ "lines": [
+ "10"
+ ]
+ },
+ {
+ "stopId": 2380,
+ "internalStopId": "3021",
+ "name": "Baixada á Praia 101",
+ "latitude": 42.169719111,
+ "longitude": -8.808832324,
+ "lines": [
+ "10"
+ ]
+ },
+ {
+ "stopId": 2360,
+ "internalStopId": "3019",
+ "name": "Baixada á Praia (Parque C.Cívico)",
+ "latitude": 42.167825345,
+ "longitude": -8.806386831,
+ "lines": [
+ "10"
+ ]
+ },
+ {
+ "stopId": 14174,
+ "internalStopId": "3795",
+ "name": "Rúa do Padre Seixas (Parque da Bouza)",
+ "latitude": 42.211844516,
+ "longitude": -8.749287921,
+ "lines": [
+ "11",
+ "16"
+ ]
+ },
+ {
+ "stopId": 20090,
+ "internalStopId": "4162",
+ "name": "Porriño - Padre Seixas",
+ "latitude": 42.213084152,
+ "longitude": -8.751245933,
+ "lines": [
+ "11",
+ "16"
+ ]
+ },
+ {
+ "stopId": 6290,
+ "internalStopId": "3423",
+ "name": "Rúa de San Paio (cruce Rúa Muíños)",
+ "latitude": 42.202031781,
+ "longitude": -8.769502424,
+ "lines": [
+ "4A",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 7900,
+ "internalStopId": "3600",
+ "name": "Rúa de San Paio (cruce Camiño da Quintela)",
+ "latitude": 42.20492472,
+ "longitude": -8.768904292,
+ "lines": [
+ "4A",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 7910,
+ "internalStopId": "3601",
+ "name": "Rúa de San Paio (Igrexa)",
+ "latitude": 42.208040013,
+ "longitude": -8.767458581,
+ "lines": [
+ "4A",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 7920,
+ "internalStopId": "3602",
+ "name": "Rúa de San Paio (Torreiro)",
+ "latitude": 42.208926096,
+ "longitude": -8.765294038,
+ "lines": [
+ "4A",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 14402,
+ "internalStopId": "4021",
+ "name": "Rúa de San Paio 111",
+ "latitude": 42.210791203,
+ "longitude": -8.761940347,
+ "lines": [
+ "4A",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 8000,
+ "internalStopId": "3610",
+ "name": "Rúa de San Paio 83",
+ "latitude": 42.212034517,
+ "longitude": -8.760916715,
+ "lines": [
+ "4A",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 7970,
+ "internalStopId": "3607",
+ "name": "Rúa de San Paio (fronte 58)",
+ "latitude": 42.213820465,
+ "longitude": -8.760651176,
+ "lines": [
+ "4A",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 2020,
+ "internalStopId": "2985",
+ "name": "Avda. de Madrid 2",
+ "latitude": 42.228518615,
+ "longitude": -8.719214126,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 2030,
+ "internalStopId": "2986",
+ "name": "Avda. de Madrid 28",
+ "latitude": 42.226744428,
+ "longitude": -8.716268699,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 1960,
+ "internalStopId": "2979",
+ "name": "Avda. de Madrid 62",
+ "latitude": 42.224676782,
+ "longitude": -8.711832326,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "U2",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 1990,
+ "internalStopId": "2982",
+ "name": "Avda. de Madrid (cruce Camiño do Raviso)",
+ "latitude": 42.222130198,
+ "longitude": -8.708300774,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 1950,
+ "internalStopId": "2978",
+ "name": "Avda. de Madrid 124",
+ "latitude": 42.220567154,
+ "longitude": -8.706419628,
+ "lines": [
+ "12A",
+ "12B",
+ "13"
+ ]
+ },
+ {
+ "stopId": 1940,
+ "internalStopId": "2977",
+ "name": "Avda. de Madrid 136",
+ "latitude": 42.218338954,
+ "longitude": -8.703817429,
+ "lines": [
+ "12A",
+ "12B",
+ "13"
+ ]
+ },
+ {
+ "stopId": 1980,
+ "internalStopId": "2981",
+ "name": "Estrada de Madrid (Seminario)",
+ "latitude": 42.214703324,
+ "longitude": -8.699378397,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 4750,
+ "internalStopId": "3265",
+ "name": "Estrada Vella de Madrid 6",
+ "latitude": 42.213983883,
+ "longitude": -8.697464269,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "U2",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 4760,
+ "internalStopId": "3266",
+ "name": "Estrada Vella de Madrid 34",
+ "latitude": 42.216359908,
+ "longitude": -8.693040769,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "U2",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 4840,
+ "internalStopId": "3274",
+ "name": "Estrada Vella de Madrid 76",
+ "latitude": 42.218745617,
+ "longitude": -8.689009409,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "U2",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 20096,
+ "internalStopId": "4168",
+ "name": "Estrada Vella de Madrid (fronte 107A)",
+ "latitude": 42.219128991,
+ "longitude": -8.685753208,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "U2",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 4770,
+ "internalStopId": "3267",
+ "name": "Estrada Vella de Madrid 104",
+ "latitude": 42.219822923,
+ "longitude": -8.684198247,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "31",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 4780,
+ "internalStopId": "3268",
+ "name": "Estrada Vella de Madrid 136",
+ "latitude": 42.220845201,
+ "longitude": -8.680581909,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "31",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 4800,
+ "internalStopId": "3270",
+ "name": "Estrada Vella de Madrid 160",
+ "latitude": 42.218049288,
+ "longitude": -8.679899408,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "31",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 3980,
+ "internalStopId": "3188",
+ "name": "Estrada Vella de Madrid (cruce Hospital)",
+ "latitude": 42.21620386,
+ "longitude": -8.681570425,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "15B",
+ "15C",
+ "31",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 5790,
+ "internalStopId": "3370",
+ "name": "Hospital do Meixoeiro",
+ "latitude": 42.214534062,
+ "longitude": -8.684756053,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "15B",
+ "15C",
+ "31"
+ ]
+ },
+ {
+ "stopId": 3960,
+ "internalStopId": "3186",
+ "name": "Baixada do Castelo",
+ "latitude": 42.213984907,
+ "longitude": -8.682160511,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "15B",
+ "15C",
+ "31"
+ ]
+ },
+ {
+ "stopId": 4850,
+ "internalStopId": "3275",
+ "name": "Estrada Vella de Madrid (frente Centro Comercial)",
+ "latitude": 42.216448197,
+ "longitude": -8.68163748,
+ "lines": [
+ "12A",
+ "13",
+ "31"
+ ]
+ },
+ {
+ "stopId": 4810,
+ "internalStopId": "3271",
+ "name": "Estrada Vella de Madrid 177",
+ "latitude": 42.21827574,
+ "longitude": -8.679588272,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "31"
+ ]
+ },
+ {
+ "stopId": 14304,
+ "internalStopId": "3925",
+ "name": "Estrada Vella de Madrid 145",
+ "latitude": 42.221313975,
+ "longitude": -8.681944471,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "31"
+ ]
+ },
+ {
+ "stopId": 4790,
+ "internalStopId": "3269",
+ "name": "Estrada Vella de Madrid 123",
+ "latitude": 42.220436017,
+ "longitude": -8.683690589,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "31"
+ ]
+ },
+ {
+ "stopId": 20095,
+ "internalStopId": "4167",
+ "name": "Estrada Vella de Madrid 107A",
+ "latitude": 42.219212419,
+ "longitude": -8.685836356,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 4830,
+ "internalStopId": "3273",
+ "name": "Estrada Vella de Madrid 81",
+ "latitude": 42.218719793,
+ "longitude": -8.690012555,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 4820,
+ "internalStopId": "3272",
+ "name": "Estrada Vella de Madrid 31",
+ "latitude": 42.216687676,
+ "longitude": -8.693917852,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 14302,
+ "internalStopId": "3923",
+ "name": "Estrada Vella de Madrid 7",
+ "latitude": 42.214542094,
+ "longitude": -8.696431619,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 1930,
+ "internalStopId": "2976",
+ "name": "Estrada de Madrid (fronte Seminario)",
+ "latitude": 42.21474886,
+ "longitude": -8.69897918,
+ "lines": [
+ "12A",
+ "12B",
+ "13",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 2010,
+ "internalStopId": "2984",
+ "name": "Avda. de Madrid 195",
+ "latitude": 42.218213283,
+ "longitude": -8.703163426,
+ "lines": [
+ "12A",
+ "12B",
+ "13"
+ ]
+ },
+ {
+ "stopId": 2000,
+ "internalStopId": "2983",
+ "name": "Avda. de Madrid 133",
+ "latitude": 42.220728012,
+ "longitude": -8.70612292,
+ "lines": [
+ "12A",
+ "12B",
+ "13"
+ ]
+ },
+ {
+ "stopId": 1970,
+ "internalStopId": "2980",
+ "name": "Avda. de Madrid 57",
+ "latitude": 42.223965709,
+ "longitude": -8.710062068,
+ "lines": [
+ "12A",
+ "12B",
+ "13"
+ ]
+ },
+ {
+ "stopId": 2040,
+ "internalStopId": "2987",
+ "name": "Avda. de Madrid (trasera Colexio Hogar)",
+ "latitude": 42.226835791,
+ "longitude": -8.715823453,
+ "lines": [
+ "12A",
+ "12B",
+ "13"
+ ]
+ },
+ {
+ "stopId": 14177,
+ "internalStopId": "3798",
+ "name": "Rúa de Fernando Conde (cruce Avda. da Gran Vía)",
+ "latitude": 42.22985125,
+ "longitude": -8.71972059,
+ "lines": [
+ "12A",
+ "14",
+ "27"
+ ]
+ },
+ {
+ "stopId": 3350,
+ "internalStopId": "3122",
+ "name": "Rúa do Couto 1",
+ "latitude": 42.230911796,
+ "longitude": -8.722711253,
+ "lines": [
+ "12A",
+ "27"
+ ]
+ },
+ {
+ "stopId": 14178,
+ "internalStopId": "3799",
+ "name": "Rúa do Marqués de Alcedo (Parque)",
+ "latitude": 42.233009005,
+ "longitude": -8.724497604,
+ "lines": [
+ "12A",
+ "27"
+ ]
+ },
+ {
+ "stopId": 7980,
+ "internalStopId": "3608",
+ "name": "Rúa de San Paio 54",
+ "latitude": 42.21430717,
+ "longitude": -8.760710185,
+ "lines": [
+ "4A",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 7990,
+ "internalStopId": "3609",
+ "name": "Rúa de San Paio 76",
+ "latitude": 42.212612622,
+ "longitude": -8.760868435,
+ "lines": [
+ "4A",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 14401,
+ "internalStopId": "4020",
+ "name": "Rúa de San Paio (cruce Camiño Barroca)",
+ "latitude": 42.21072167,
+ "longitude": -8.76212542,
+ "lines": [
+ "4A",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 7930,
+ "internalStopId": "3603",
+ "name": "Rúa de San Paio 136",
+ "latitude": 42.208999211,
+ "longitude": -8.765346753,
+ "lines": [
+ "4A",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 7940,
+ "internalStopId": "3604",
+ "name": "Rúa de San Paio 220",
+ "latitude": 42.207987966,
+ "longitude": -8.767688321,
+ "lines": [
+ "4A",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 7950,
+ "internalStopId": "3605",
+ "name": "Rúa de San Paio 242",
+ "latitude": 42.206253649,
+ "longitude": -8.768742472,
+ "lines": [
+ "4A",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 7960,
+ "internalStopId": "3606",
+ "name": "Rúa de San Paio 284",
+ "latitude": 42.202111343,
+ "longitude": -8.769560881,
+ "lines": [
+ "4A",
+ "12A"
+ ]
+ },
+ {
+ "stopId": 7500,
+ "internalStopId": "3553",
+ "name": "Rúa do Carballal 18",
+ "latitude": 42.196388225,
+ "longitude": -8.684151676,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7490,
+ "internalStopId": "3552",
+ "name": "Rúa do Carballal 52",
+ "latitude": 42.194091099,
+ "longitude": -8.683392611,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7760,
+ "internalStopId": "3583",
+ "name": "Camiño das Cunchadas (cruce Rúa da Senra)",
+ "latitude": 42.193300199,
+ "longitude": -8.681021538,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7620,
+ "internalStopId": "3565",
+ "name": "Rúa das Chans 97",
+ "latitude": 42.189146758,
+ "longitude": -8.678708548,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 14154,
+ "internalStopId": "3775",
+ "name": "Rúa das Chans (fronte 56)",
+ "latitude": 42.19360258,
+ "longitude": -8.677258993,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7610,
+ "internalStopId": "3564",
+ "name": "Rúa das Chans (Colexio)",
+ "latitude": 42.196647395,
+ "longitude": -8.677801904,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7600,
+ "internalStopId": "3563",
+ "name": "Rúa dos Chans (cruce Subida Chans)",
+ "latitude": 42.198544554,
+ "longitude": -8.677824939,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 8230,
+ "internalStopId": "3633",
+ "name": "Rúa dos Chans (cruce Camiño Regada)",
+ "latitude": 42.199146625,
+ "longitude": -8.676419461,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 14330,
+ "internalStopId": "3950",
+ "name": "Subida ás Chans (fronte cruce Rúa Senra)",
+ "latitude": 42.198072667,
+ "longitude": -8.682624653,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7470,
+ "internalStopId": "3550",
+ "name": "Rúa Da Cruz 63",
+ "latitude": 42.198206824,
+ "longitude": -8.684878336,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 6900,
+ "internalStopId": "3490",
+ "name": "Rúa da Cruz 49",
+ "latitude": 42.199031443,
+ "longitude": -8.686165797,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7480,
+ "internalStopId": "3551",
+ "name": "Rúa Da Cruz 19",
+ "latitude": 42.200729887,
+ "longitude": -8.684258964,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7430,
+ "internalStopId": "3546",
+ "name": "Rúa da Cruz 1",
+ "latitude": 42.202173388,
+ "longitude": -8.684663005,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 3630,
+ "internalStopId": "3153",
+ "name": "Estrada de Bembrive 269",
+ "latitude": 42.20274418,
+ "longitude": -8.684443742,
+ "lines": [
+ "6",
+ "14"
+ ]
+ },
+ {
+ "stopId": 14111,
+ "internalStopId": "3734",
+ "name": "Estrada de Bembrive (Centro Saúde)",
+ "latitude": 42.204262657,
+ "longitude": -8.684801801,
+ "lines": [
+ "6",
+ "14"
+ ]
+ },
+ {
+ "stopId": 3610,
+ "internalStopId": "3151",
+ "name": "Estrada de Bembrive 237",
+ "latitude": 42.204446407,
+ "longitude": -8.68809021,
+ "lines": [
+ "6",
+ "14"
+ ]
+ },
+ {
+ "stopId": 3590,
+ "internalStopId": "3149",
+ "name": "Estrada de Bembrive 195",
+ "latitude": 42.204458432,
+ "longitude": -8.690765895,
+ "lines": [
+ "6",
+ "14"
+ ]
+ },
+ {
+ "stopId": 14153,
+ "internalStopId": "3774",
+ "name": "Estrada de Bembrive 173",
+ "latitude": 42.205357233,
+ "longitude": -8.692495739,
+ "lines": [
+ "6",
+ "14"
+ ]
+ },
+ {
+ "stopId": 9010,
+ "internalStopId": "3717",
+ "name": "Rúa de Xeme 71",
+ "latitude": 42.203157887,
+ "longitude": -8.694293108,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 2460,
+ "internalStopId": "3029",
+ "name": "Rúa de Xeme 59",
+ "latitude": 42.203300943,
+ "longitude": -8.696320858,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 14411,
+ "internalStopId": "4030",
+ "name": "Rúa de Xeme 1",
+ "latitude": 42.205174543,
+ "longitude": -8.698209134,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 2750,
+ "internalStopId": "3059",
+ "name": "Rúa do Cacheno 28",
+ "latitude": 42.20671834,
+ "longitude": -8.699160127,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 2760,
+ "internalStopId": "3061",
+ "name": "Rúa do Cacheno 66",
+ "latitude": 42.208194443,
+ "longitude": -8.701518979,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 2410,
+ "internalStopId": "3024",
+ "name": "Baixada ao Río 31",
+ "latitude": 42.209020914,
+ "longitude": -8.702331689,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7070,
+ "internalStopId": "3508",
+ "name": "Estrada de Moledo 109",
+ "latitude": 42.210620188,
+ "longitude": -8.704177049,
+ "lines": [
+ "14",
+ "18A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 4240,
+ "internalStopId": "3214",
+ "name": "Estrada de Moledo 73",
+ "latitude": 42.212378349,
+ "longitude": -8.704729584,
+ "lines": [
+ "14",
+ "18A"
+ ]
+ },
+ {
+ "stopId": 4250,
+ "internalStopId": "3215",
+ "name": "Estrada de Moledo 25",
+ "latitude": 42.213377597,
+ "longitude": -8.70601168,
+ "lines": [
+ "14",
+ "18A"
+ ]
+ },
+ {
+ "stopId": 4230,
+ "internalStopId": "3213",
+ "name": "Estrada de Moledo 1",
+ "latitude": 42.215373761,
+ "longitude": -8.707378349,
+ "lines": [
+ "14",
+ "18A"
+ ]
+ },
+ {
+ "stopId": 7040,
+ "internalStopId": "3505",
+ "name": "Estrada de Miraflores 3",
+ "latitude": 42.218435348,
+ "longitude": -8.709924429,
+ "lines": [
+ "14",
+ "18A"
+ ]
+ },
+ {
+ "stopId": 7390,
+ "internalStopId": "3539",
+ "name": "Camiño do Raviso 35",
+ "latitude": 42.220167311,
+ "longitude": -8.706963864,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 20105,
+ "internalStopId": "4846",
+ "name": "Rúa de Emilia Pardo Bazán 121",
+ "latitude": 42.221232035,
+ "longitude": -8.709808647,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 4310,
+ "internalStopId": "3221",
+ "name": "Rúa de Emilia Pardo Bazán 111",
+ "latitude": 42.222713762,
+ "longitude": -8.711555806,
+ "lines": [
+ "14",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 4350,
+ "internalStopId": "3225",
+ "name": "Rúa de Emilia Pardo Bazán 43",
+ "latitude": 42.224562952,
+ "longitude": -8.713390437,
+ "lines": [
+ "14",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 4330,
+ "internalStopId": "3223",
+ "name": "Rúa de Emilia Pardo Bazán (cruce Baixada á Salgueira)",
+ "latitude": 42.226463146,
+ "longitude": -8.71614062,
+ "lines": [
+ "14",
+ "18A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 4290,
+ "internalStopId": "3219",
+ "name": "Rúa de Emilia Pardo Bazán 3",
+ "latitude": 42.227785739,
+ "longitude": -8.719460889,
+ "lines": [
+ "14",
+ "18A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 14150,
+ "internalStopId": "3772",
+ "name": "Rúa do Padre Don Rúa 1",
+ "latitude": 42.232076561,
+ "longitude": -8.719055236,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 4320,
+ "internalStopId": "3222",
+ "name": "Rúa de Emilia Pardo Bazán 2",
+ "latitude": 42.227716225,
+ "longitude": -8.719750568,
+ "lines": [
+ "14",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 4340,
+ "internalStopId": "3224",
+ "name": "Rúa de Emilia Pardo Bazán 54",
+ "latitude": 42.226112503,
+ "longitude": -8.715718376,
+ "lines": [
+ "14",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 4280,
+ "internalStopId": "3218",
+ "name": "Rúa de Emilia Pardo Bazán 80",
+ "latitude": 42.224507337,
+ "longitude": -8.713465538,
+ "lines": [
+ "14",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 4300,
+ "internalStopId": "3220",
+ "name": "Rúa de Emilia Pardo Bazán 104",
+ "latitude": 42.22278924,
+ "longitude": -8.711754289,
+ "lines": [
+ "14",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 20104,
+ "internalStopId": "4845",
+ "name": "Rúa de Emilia Pardo Bazán 134",
+ "latitude": 42.220938435,
+ "longitude": -8.709621883,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7380,
+ "internalStopId": "3538",
+ "name": "Camiño do Raviso 8",
+ "latitude": 42.220087856,
+ "longitude": -8.707014826,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7050,
+ "internalStopId": "3506",
+ "name": "Praza de Miraflores 1",
+ "latitude": 42.218502886,
+ "longitude": -8.710133641,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 4200,
+ "internalStopId": "3210",
+ "name": "Estrada de Moledo 6",
+ "latitude": 42.215236994,
+ "longitude": -8.707384971,
+ "lines": [
+ "14",
+ "18A"
+ ]
+ },
+ {
+ "stopId": 4220,
+ "internalStopId": "3212",
+ "name": "Estrada de Moledo 22",
+ "latitude": 42.213737557,
+ "longitude": -8.706283115,
+ "lines": [
+ "14",
+ "18A"
+ ]
+ },
+ {
+ "stopId": 4210,
+ "internalStopId": "3211",
+ "name": "Estrada de Moledo 42",
+ "latitude": 42.212141078,
+ "longitude": -8.704563545,
+ "lines": [
+ "14",
+ "18A"
+ ]
+ },
+ {
+ "stopId": 7060,
+ "internalStopId": "3507",
+ "name": "Estrada de Moledo 70",
+ "latitude": 42.210499286,
+ "longitude": -8.703983192,
+ "lines": [
+ "14",
+ "18A",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 2420,
+ "internalStopId": "3025",
+ "name": "Rúa do Cacheno (Lavadero)",
+ "latitude": 42.208468606,
+ "longitude": -8.702143934,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 2740,
+ "internalStopId": "3058",
+ "name": "Rúa do Cacheno 75",
+ "latitude": 42.207451401,
+ "longitude": -8.701194432,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 2770,
+ "internalStopId": "3062",
+ "name": "Rúa do Cacheno 49",
+ "latitude": 42.20648703,
+ "longitude": -8.698760561,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 14412,
+ "internalStopId": "4031",
+ "name": "Rúa de Xeme 6",
+ "latitude": 42.20497586,
+ "longitude": -8.697957006,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 14156,
+ "internalStopId": "3777",
+ "name": "Rúa de Xeme (cruce Camiño da Carballeira)",
+ "latitude": 42.203378431,
+ "longitude": -8.696666863,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 14157,
+ "internalStopId": "3778",
+ "name": "Rúa do Xeme (cruce Rúa de Eifonso)",
+ "latitude": 42.202979066,
+ "longitude": -8.694065121,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 3390,
+ "internalStopId": "3126",
+ "name": "Estrada de Bembrive 160",
+ "latitude": 42.205296644,
+ "longitude": -8.692558914,
+ "lines": [
+ "6",
+ "14"
+ ]
+ },
+ {
+ "stopId": 3580,
+ "internalStopId": "3148",
+ "name": "Estrada de Bembrive 180",
+ "latitude": 42.204440318,
+ "longitude": -8.690871804,
+ "lines": [
+ "6",
+ "14"
+ ]
+ },
+ {
+ "stopId": 2520,
+ "internalStopId": "3035",
+ "name": "Estrada de Bembrive 238",
+ "latitude": 42.204563665,
+ "longitude": -8.687025359,
+ "lines": [
+ "6",
+ "14"
+ ]
+ },
+ {
+ "stopId": 14112,
+ "internalStopId": "3735",
+ "name": "Estrada de Bembrive (Alameda)",
+ "latitude": 42.204047198,
+ "longitude": -8.684697288,
+ "lines": [
+ "6",
+ "14"
+ ]
+ },
+ {
+ "stopId": 7450,
+ "internalStopId": "3548",
+ "name": "Rúa da Cruz 2",
+ "latitude": 42.202168422,
+ "longitude": -8.68473908,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7440,
+ "internalStopId": "3547",
+ "name": "Rúa Da Cruz 18",
+ "latitude": 42.200640474,
+ "longitude": -8.684744444,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 6890,
+ "internalStopId": "3489",
+ "name": "Rúa da Cruz 36",
+ "latitude": 42.198959642,
+ "longitude": -8.68628496,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7460,
+ "internalStopId": "3549",
+ "name": "Rúa da Cruz 46",
+ "latitude": 42.19807525,
+ "longitude": -8.684800771,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 20220,
+ "internalStopId": "5557",
+ "name": "COIA - SAMIL",
+ "latitude": 42.213783955,
+ "longitude": -8.774372371,
+ "lines": [
+ "15A"
+ ]
+ },
+ {
+ "stopId": 1580,
+ "internalStopId": "2941",
+ "name": "Avda. da Ponte 54",
+ "latitude": 42.218393587,
+ "longitude": -8.669480106,
+ "lines": [
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 1510,
+ "internalStopId": "2934",
+ "name": "Avda. da Ponte 80",
+ "latitude": 42.215203365,
+ "longitude": -8.670416197,
+ "lines": [
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 3430,
+ "internalStopId": "3131",
+ "name": "Avda. da Ponte 86 (Cemiterio)",
+ "latitude": 42.215621206,
+ "longitude": -8.67221512,
+ "lines": [
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 14108,
+ "internalStopId": "3731",
+ "name": "Avda. da Ponte (antes desvío Autovía)",
+ "latitude": 42.21401741,
+ "longitude": -8.67133083,
+ "lines": [
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 1530,
+ "internalStopId": "2936",
+ "name": "Avda. da Ponte (fronte Grupo S. Gorxal)",
+ "latitude": 42.212814417,
+ "longitude": -8.670537674,
+ "lines": [
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 14291,
+ "internalStopId": "3912",
+ "name": "Avda. da Ponte (Vigo Memorial)",
+ "latitude": 42.209935219,
+ "longitude": -8.671464542,
+ "lines": [
+ "12B",
+ "15B",
+ "15C",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 9040,
+ "internalStopId": "3720",
+ "name": "Estrada das Plantas (cruce Camiño Monte Vello)",
+ "latitude": 42.20831564,
+ "longitude": -8.670282438,
+ "lines": [
+ "15B",
+ "15C",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 9020,
+ "internalStopId": "3718",
+ "name": "Xestoso",
+ "latitude": 42.207584622,
+ "longitude": -8.670108196,
+ "lines": [
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 20141,
+ "internalStopId": "5384",
+ "name": "Avda. da Ponte (fronte Vigo Memorial)",
+ "latitude": 42.21057897,
+ "longitude": -8.671171189,
+ "lines": [
+ "12B",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 5590,
+ "internalStopId": "3350",
+ "name": "Avda. da Ponte (Grupo S. Gorxal)",
+ "latitude": 42.213057463,
+ "longitude": -8.670479203,
+ "lines": [
+ "12B",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 14395,
+ "internalStopId": "4014",
+ "name": "Estrada de Madrid 217",
+ "latitude": 42.215601037,
+ "longitude": -8.675477665,
+ "lines": [
+ "12B",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 14138,
+ "internalStopId": "3761",
+ "name": "Estrada de Madrid (Campo de Fútbol)",
+ "latitude": 42.216459201,
+ "longitude": -8.678591709,
+ "lines": [
+ "12B",
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 3970,
+ "internalStopId": "3187",
+ "name": "Estrada Vella de Madrid 190",
+ "latitude": 42.215872123,
+ "longitude": -8.679765298,
+ "lines": [
+ "12B",
+ "15B",
+ "15C",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 572,
+ "internalStopId": "2840",
+ "name": "Estrada de Madrid 210",
+ "latitude": 42.214058797,
+ "longitude": -8.672946954,
+ "lines": [
+ "12B",
+ "15B",
+ "15C",
+ "U2"
+ ]
+ },
+ {
+ "stopId": 1520,
+ "internalStopId": "2935",
+ "name": "Avda. da Ponte 83",
+ "latitude": 42.215400704,
+ "longitude": -8.671308533,
+ "lines": [
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 1570,
+ "internalStopId": "2940",
+ "name": "Avda. da Ponte 47",
+ "latitude": 42.217957539,
+ "longitude": -8.669369577,
+ "lines": [
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 20002,
+ "internalStopId": "4074",
+ "name": "Samil por Torrecedeira",
+ "latitude": 42.213660664,
+ "longitude": -8.774571223,
+ "lines": [
+ "15C"
+ ]
+ },
+ {
+ "stopId": 20143,
+ "internalStopId": "5401",
+ "name": "Rúa das Teixugueiras (fronte 1)",
+ "latitude": 42.215448094,
+ "longitude": -8.756474306,
+ "lines": [
+ "15A",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 14336,
+ "internalStopId": "3956",
+ "name": "Rúa das Teixugueiras 8",
+ "latitude": 42.21447626,
+ "longitude": -8.75600551,
+ "lines": [
+ "13",
+ "15A"
+ ]
+ },
+ {
+ "stopId": 1560,
+ "internalStopId": "2939",
+ "name": "Avda. da Ponte 31",
+ "latitude": 42.219388605,
+ "longitude": -8.669172606,
+ "lines": [
+ "15A",
+ "15B"
+ ]
+ },
+ {
+ "stopId": 1120,
+ "internalStopId": "2895",
+ "name": "Avda. de Beiramar (fronte Casa do Mar)",
+ "latitude": 42.23416729,
+ "longitude": -8.733331094,
+ "lines": [
+ "6",
+ "9B",
+ "15B",
+ "28"
+ ]
+ },
+ {
+ "stopId": 1130,
+ "internalStopId": "2896",
+ "name": "Avda. de Beiramar (Peiraos auxiliares)",
+ "latitude": 42.231238831,
+ "longitude": -8.735255297,
+ "lines": [
+ "6",
+ "9B",
+ "15B",
+ "28"
+ ]
+ },
+ {
+ "stopId": 3260,
+ "internalStopId": "3113",
+ "name": "Rúa da Coruña 37",
+ "latitude": 42.226287696,
+ "longitude": -8.737475832,
+ "lines": [
+ "15B"
+ ]
+ },
+ {
+ "stopId": 20001,
+ "internalStopId": "4073",
+ "name": "Samil por Beiramar",
+ "latitude": 42.213957029,
+ "longitude": -8.774591463,
+ "lines": [
+ "15B"
+ ]
+ },
+ {
+ "stopId": 5260,
+ "internalStopId": "3316",
+ "name": "Rúa das Figueiras 22",
+ "latitude": 42.222838218,
+ "longitude": -8.667795118,
+ "lines": [
+ "15A",
+ "25"
+ ]
+ },
+ {
+ "stopId": 5180,
+ "internalStopId": "3308",
+ "name": "Rúa das Figueiras 96",
+ "latitude": 42.224562288,
+ "longitude": -8.66579419,
+ "lines": [
+ "15A",
+ "25"
+ ]
+ },
+ {
+ "stopId": 5190,
+ "internalStopId": "3309",
+ "name": "Rúa das Figueiras 124",
+ "latitude": 42.226051942,
+ "longitude": -8.663629647,
+ "lines": [
+ "15A",
+ "25"
+ ]
+ },
+ {
+ "stopId": 5200,
+ "internalStopId": "3310",
+ "name": "Rúa das Figueiras 138",
+ "latitude": 42.227533616,
+ "longitude": -8.661561664,
+ "lines": [
+ "15A",
+ "25"
+ ]
+ },
+ {
+ "stopId": 5220,
+ "internalStopId": "3312",
+ "name": "Rúa das Figueiras 190",
+ "latitude": 42.228984217,
+ "longitude": -8.658438326,
+ "lines": [
+ "15A",
+ "25"
+ ]
+ },
+ {
+ "stopId": 20191,
+ "internalStopId": "5506",
+ "name": "Rúa das Figueiras 200",
+ "latitude": 42.229676205,
+ "longitude": -8.657383392,
+ "lines": [
+ "15A",
+ "25"
+ ]
+ },
+ {
+ "stopId": 5230,
+ "internalStopId": "3313",
+ "name": "Rúa das Figueiras 254",
+ "latitude": 42.230261894,
+ "longitude": -8.653683012,
+ "lines": [
+ "15A",
+ "25"
+ ]
+ },
+ {
+ "stopId": 5210,
+ "internalStopId": "3311",
+ "name": "Rúa das Figueiras 139",
+ "latitude": 42.229165386,
+ "longitude": -8.658419905,
+ "lines": [
+ "15A"
+ ]
+ },
+ {
+ "stopId": 20089,
+ "internalStopId": "4161",
+ "name": "Porriño - Padre Seixas ©",
+ "latitude": 42.213044566,
+ "longitude": -8.751396835,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 14175,
+ "internalStopId": "3796",
+ "name": "Rúa do Padre Seixas 32",
+ "latitude": 42.211792864,
+ "longitude": -8.749617832,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 6370,
+ "internalStopId": "3432",
+ "name": "Rúa de Pablo Iglesias (Río)",
+ "latitude": 42.210130966,
+ "longitude": -8.744872428,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 6360,
+ "internalStopId": "3431",
+ "name": "Rúa de Pablo Iglesias (Colexio)",
+ "latitude": 42.211426266,
+ "longitude": -8.743166543,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 5060,
+ "internalStopId": "3296",
+ "name": "Estadio de Balaídos (Avda. do Fragoso)",
+ "latitude": 42.212676247,
+ "longitude": -8.739585545,
+ "lines": [
+ "16",
+ "23",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 20010,
+ "internalStopId": "4082",
+ "name": "Avda. de Balaídos 69",
+ "latitude": 42.212824845,
+ "longitude": -8.737161077,
+ "lines": [
+ "16",
+ "23",
+ "H"
+ ]
+ },
+ {
+ "stopId": 20011,
+ "internalStopId": "4083",
+ "name": "Avda. de Balaídos 11",
+ "latitude": 42.213089061,
+ "longitude": -8.733392573,
+ "lines": [
+ "16",
+ "23",
+ "H"
+ ]
+ },
+ {
+ "stopId": 14256,
+ "internalStopId": "3877",
+ "name": "Rúa de Zamora 89",
+ "latitude": 42.222198901,
+ "longitude": -8.728317834,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 14257,
+ "internalStopId": "3878",
+ "name": "Rúa de Zamora 71",
+ "latitude": 42.223448271,
+ "longitude": -8.725547112,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 14258,
+ "internalStopId": "3879",
+ "name": "Rúa de Zamora 51",
+ "latitude": 42.224870416,
+ "longitude": -8.723632015,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 14259,
+ "internalStopId": "3880",
+ "name": "Rúa de Zamora 31",
+ "latitude": 42.227088982,
+ "longitude": -8.721545256,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 14261,
+ "internalStopId": "3882",
+ "name": "Rúa de Zamora 1",
+ "latitude": 42.228644118,
+ "longitude": -8.720692314,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 14142,
+ "internalStopId": "3765",
+ "name": "Avda. da Hispanidade 22",
+ "latitude": 42.231463434,
+ "longitude": -8.728844425,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 14143,
+ "internalStopId": "3766",
+ "name": "Avda. da Hispanidade 38",
+ "latitude": 42.229753483,
+ "longitude": -8.729002675,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 14144,
+ "internalStopId": "3767",
+ "name": "Avda. da Hispanidade 82",
+ "latitude": 42.226760436,
+ "longitude": -8.727385303,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 14255,
+ "internalStopId": "3876",
+ "name": "Rúa do Pintor Colmeiro (Parque do Pintor Colmeiro)",
+ "latitude": 42.225111918,
+ "longitude": -8.726733526,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 14307,
+ "internalStopId": "3928",
+ "name": "Rúa do Pintor Colmeiro 11",
+ "latitude": 42.224464416,
+ "longitude": -8.727967343,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 7030,
+ "internalStopId": "3504",
+ "name": "Rúa de Manuel Castro 23",
+ "latitude": 42.212808952,
+ "longitude": -8.740022994,
+ "lines": [
+ "16",
+ "23",
+ "N4",
+ "LZH",
+ "PSA 1"
+ ]
+ },
+ {
+ "stopId": 6380,
+ "internalStopId": "3433",
+ "name": "Rúa de Pablo Iglesias 2",
+ "latitude": 42.211811672,
+ "longitude": -8.742420889,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 6390,
+ "internalStopId": "3434",
+ "name": "Rúa de Pablo Iglesias 20",
+ "latitude": 42.210204472,
+ "longitude": -8.74559126,
+ "lines": [
+ "16"
+ ]
+ },
+ {
+ "stopId": 430,
+ "internalStopId": "2824",
+ "name": "Rúa do Areal (Aduana)",
+ "latitude": 42.239341996,
+ "longitude": -8.720234413,
+ "lines": [
+ "A",
+ "6",
+ "9B",
+ "18A",
+ "24",
+ "28",
+ "H1"
+ ]
+ },
+ {
+ "stopId": 20022,
+ "internalStopId": "4094",
+ "name": "Rúa da Vía Norte (Hospital)",
+ "latitude": 42.234622237,
+ "longitude": -8.707758443,
+ "lines": [
+ "24"
+ ]
+ },
+ {
+ "stopId": 20023,
+ "internalStopId": "4095",
+ "name": "Rúa da Vía Norte - Est. Intermodal - C.C.",
+ "latitude": 42.234062973,
+ "longitude": -8.712195759,
+ "lines": [
+ "24"
+ ]
+ },
+ {
+ "stopId": 4000,
+ "internalStopId": "3190",
+ "name": "Estrada de Fragoselo 143",
+ "latitude": 42.182434997,
+ "longitude": -8.764713761,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 4030,
+ "internalStopId": "3193",
+ "name": "Estrada de Fragoselo 111",
+ "latitude": 42.184118753,
+ "longitude": -8.767049558,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 4020,
+ "internalStopId": "3192",
+ "name": "Estrada de Fragoselo 79",
+ "latitude": 42.187056187,
+ "longitude": -8.769605703,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 4510,
+ "internalStopId": "3241",
+ "name": "Rúa de Manuel Lago Lago (Colexio)",
+ "latitude": 42.187542924,
+ "longitude": -8.772887753,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 3280,
+ "internalStopId": "3115",
+ "name": "Rúa de Manuel Lago Lago 1",
+ "latitude": 42.188898503,
+ "longitude": -8.776299224,
+ "lines": [
+ "29"
+ ]
+ },
+ {
+ "stopId": 1110,
+ "internalStopId": "2894",
+ "name": "Praza Ribeira do Berbés",
+ "latitude": 42.237821273,
+ "longitude": -8.729666379,
+ "lines": [
+ "A",
+ "5B",
+ "6"
+ ]
+ },
+ {
+ "stopId": 6260,
+ "internalStopId": "3420",
+ "name": "Estrada da Balsa 3",
+ "latitude": 42.199568643,
+ "longitude": -8.741030554,
+ "lines": [
+ "12B",
+ "17"
+ ]
+ },
+ {
+ "stopId": 2960,
+ "internalStopId": "3082",
+ "name": "Rúa dos Canteiros 101",
+ "latitude": 42.20073699,
+ "longitude": -8.738895516,
+ "lines": [
+ "12B",
+ "17"
+ ]
+ },
+ {
+ "stopId": 3010,
+ "internalStopId": "3087",
+ "name": "Rúa dos Canteiros 73",
+ "latitude": 42.20121252,
+ "longitude": -8.735711467,
+ "lines": [
+ "12B",
+ "17"
+ ]
+ },
+ {
+ "stopId": 3000,
+ "internalStopId": "3086",
+ "name": "Rúa dos Canteiros 49",
+ "latitude": 42.201188677,
+ "longitude": -8.733208966,
+ "lines": [
+ "12B",
+ "17"
+ ]
+ },
+ {
+ "stopId": 2990,
+ "internalStopId": "3085",
+ "name": "Rúa dos Canteiros 9",
+ "latitude": 42.203792573,
+ "longitude": -8.729630723,
+ "lines": [
+ "12B",
+ "17"
+ ]
+ },
+ {
+ "stopId": 5000,
+ "internalStopId": "3290",
+ "name": "Rúa do Doutor Corbal 6",
+ "latitude": 42.250121395,
+ "longitude": -8.696122376,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 14404,
+ "internalStopId": "4023",
+ "name": "Rúa do Doutor Corbal 58",
+ "latitude": 42.251785642,
+ "longitude": -8.696871994,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 5020,
+ "internalStopId": "3292",
+ "name": "Rúa do Doutor Corbal 94",
+ "latitude": 42.254104511,
+ "longitude": -8.697655199,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 4970,
+ "internalStopId": "3287",
+ "name": "Rúa do Doutor Corbal 126",
+ "latitude": 42.255883312,
+ "longitude": -8.696812986,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 4980,
+ "internalStopId": "3288",
+ "name": "Rúa do Doutor Corbal 149",
+ "latitude": 42.257539061,
+ "longitude": -8.697019814,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 4960,
+ "internalStopId": "3286",
+ "name": "Rúa do Doutor Corbal 135",
+ "latitude": 42.256210875,
+ "longitude": -8.696882723,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 5010,
+ "internalStopId": "3291",
+ "name": "Rúa do Doutor Corbal 95",
+ "latitude": 42.254169539,
+ "longitude": -8.697752273,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 14403,
+ "internalStopId": "4022",
+ "name": "Rúa de Pedro Alvarado (cruce Camiño das Maceiras)",
+ "latitude": 42.25049654,
+ "longitude": -8.698390035,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 14408,
+ "internalStopId": "4027",
+ "name": "Rúa de Pedro Alvarado 5",
+ "latitude": 42.248885006,
+ "longitude": -8.698128758,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 14406,
+ "internalStopId": "4025",
+ "name": "Rúa de Enrique Lorenzo 32",
+ "latitude": 42.249462772,
+ "longitude": -8.699772952,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 14287,
+ "internalStopId": "3908",
+ "name": "Rúa Santa Tegra 67",
+ "latitude": 42.25020334,
+ "longitude": -8.701924083,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 14288,
+ "internalStopId": "3909",
+ "name": "Avda. de Guixar (fronte 23)",
+ "latitude": 42.249218849,
+ "longitude": -8.704807605,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 14289,
+ "internalStopId": "3910",
+ "name": "Rúa de Xulián Estévez (fronte 58)",
+ "latitude": 42.246484972,
+ "longitude": -8.705864005,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 14290,
+ "internalStopId": "3911",
+ "name": "Rúa de Xulián Estévez (fronte 18)",
+ "latitude": 42.244107542,
+ "longitude": -8.706343638,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 2950,
+ "internalStopId": "3081",
+ "name": "Rúa dos Canteiros 4",
+ "latitude": 42.204307169,
+ "longitude": -8.729719236,
+ "lines": [
+ "12B",
+ "17"
+ ]
+ },
+ {
+ "stopId": 3020,
+ "internalStopId": "3088",
+ "name": "Rúa dos Canteiros 76",
+ "latitude": 42.201218481,
+ "longitude": -8.733509374,
+ "lines": [
+ "12B",
+ "17"
+ ]
+ },
+ {
+ "stopId": 2970,
+ "internalStopId": "3083",
+ "name": "Rúa dos Canteiros 116",
+ "latitude": 42.201317829,
+ "longitude": -8.735636365,
+ "lines": [
+ "12B",
+ "17"
+ ]
+ },
+ {
+ "stopId": 2980,
+ "internalStopId": "3084",
+ "name": "Rúa dos Canteiros 164",
+ "latitude": 42.200758846,
+ "longitude": -8.739043037,
+ "lines": [
+ "12B",
+ "17"
+ ]
+ },
+ {
+ "stopId": 6050,
+ "internalStopId": "3397",
+ "name": "Rúa de Manuel Cominges 22",
+ "latitude": 42.19890849,
+ "longitude": -8.73623433,
+ "lines": [
+ "12B",
+ "17"
+ ]
+ },
+ {
+ "stopId": 6080,
+ "internalStopId": "3400",
+ "name": "Rúa de Manuel Cominges 64",
+ "latitude": 42.197736144,
+ "longitude": -8.732267294,
+ "lines": [
+ "12B",
+ "17"
+ ]
+ },
+ {
+ "stopId": 6100,
+ "internalStopId": "3402",
+ "name": "Rúa de Manuel Cominges 80",
+ "latitude": 42.197066521,
+ "longitude": -8.730468609,
+ "lines": [
+ "12B",
+ "17"
+ ]
+ },
+ {
+ "stopId": 14381,
+ "internalStopId": "4000",
+ "name": "Rúa do Abade Juan de Bastos 6",
+ "latitude": 42.195647685,
+ "longitude": -8.728974153,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 50,
+ "internalStopId": "2785",
+ "name": "Rúa do Abade Juan de Bastos 24",
+ "latitude": 42.19287042,
+ "longitude": -8.727513924,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 40,
+ "internalStopId": "2784",
+ "name": "Rúa do Abade Juan de Bastos (cruce Baixada da Moo)",
+ "latitude": 42.192126677,
+ "longitude": -8.72901589,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 20,
+ "internalStopId": "2782",
+ "name": "Rúa do Abade Juan de Bastos (fronte Asociación Veciños)",
+ "latitude": 42.187593499,
+ "longitude": -8.741246641,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 10061,
+ "internalStopId": "3722",
+ "name": "Estrada de San Xoán 193",
+ "latitude": 42.185277472,
+ "longitude": -8.741558953,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 4440,
+ "internalStopId": "3234",
+ "name": "Estrada de San Xoán 169",
+ "latitude": 42.183275038,
+ "longitude": -8.742437444,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 4460,
+ "internalStopId": "3236",
+ "name": "Estrada de San Xoán 141",
+ "latitude": 42.18366712,
+ "longitude": -8.744402777,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 4450,
+ "internalStopId": "3235",
+ "name": "Estrada de San Xoán 61",
+ "latitude": 42.185081179,
+ "longitude": -8.748029634,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 5480,
+ "internalStopId": "3338",
+ "name": "Estrada de San Xoán 25",
+ "latitude": 42.186179757,
+ "longitude": -8.748888329,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 14271,
+ "internalStopId": "3892",
+ "name": "Estrada da Balsa 103",
+ "latitude": 42.196050474,
+ "longitude": -8.745105715,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 14270,
+ "internalStopId": "3891",
+ "name": "Estrada da Balsa 67",
+ "latitude": 42.196619218,
+ "longitude": -8.743240048,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 14277,
+ "internalStopId": "3898",
+ "name": "Avda. da Mariña Española 8",
+ "latitude": 42.251776399,
+ "longitude": -8.69414009,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 14278,
+ "internalStopId": "3899",
+ "name": "Avda. da Mariña Española 44",
+ "latitude": 42.25430173,
+ "longitude": -8.692915616,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 14279,
+ "internalStopId": "3900",
+ "name": "Riós (Rotonda)",
+ "latitude": 42.257069093,
+ "longitude": -8.690786611,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 14280,
+ "internalStopId": "3901",
+ "name": "Avda. da Mariña Española (ETEA)",
+ "latitude": 42.254604716,
+ "longitude": -8.692539681,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 14281,
+ "internalStopId": "3902",
+ "name": "Avda. da Mariña Española (Praia de Ríos)",
+ "latitude": 42.251596707,
+ "longitude": -8.69420171,
+ "lines": [
+ "17"
+ ]
+ },
+ {
+ "stopId": 20061,
+ "internalStopId": "4133",
+ "name": "Rúa de Martín Echegaray (Colexio)",
+ "latitude": 42.217568173,
+ "longitude": -8.744018511,
+ "lines": [
+ "23",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 20044,
+ "internalStopId": "4116",
+ "name": "Rúa de Martín Echegaray 7",
+ "latitude": 42.215220874,
+ "longitude": -8.742680967,
+ "lines": [
+ "23",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 20110,
+ "internalStopId": "4851",
+ "name": "Rúa de Manuel Castro 10",
+ "latitude": 42.213797254,
+ "longitude": -8.741472696,
+ "lines": [
+ "23",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 6187,
+ "internalStopId": "3412",
+ "name": "Rúa de Martín Echegaray (Parque)",
+ "latitude": 42.215244712,
+ "longitude": -8.74244225,
+ "lines": [
+ "23",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 14900,
+ "internalStopId": "4057",
+ "name": "Rúa de Martín Echegaray 24",
+ "latitude": 42.217196117,
+ "longitude": -8.743726669,
+ "lines": [
+ "23",
+ "N4"
+ ]
+ },
+ {
+ "stopId": 2610,
+ "internalStopId": "3044",
+ "name": "Rúa da Cabalaría 14",
+ "latitude": 42.233426101,
+ "longitude": -8.693298639,
+ "lines": [
+ "28"
+ ]
+ },
+ {
+ "stopId": 2590,
+ "internalStopId": "3042",
+ "name": "Rúa da Cabalaría 94",
+ "latitude": 42.232442621,
+ "longitude": -8.689558541,
+ "lines": [
+ "28"
+ ]
+ },
+ {
+ "stopId": 20042,
+ "internalStopId": "4114",
+ "name": "Rúa da Cabalaría 148",
+ "latitude": 42.233723398,
+ "longitude": -8.689094231,
+ "lines": [
+ "28"
+ ]
+ },
+ {
+ "stopId": 2620,
+ "internalStopId": "3045",
+ "name": "Rúa da Cabalaría 186",
+ "latitude": 42.235420737,
+ "longitude": -8.68894034,
+ "lines": [
+ "28"
+ ]
+ },
+ {
+ "stopId": 20043,
+ "internalStopId": "4115",
+ "name": "Rúa do Areiro 20",
+ "latitude": 42.236036786,
+ "longitude": -8.686656768,
+ "lines": [
+ "28"
+ ]
+ },
+ {
+ "stopId": 14346,
+ "internalStopId": "3966",
+ "name": "Rúa do Areiro 52",
+ "latitude": 42.237287688,
+ "longitude": -8.685019992,
+ "lines": [
+ "28"
+ ]
+ },
+ {
+ "stopId": 14348,
+ "internalStopId": "3968",
+ "name": "Rúa do Areiro 76",
+ "latitude": 42.238950988,
+ "longitude": -8.683793467,
+ "lines": [
+ "28"
+ ]
+ },
+ {
+ "stopId": 14895,
+ "internalStopId": "4052",
+ "name": "Rúa do Areiro (cruce Camiño das Laxes)",
+ "latitude": 42.241392275,
+ "longitude": -8.681203235,
+ "lines": [
+ "28"
+ ]
+ },
+ {
+ "stopId": 14896,
+ "internalStopId": "4053",
+ "name": "Rúa do Areiro 93",
+ "latitude": 42.241385532,
+ "longitude": -8.681400937,
+ "lines": [
+ "28"
+ ]
+ },
+ {
+ "stopId": 1160,
+ "internalStopId": "2899",
+ "name": "Avda. de Beiramar (Sto. Domingo)",
+ "latitude": 42.225759663,
+ "longitude": -8.743239749,
+ "lines": [
+ "6",
+ "9B",
+ "28"
+ ]
+ },
+ {
+ "stopId": 1140,
+ "internalStopId": "2897",
+ "name": "Avda. de Beiramar (Freire)",
+ "latitude": 42.225068475,
+ "longitude": -8.74774586,
+ "lines": [
+ "6",
+ "9B",
+ "28"
+ ]
+ },
+ {
+ "stopId": 2540,
+ "internalStopId": "3037",
+ "name": "Bouzas (Rotonda de Las Anclas)",
+ "latitude": 42.22513153,
+ "longitude": -8.751597027,
+ "lines": [
+ "6",
+ "9B",
+ "28"
+ ]
+ },
+ {
+ "stopId": 14167,
+ "internalStopId": "3788",
+ "name": "Beiramar - Pescadores",
+ "latitude": 42.225279021,
+ "longitude": -8.751908648,
+ "lines": [
+ "6",
+ "9B",
+ "28"
+ ]
+ },
+ {
+ "stopId": 14192,
+ "internalStopId": "3813",
+ "name": "Rúa das Figueiras 282",
+ "latitude": 42.231625599,
+ "longitude": -8.652046516,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14193,
+ "internalStopId": "3814",
+ "name": "Avda. de Santa Mariña 443",
+ "latitude": 42.230916628,
+ "longitude": -8.641628816,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14194,
+ "internalStopId": "3815",
+ "name": "Avda. de Santa Mariña 425",
+ "latitude": 42.228639377,
+ "longitude": -8.640978361,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14201,
+ "internalStopId": "3822",
+ "name": "Avda. de Santa Mariña (cruce Avda. do Tranvía)",
+ "latitude": 42.226291056,
+ "longitude": -8.641647591,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14195,
+ "internalStopId": "3816",
+ "name": "Avda. de Santa Mariña 249",
+ "latitude": 42.226263256,
+ "longitude": -8.644091084,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14196,
+ "internalStopId": "3817",
+ "name": "Avda. de Santa Mariña 229",
+ "latitude": 42.225296,
+ "longitude": -8.649527921,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14378,
+ "internalStopId": "3997",
+ "name": "Rúa Molais 83",
+ "latitude": 42.22396201,
+ "longitude": -8.653340726,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14197,
+ "internalStopId": "3818",
+ "name": "Rúa Molais (cruce Rúa das Carballas)",
+ "latitude": 42.225912491,
+ "longitude": -8.653698801,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 6040,
+ "internalStopId": "3396",
+ "name": "Rúa de Manuel Álvarez (fronte cruce Camiño Sulevada)",
+ "latitude": 42.22320325,
+ "longitude": -8.675213007,
+ "lines": [
+ "25",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 20060,
+ "internalStopId": "4132",
+ "name": "Rúa de Manuel Álvarez 10",
+ "latitude": 42.22282586,
+ "longitude": -8.678077606,
+ "lines": [
+ "25",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 6020,
+ "internalStopId": "3394",
+ "name": "Rúa de Manuel Álvarez 58",
+ "latitude": 42.223195307,
+ "longitude": -8.681872932,
+ "lines": [
+ "25",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 14199,
+ "internalStopId": "3820",
+ "name": "Camiño da Bouciña 79",
+ "latitude": 42.223755464,
+ "longitude": -8.682041911,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14221,
+ "internalStopId": "3842",
+ "name": "Camiño da Bouciña 3",
+ "latitude": 42.225809218,
+ "longitude": -8.681652991,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14200,
+ "internalStopId": "3821",
+ "name": "Rúa de Severino Cobas 119",
+ "latitude": 42.225112655,
+ "longitude": -8.683402684,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 20051,
+ "internalStopId": "4123",
+ "name": "Rúa de Severino Cobas 89",
+ "latitude": 42.225652904,
+ "longitude": -8.686624017,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 7860,
+ "internalStopId": "3596",
+ "name": "Rúa de Severino Cobas 73",
+ "latitude": 42.225436283,
+ "longitude": -8.68893946,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 8130,
+ "internalStopId": "3623",
+ "name": "Rúa de Severino Cobas 51",
+ "latitude": 42.225485938,
+ "longitude": -8.692235895,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 8120,
+ "internalStopId": "3622",
+ "name": "Rúa de Severino Cobas (cruce Trav. de Santa Cristina)",
+ "latitude": 42.22493632,
+ "longitude": -8.694369092,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 8150,
+ "internalStopId": "3625",
+ "name": "Rúa de Severino Cobas 3",
+ "latitude": 42.225076787,
+ "longitude": -8.697168477,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14377,
+ "internalStopId": "3996",
+ "name": "Rúa da Pateira 5",
+ "latitude": 42.226582661,
+ "longitude": -8.700385762,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14139,
+ "internalStopId": "3762",
+ "name": "Avda. de E. Martínez Garrido 27",
+ "latitude": 42.227492758,
+ "longitude": -8.700413366,
+ "lines": [
+ "6",
+ "25",
+ "31"
+ ]
+ },
+ {
+ "stopId": 6200,
+ "internalStopId": "3414",
+ "name": "Avda. de E. Martínez Garrido 11",
+ "latitude": 42.229298043,
+ "longitude": -8.699760249,
+ "lines": [
+ "6",
+ "25",
+ "31"
+ ]
+ },
+ {
+ "stopId": 14376,
+ "internalStopId": "3995",
+ "name": "Rúa da Pateira 20",
+ "latitude": 42.226612651,
+ "longitude": -8.699658408,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 8140,
+ "internalStopId": "3624",
+ "name": "Rúa de Severino Cobas 14",
+ "latitude": 42.224657696,
+ "longitude": -8.696532794,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 8160,
+ "internalStopId": "3626",
+ "name": "Rúa de Severino Cobas 88",
+ "latitude": 42.224884679,
+ "longitude": -8.694275214,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14416,
+ "internalStopId": "4035",
+ "name": "Rúa de Severino Cobas 118",
+ "latitude": 42.225468623,
+ "longitude": -8.691491081,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 8170,
+ "internalStopId": "3627",
+ "name": "Rúa de Severino Cobas 140",
+ "latitude": 42.225428901,
+ "longitude": -8.688744499,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 20050,
+ "internalStopId": "4122",
+ "name": "Rúa de Severino Cobas 186",
+ "latitude": 42.225550059,
+ "longitude": -8.686684563,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14190,
+ "internalStopId": "3811",
+ "name": "Rúa de Severino Cobas 196",
+ "latitude": 42.225080876,
+ "longitude": -8.683314171,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14220,
+ "internalStopId": "3841",
+ "name": "Camiño da Bouciña 14",
+ "latitude": 42.225657321,
+ "longitude": -8.681467666,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14191,
+ "internalStopId": "3812",
+ "name": "Camiño da Bouciña 76",
+ "latitude": 42.223737557,
+ "longitude": -8.682141153,
+ "lines": [
+ "25"
+ ]
+ },
+ {
+ "stopId": 14204,
+ "internalStopId": "3825",
+ "name": "Rúa de Manuel Álvarez 151",
+ "latitude": 42.22312688,
+ "longitude": -8.681864633,
+ "lines": [
+ "25",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 20059,
+ "internalStopId": "4131",
+ "name": "Rúa de Manuel Álvarez (fronte 10)",
+ "latitude": 42.222745522,
+ "longitude": -8.677932515,
+ "lines": [
+ "25",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 6010,
+ "internalStopId": "3393",
+ "name": "Rúa de Manuel Álvarez (cruce Camiño Sulevada)",
+ "latitude": 42.223077231,
+ "longitude": -8.675499751,
+ "lines": [
+ "25",
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 20113,
+ "internalStopId": "4856",
+ "name": "Praza de América 3 (Dirección Hospital)",
+ "latitude": 42.220876566,
+ "longitude": -8.733367644,
+ "lines": [
+ "12B",
+ "N4",
+ "H1",
+ "H2",
+ "PTL"
+ ]
+ },
+ {
+ "stopId": 6730,
+ "internalStopId": "3472",
+ "name": "Rúa do Couto 29",
+ "latitude": 42.199386411,
+ "longitude": -8.695417016,
+ "lines": [
+ "18A",
+ "18B"
+ ]
+ },
+ {
+ "stopId": 70,
+ "internalStopId": "2787",
+ "name": "Rúa da Lagoa (cruce Camiño do Casmarcelo)",
+ "latitude": 42.20020175,
+ "longitude": -8.700621608,
+ "lines": [
+ "18A",
+ "18B"
+ ]
+ },
+ {
+ "stopId": 5840,
+ "internalStopId": "3375",
+ "name": "Rúa da Lagoa (cruce Rúa do Balde)",
+ "latitude": 42.201360896,
+ "longitude": -8.702877394,
+ "lines": [
+ "18A",
+ "18B"
+ ]
+ },
+ {
+ "stopId": 20166,
+ "internalStopId": "5442",
+ "name": "Camiño da Brea 2",
+ "latitude": 42.202134841,
+ "longitude": -8.70572793,
+ "lines": [
+ "18A",
+ "18B"
+ ]
+ },
+ {
+ "stopId": 2550,
+ "internalStopId": "3038",
+ "name": "Camiño da Brea 10",
+ "latitude": 42.204086577,
+ "longitude": -8.704832445,
+ "lines": [
+ "18A",
+ "18B"
+ ]
+ },
+ {
+ "stopId": 2570,
+ "internalStopId": "3040",
+ "name": "Camiño da Brea 54",
+ "latitude": 42.207146083,
+ "longitude": -8.704526775,
+ "lines": [
+ "18A",
+ "18B"
+ ]
+ },
+ {
+ "stopId": 4160,
+ "internalStopId": "3206",
+ "name": "Estrada de Miraflores 36",
+ "latitude": 42.217849364,
+ "longitude": -8.710994711,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 4170,
+ "internalStopId": "3207",
+ "name": "Estrada de Miraflores 64",
+ "latitude": 42.217345186,
+ "longitude": -8.713011334,
+ "lines": [
+ "18A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 4190,
+ "internalStopId": "3209",
+ "name": "Estrada de Miraflores 76",
+ "latitude": 42.217068677,
+ "longitude": -8.714427858,
+ "lines": [
+ "18A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 5860,
+ "internalStopId": "3377",
+ "name": "Baixada á Laxe (Centro Saúde)",
+ "latitude": 42.21669522,
+ "longitude": -8.715884298,
+ "lines": [
+ "18A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 2280,
+ "internalStopId": "3011",
+ "name": "Baixada á Laxe 31",
+ "latitude": 42.21650849,
+ "longitude": -8.719175368,
+ "lines": [
+ "18A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 14324,
+ "internalStopId": "3944",
+ "name": "Rúa Finca dos Aires (Urbanización)",
+ "latitude": 42.217256401,
+ "longitude": -8.720101519,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 14325,
+ "internalStopId": "3945",
+ "name": "Rúa da Fonte Santa (fronte 4)",
+ "latitude": 42.217848286,
+ "longitude": -8.7214811,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 14326,
+ "internalStopId": "3946",
+ "name": "Baixada á Ponte Nova 61",
+ "latitude": 42.218038279,
+ "longitude": -8.722489738,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 2300,
+ "internalStopId": "3013",
+ "name": "Baixada á Ponte Nova 13",
+ "latitude": 42.22078735,
+ "longitude": -8.722722261,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 3170,
+ "internalStopId": "3104",
+ "name": "Rúa das Coutadas 76",
+ "latitude": 42.220968446,
+ "longitude": -8.720400826,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 7880,
+ "internalStopId": "3598",
+ "name": "Barrio da Salgueira 106",
+ "latitude": 42.222364236,
+ "longitude": -8.718898254,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 5040,
+ "internalStopId": "3294",
+ "name": "Rúa da Salgueira Entrada 5",
+ "latitude": 42.222543586,
+ "longitude": -8.717809812,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 2390,
+ "internalStopId": "3022",
+ "name": "Baixada á Salgueira 49",
+ "latitude": 42.224020371,
+ "longitude": -8.716787891,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 14314,
+ "internalStopId": "3935",
+ "name": "Rúa das Mantelas (cruce Avda. da Gran Vía)",
+ "latitude": 42.227212568,
+ "longitude": -8.720183032,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 14315,
+ "internalStopId": "3936",
+ "name": "Rúa das Mantelas 92",
+ "latitude": 42.22393338,
+ "longitude": -8.716924148,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 14318,
+ "internalStopId": "3938",
+ "name": "Rúa da Salguera Entrada (fronte 5)",
+ "latitude": 42.222591256,
+ "longitude": -8.717753486,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 14317,
+ "internalStopId": "3937",
+ "name": "Rúa da Salgueira Entrada (Igrexa)",
+ "latitude": 42.222723933,
+ "longitude": -8.719150283,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 14372,
+ "internalStopId": "3991",
+ "name": "Barrio da Salgueira 22",
+ "latitude": 42.221887526,
+ "longitude": -8.720011371,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 14319,
+ "internalStopId": "3939",
+ "name": "Rúa das Coutadas (Fonte)",
+ "latitude": 42.221002214,
+ "longitude": -8.72027208,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 14320,
+ "internalStopId": "3940",
+ "name": "Rúa do Miradoiro (Rotonda Centro Comercial)",
+ "latitude": 42.220799025,
+ "longitude": -8.723345356,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 14321,
+ "internalStopId": "3941",
+ "name": "Camiño do Freixeiro 74",
+ "latitude": 42.218131641,
+ "longitude": -8.723120057,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 14322,
+ "internalStopId": "3942",
+ "name": "Rúa da Fonte Santa 4",
+ "latitude": 42.217813814,
+ "longitude": -8.721352482,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 14323,
+ "internalStopId": "3943",
+ "name": "Rúa Finca dos Aires (cruce Rúa da Fonte Santa)",
+ "latitude": 42.217059742,
+ "longitude": -8.720340235,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 2290,
+ "internalStopId": "3012",
+ "name": "Baixada á Laxe 44",
+ "latitude": 42.216415126,
+ "longitude": -8.719355076,
+ "lines": [
+ "18A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 8090,
+ "internalStopId": "3619",
+ "name": "Estrada Miraflores (Centro Saúde)",
+ "latitude": 42.216151643,
+ "longitude": -8.715616477,
+ "lines": [
+ "18A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 4180,
+ "internalStopId": "3208",
+ "name": "Estrada de Miraflores 77",
+ "latitude": 42.21694949,
+ "longitude": -8.714422494,
+ "lines": [
+ "18A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 4150,
+ "internalStopId": "3205",
+ "name": "Estrada de Miraflores 69",
+ "latitude": 42.217620909,
+ "longitude": -8.712429612,
+ "lines": [
+ "18A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 7810,
+ "internalStopId": "3591",
+ "name": "Estrada Miraflores (Parque Parróco Xesús Alonso)",
+ "latitude": 42.217817959,
+ "longitude": -8.710940668,
+ "lines": [
+ "18A",
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 14910,
+ "internalStopId": "4067",
+ "name": "Estrada do Marco 4",
+ "latitude": 42.21025095,
+ "longitude": -8.704036986,
+ "lines": [
+ "18A",
+ "18B",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 14911,
+ "internalStopId": "4068",
+ "name": "Estrada do Marco 16",
+ "latitude": 42.208830737,
+ "longitude": -8.706971174,
+ "lines": [
+ "18A",
+ "18B",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 2580,
+ "internalStopId": "3041",
+ "name": "Camiño da Brea 69",
+ "latitude": 42.207235488,
+ "longitude": -8.704631381,
+ "lines": [
+ "18A",
+ "18B"
+ ]
+ },
+ {
+ "stopId": 2560,
+ "internalStopId": "3039",
+ "name": "Camiño da Brea 37",
+ "latitude": 42.204297185,
+ "longitude": -8.704942415,
+ "lines": [
+ "18A",
+ "18B"
+ ]
+ },
+ {
+ "stopId": 20167,
+ "internalStopId": "5443",
+ "name": "Camiño da Brea 3",
+ "latitude": 42.202095058,
+ "longitude": -8.705814233,
+ "lines": [
+ "18A",
+ "18B"
+ ]
+ },
+ {
+ "stopId": 5850,
+ "internalStopId": "3376",
+ "name": "Rúa da Lagoa (fronte 21)",
+ "latitude": 42.201154253,
+ "longitude": -8.702343635,
+ "lines": [
+ "18A",
+ "18B"
+ ]
+ },
+ {
+ "stopId": 80,
+ "internalStopId": "2788",
+ "name": "Rúa da Lagoa 46",
+ "latitude": 42.200132216,
+ "longitude": -8.700535777,
+ "lines": [
+ "18A",
+ "18B"
+ ]
+ },
+ {
+ "stopId": 14296,
+ "internalStopId": "3917",
+ "name": "Praza dos Leóns (Vigozoo)",
+ "latitude": 42.248375604,
+ "longitude": -8.675578666,
+ "lines": [
+ "28"
+ ]
+ },
+ {
+ "stopId": 14349,
+ "internalStopId": "3969",
+ "name": "Rúa do Areiro (Campo de Fútbol)",
+ "latitude": 42.244717312,
+ "longitude": -8.678473607,
+ "lines": [
+ "28"
+ ]
+ },
+ {
+ "stopId": 14347,
+ "internalStopId": "3967",
+ "name": "Rúa do Areiro (cruce Salcides)",
+ "latitude": 42.23913765,
+ "longitude": -8.683873934,
+ "lines": [
+ "28"
+ ]
+ },
+ {
+ "stopId": 14345,
+ "internalStopId": "3965",
+ "name": "Rúa do Areiro 49",
+ "latitude": 42.237269816,
+ "longitude": -8.685138009,
+ "lines": [
+ "28"
+ ]
+ },
+ {
+ "stopId": 8290,
+ "internalStopId": "3641",
+ "name": "Subida das Ánimas 31",
+ "latitude": 42.235646525,
+ "longitude": -8.685908988,
+ "lines": [
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 8300,
+ "internalStopId": "3642",
+ "name": "Subida das Ánimas 32",
+ "latitude": 42.23556225,
+ "longitude": -8.686044366,
+ "lines": [
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 2600,
+ "internalStopId": "3043",
+ "name": "Rúa da Cabalaría 153",
+ "latitude": 42.235437997,
+ "longitude": -8.689019794,
+ "lines": [
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 20041,
+ "internalStopId": "4113",
+ "name": "Rúa da Cabalaría 91",
+ "latitude": 42.233622103,
+ "longitude": -8.689209566,
+ "lines": [
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 2640,
+ "internalStopId": "3047",
+ "name": "Rúa da Cabalaría 67",
+ "latitude": 42.232559793,
+ "longitude": -8.689848219,
+ "lines": [
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 2630,
+ "internalStopId": "3046",
+ "name": "Rúa da Cabalaría (cruce Subida ao Rosal Florido)",
+ "latitude": 42.233483693,
+ "longitude": -8.693266452,
+ "lines": [
+ "27",
+ "28"
+ ]
+ },
+ {
+ "stopId": 14350,
+ "internalStopId": "3970",
+ "name": "Rúa do Areiro (fronte Campo de Fútbol)",
+ "latitude": 42.244849353,
+ "longitude": -8.678366319,
+ "lines": [
+ "28"
+ ]
+ },
+ {
+ "stopId": 14353,
+ "internalStopId": "3973",
+ "name": "Praza dos Leóns (fronte Vigozoo)",
+ "latitude": 42.248151648,
+ "longitude": -8.675976097,
+ "lines": [
+ "28"
+ ]
+ },
+ {
+ "stopId": 3360,
+ "internalStopId": "3123",
+ "name": "Rúa do Doutor Canoa 8",
+ "latitude": 42.237803518,
+ "longitude": -8.704409031,
+ "lines": [
+ "31"
+ ]
+ },
+ {
+ "stopId": 14425,
+ "internalStopId": "4044",
+ "name": "Avda. do Alcalde Gregorio Espino 2",
+ "latitude": 42.232253792,
+ "longitude": -8.707208575,
+ "lines": [
+ "31"
+ ]
+ },
+ {
+ "stopId": 5710,
+ "internalStopId": "3362",
+ "name": "Avda. do Alcalde Gregorio Espino 22",
+ "latitude": 42.230108908,
+ "longitude": -8.707230032,
+ "lines": [
+ "31"
+ ]
+ },
+ {
+ "stopId": 5730,
+ "internalStopId": "3364",
+ "name": "Avda. do Alcalde Gregorio Espino 44",
+ "latitude": 42.227970137,
+ "longitude": -8.708024217,
+ "lines": [
+ "31",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 6240,
+ "internalStopId": "3418",
+ "name": "Avda. de E. Martínez Garrido 77",
+ "latitude": 42.224493844,
+ "longitude": -8.707734948,
+ "lines": [
+ "31"
+ ]
+ },
+ {
+ "stopId": 6230,
+ "internalStopId": "3417",
+ "name": "Avda. de E. Martínez Garrido 69",
+ "latitude": 42.224839145,
+ "longitude": -8.706082215,
+ "lines": [
+ "31"
+ ]
+ },
+ {
+ "stopId": 6220,
+ "internalStopId": "3416",
+ "name": "Avda. de E. Martínez Garrido 45",
+ "latitude": 42.226116269,
+ "longitude": -8.703346362,
+ "lines": [
+ "31"
+ ]
+ },
+ {
+ "stopId": 6030,
+ "internalStopId": "3395",
+ "name": "Rúa de Manuel Álvarez 102",
+ "latitude": 42.220829925,
+ "longitude": -8.685158812,
+ "lines": [
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 6000,
+ "internalStopId": "3392",
+ "name": "Rúa de Manuel Álvarez 185",
+ "latitude": 42.220887532,
+ "longitude": -8.685059571,
+ "lines": [
+ "31",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 14897,
+ "internalStopId": "4054",
+ "name": "Camiño do Arieiro (fronte 13)",
+ "latitude": 42.213239161,
+ "longitude": -8.67854147,
+ "lines": [
+ "31"
+ ]
+ },
+ {
+ "stopId": 14335,
+ "internalStopId": "3955",
+ "name": "Camiño do Arieiro (Residencia de Maiores)",
+ "latitude": 42.212692269,
+ "longitude": -8.675661599,
+ "lines": [
+ "31"
+ ]
+ },
+ {
+ "stopId": 14898,
+ "internalStopId": "4055",
+ "name": "Camiño do Arieiro 13",
+ "latitude": 42.213239161,
+ "longitude": -8.678369808,
+ "lines": [
+ "31"
+ ]
+ },
+ {
+ "stopId": 5960,
+ "internalStopId": "3388",
+ "name": "Rúa dos Mestres Goldar 77",
+ "latitude": 42.206757786,
+ "longitude": -8.730056705,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 5980,
+ "internalStopId": "3390",
+ "name": "Rúa dos Mestres Goldar 37",
+ "latitude": 42.207198849,
+ "longitude": -8.726658346,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 5160,
+ "internalStopId": "3306",
+ "name": "Camiño da Falcoa 26",
+ "latitude": 42.204783634,
+ "longitude": -8.722664062,
+ "lines": [
+ "18B",
+ "18H",
+ "27"
+ ]
+ },
+ {
+ "stopId": 5900,
+ "internalStopId": "3381",
+ "name": "Rúa de Macal 8",
+ "latitude": 42.202071034,
+ "longitude": -8.723541884,
+ "lines": [
+ "18B",
+ "18H",
+ "27"
+ ]
+ },
+ {
+ "stopId": 14244,
+ "internalStopId": "3865",
+ "name": "Rúa de Macal 60",
+ "latitude": 42.198216234,
+ "longitude": -8.721498041,
+ "lines": [
+ "18B",
+ "18H",
+ "27"
+ ]
+ },
+ {
+ "stopId": 5910,
+ "internalStopId": "3382",
+ "name": "Rúa de Macal 90",
+ "latitude": 42.196213336,
+ "longitude": -8.721136467,
+ "lines": [
+ "18B",
+ "18H",
+ "27"
+ ]
+ },
+ {
+ "stopId": 7100,
+ "internalStopId": "3511",
+ "name": "Rúa de Ramiro Pascual 16",
+ "latitude": 42.1952442,
+ "longitude": -8.71956212,
+ "lines": [
+ "12B",
+ "18B",
+ "18H",
+ "27"
+ ]
+ },
+ {
+ "stopId": 7110,
+ "internalStopId": "3512",
+ "name": "Rúa de Ramiro Pascual 30",
+ "latitude": 42.195709195,
+ "longitude": -8.716896004,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 7130,
+ "internalStopId": "3514",
+ "name": "Rúa de Ramiro Pascual 46",
+ "latitude": 42.19350247,
+ "longitude": -8.715219623,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 7150,
+ "internalStopId": "3516",
+ "name": "Rúa de Ramiro Pascual 74",
+ "latitude": 42.192415468,
+ "longitude": -8.71184004,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 20154,
+ "internalStopId": "5425",
+ "name": "Rúa de Ramiro Pascual (fronte 127)",
+ "latitude": 42.192089689,
+ "longitude": -8.709245389,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 7090,
+ "internalStopId": "3510",
+ "name": "Rúa de Ramiro Pascual 108",
+ "latitude": 42.191918475,
+ "longitude": -8.706869692,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 20116,
+ "internalStopId": "4862",
+ "name": "Estrada da Coutada-Beade 2",
+ "latitude": 42.19202547,
+ "longitude": -8.705712064,
+ "lines": [
+ "6",
+ "27"
+ ]
+ },
+ {
+ "stopId": 3930,
+ "internalStopId": "3183",
+ "name": "Estrada da Coutada 12",
+ "latitude": 42.19287831,
+ "longitude": -8.703506202,
+ "lines": [
+ "6",
+ "27"
+ ]
+ },
+ {
+ "stopId": 14113,
+ "internalStopId": "3736",
+ "name": "Estrada da Coutada 20",
+ "latitude": 42.193458577,
+ "longitude": -8.702065856,
+ "lines": [
+ "6",
+ "27"
+ ]
+ },
+ {
+ "stopId": 2490,
+ "internalStopId": "3032",
+ "name": "Rúa das Coutadas 57",
+ "latitude": 42.194635725,
+ "longitude": -8.699504032,
+ "lines": [
+ "6",
+ "27"
+ ]
+ },
+ {
+ "stopId": 3060,
+ "internalStopId": "3093",
+ "name": "Rúa da Ceboleira 30",
+ "latitude": 42.224698049,
+ "longitude": -8.701749123,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 120,
+ "internalStopId": "2792",
+ "name": "Avda. do Alcalde Lavadores 8",
+ "latitude": 42.223288295,
+ "longitude": -8.700954873,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 150,
+ "internalStopId": "2795",
+ "name": "Avda. do Alcalde Lavadores 48",
+ "latitude": 42.222636676,
+ "longitude": -8.697201413,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 130,
+ "internalStopId": "2793",
+ "name": "Avda. do Alcalde Lavadores 102",
+ "latitude": 42.219001694,
+ "longitude": -8.696198267,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 170,
+ "internalStopId": "2797",
+ "name": "Avda. do Alcalde Lavadores 152",
+ "latitude": 42.215084316,
+ "longitude": -8.696854931,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3600,
+ "internalStopId": "3150",
+ "name": "Estrada de Bembrive 22",
+ "latitude": 42.21246424,
+ "longitude": -8.697218847,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3680,
+ "internalStopId": "3158",
+ "name": "Estrada de Bembrive 64",
+ "latitude": 42.211144971,
+ "longitude": -8.69652789,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3560,
+ "internalStopId": "3144",
+ "name": "Estrada de Bembrive 104",
+ "latitude": 42.209126518,
+ "longitude": -8.695599845,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3380,
+ "internalStopId": "3125",
+ "name": "Cruce Eifonso",
+ "latitude": 42.205623108,
+ "longitude": -8.693239335,
+ "lines": [
+ "6",
+ "14"
+ ]
+ },
+ {
+ "stopId": 3620,
+ "internalStopId": "3152",
+ "name": "Estrada de Bembrive 278",
+ "latitude": 42.202562995,
+ "longitude": -8.685437577,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 14420,
+ "internalStopId": "4039",
+ "name": "Estrada de Bembrive 318",
+ "latitude": 42.201419233,
+ "longitude": -8.688526069,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3650,
+ "internalStopId": "3155",
+ "name": "Estrada de Bembrive 346",
+ "latitude": 42.199275919,
+ "longitude": -8.689032944,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3550,
+ "internalStopId": "3143",
+ "name": "Estrada de Bembrive (cruce Camiño Cova)",
+ "latitude": 42.19747765,
+ "longitude": -8.688158543,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3670,
+ "internalStopId": "3157",
+ "name": "Estrada de Bembrive 398",
+ "latitude": 42.194968863,
+ "longitude": -8.689201981,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3700,
+ "internalStopId": "3160",
+ "name": "Estrada de Bembrive (cruce Camiño Riomao)",
+ "latitude": 42.194055385,
+ "longitude": -8.692079677,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 20165,
+ "internalStopId": "5441",
+ "name": "Estrada da Coutada 77",
+ "latitude": 42.195549441,
+ "longitude": -8.695856368,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3920,
+ "internalStopId": "3182",
+ "name": "Estrada da Coutada 69",
+ "latitude": 42.195823454,
+ "longitude": -8.69703277,
+ "lines": [
+ "6",
+ "27"
+ ]
+ },
+ {
+ "stopId": 3890,
+ "internalStopId": "3179",
+ "name": "Estrada da Coutada 39",
+ "latitude": 42.193625246,
+ "longitude": -8.7014263,
+ "lines": [
+ "6",
+ "27"
+ ]
+ },
+ {
+ "stopId": 3900,
+ "internalStopId": "3180",
+ "name": "Estrada da Coutada 19",
+ "latitude": 42.19232927,
+ "longitude": -8.704749414,
+ "lines": [
+ "6",
+ "27"
+ ]
+ },
+ {
+ "stopId": 2500,
+ "internalStopId": "3033",
+ "name": "Rúa de Ramiro Pascual (Igrexa)",
+ "latitude": 42.191950062,
+ "longitude": -8.707193511,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 20155,
+ "internalStopId": "5426",
+ "name": "Rúa de Ramiro Pascual 131",
+ "latitude": 42.19217626,
+ "longitude": -8.708899009,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 7160,
+ "internalStopId": "3517",
+ "name": "Rúa de Ramiro Pascual 97",
+ "latitude": 42.192526527,
+ "longitude": -8.712588696,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 7140,
+ "internalStopId": "3515",
+ "name": "Rúa de Ramiro Pascual 71",
+ "latitude": 42.193601829,
+ "longitude": -8.715157933,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 7120,
+ "internalStopId": "3513",
+ "name": "Rúa de Ramiro Pascual 33",
+ "latitude": 42.195795442,
+ "longitude": -8.716893641,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 7170,
+ "internalStopId": "3518",
+ "name": "Rúa de Ramiro Pascual 9",
+ "latitude": 42.195322512,
+ "longitude": -8.719460515,
+ "lines": [
+ "12B",
+ "18B",
+ "18H",
+ "27"
+ ]
+ },
+ {
+ "stopId": 5920,
+ "internalStopId": "3383",
+ "name": "Rúa de Macal (cruce Rúa de Ramiro Pascual)",
+ "latitude": 42.196173594,
+ "longitude": -8.721023814,
+ "lines": [
+ "18B",
+ "18H",
+ "27"
+ ]
+ },
+ {
+ "stopId": 5940,
+ "internalStopId": "3385",
+ "name": "Rúa de Macal 39",
+ "latitude": 42.198347336,
+ "longitude": -8.721488003,
+ "lines": [
+ "18B",
+ "18H",
+ "27"
+ ]
+ },
+ {
+ "stopId": 5930,
+ "internalStopId": "3384",
+ "name": "Rúa de Macal (frente 8)",
+ "latitude": 42.202050775,
+ "longitude": -8.723454133,
+ "lines": [
+ "18B",
+ "18H",
+ "27"
+ ]
+ },
+ {
+ "stopId": 5120,
+ "internalStopId": "3302",
+ "name": "Camiño da Falcoa 41",
+ "latitude": 42.204935234,
+ "longitude": -8.722453969,
+ "lines": [
+ "18B",
+ "18H",
+ "27"
+ ]
+ },
+ {
+ "stopId": 5950,
+ "internalStopId": "3387",
+ "name": "Rúa dos Mestres Goldar 62",
+ "latitude": 42.207127325,
+ "longitude": -8.726636888,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 5970,
+ "internalStopId": "3389",
+ "name": "Rúa dos Mestres Goldar 96",
+ "latitude": 42.206880283,
+ "longitude": -8.729978952,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 1340,
+ "internalStopId": "2917",
+ "name": "Avda. de Castrelos (Parque)",
+ "latitude": 42.212870645,
+ "longitude": -8.732131792,
+ "lines": [
+ "27",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 8916,
+ "internalStopId": "3707",
+ "name": "Rúa de Venezuela 60",
+ "latitude": 42.231593651,
+ "longitude": -8.71714227,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 3880,
+ "internalStopId": "3178",
+ "name": "Estrada da Coutada 44",
+ "latitude": 42.194829735,
+ "longitude": -8.699040324,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3910,
+ "internalStopId": "3181",
+ "name": "Estrada da Coutada 68",
+ "latitude": 42.195404022,
+ "longitude": -8.695794851,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3710,
+ "internalStopId": "3161",
+ "name": "Estrada de Bembrive 363",
+ "latitude": 42.193846109,
+ "longitude": -8.69200489,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3720,
+ "internalStopId": "3162",
+ "name": "Estrada de Bembrive 341",
+ "latitude": 42.1948986,
+ "longitude": -8.689213754,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3640,
+ "internalStopId": "3154",
+ "name": "Estrada de Bembrive 315",
+ "latitude": 42.197359418,
+ "longitude": -8.688113004,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3730,
+ "internalStopId": "3163",
+ "name": "Estrada de Bembrive 301",
+ "latitude": 42.199203404,
+ "longitude": -8.688880116,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 14419,
+ "internalStopId": "4038",
+ "name": "Estrada de Bembrive (cruce Camiño dos Rapadouros)",
+ "latitude": 42.201138734,
+ "longitude": -8.688585073,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3370,
+ "internalStopId": "3124",
+ "name": "Estrada de Bembrive (cruce Rúa Eifonso)",
+ "latitude": 42.205676226,
+ "longitude": -8.693112047,
+ "lines": [
+ "6",
+ "14"
+ ]
+ },
+ {
+ "stopId": 3570,
+ "internalStopId": "3145",
+ "name": "Estrada de Bembrive 109",
+ "latitude": 42.209576972,
+ "longitude": -8.695580071,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3690,
+ "internalStopId": "3159",
+ "name": "Estrada de Bembrive 73",
+ "latitude": 42.210947345,
+ "longitude": -8.69627482,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3660,
+ "internalStopId": "3156",
+ "name": "Estrada de Bembrive 39",
+ "latitude": 42.212227656,
+ "longitude": -8.697028614,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 110,
+ "internalStopId": "2791",
+ "name": "Avda. do Alcalde Lavadores 171",
+ "latitude": 42.215074591,
+ "longitude": -8.696738405,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 100,
+ "internalStopId": "2790",
+ "name": "Avda. do Alcalde Lavadores 125",
+ "latitude": 42.219008975,
+ "longitude": -8.69606935,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 160,
+ "internalStopId": "2796",
+ "name": "Avda. do Alcalde Lavadores 67",
+ "latitude": 42.222830286,
+ "longitude": -8.697231476,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 140,
+ "internalStopId": "2794",
+ "name": "Avda. do Alcalde Lavadores 29",
+ "latitude": 42.223444913,
+ "longitude": -8.700801996,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 3070,
+ "internalStopId": "3094",
+ "name": "Rúa da Ceboleira 49",
+ "latitude": 42.224816342,
+ "longitude": -8.701565998,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 20172,
+ "internalStopId": "5448",
+ "name": "Estrada Clara Campoamor (cruce Camiño da Nogueira)",
+ "latitude": 42.203736336,
+ "longitude": -8.726617869,
+ "lines": [
+ "A",
+ "12B",
+ "U1",
+ "H1",
+ "H2",
+ "H",
+ "PTL"
+ ]
+ },
+ {
+ "stopId": 20127,
+ "internalStopId": "4963",
+ "name": "Estrada Clara Campoamor (fronte Rotonda HAC)",
+ "latitude": 42.19007538,
+ "longitude": -8.718125045,
+ "lines": [
+ "A",
+ "12B",
+ "18H",
+ "27",
+ "U1",
+ "H1",
+ "H2",
+ "H",
+ "PTL"
+ ]
+ },
+ {
+ "stopId": 20111,
+ "internalStopId": "4852",
+ "name": "H. A. Cunqueiro (Hospital de Día)",
+ "latitude": 42.187585838,
+ "longitude": -8.716278919,
+ "lines": [
+ "A",
+ "6",
+ "12B",
+ "18H",
+ "27",
+ "H1",
+ "H2",
+ "H3",
+ "H"
+ ]
+ },
+ {
+ "stopId": 20102,
+ "internalStopId": "4813",
+ "name": "H. A. Cunqueiro (Porta Principal)",
+ "latitude": 42.191034002,
+ "longitude": -8.714303116,
+ "lines": [
+ "6",
+ "12B",
+ "18H",
+ "27",
+ "H1",
+ "H2",
+ "H3",
+ "H"
+ ]
+ },
+ {
+ "stopId": 20126,
+ "internalStopId": "4962",
+ "name": "Estrada Clara Campoamor (Rotonda HAC)",
+ "latitude": 42.190252452,
+ "longitude": -8.717998617,
+ "lines": [
+ "12B",
+ "18H",
+ "H1",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 20171,
+ "internalStopId": "5447",
+ "name": "Estrada Clara Campoamor (cruce Camiño da Pousa)",
+ "latitude": 42.204380762,
+ "longitude": -8.726688445,
+ "lines": [
+ "12B",
+ "H1",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 20125,
+ "internalStopId": "4961",
+ "name": "Estrada Clara Campoamor (fronte 6)",
+ "latitude": 42.209126911,
+ "longitude": -8.729344197,
+ "lines": [
+ "12B",
+ "H1",
+ "H2"
+ ]
+ },
+ {
+ "stopId": 20199,
+ "internalStopId": "5514",
+ "name": "Rúa de Puerto Rico 12",
+ "latitude": 42.228802205,
+ "longitude": -8.718136653,
+ "lines": [
+ "H2"
+ ]
+ },
+ {
+ "stopId": 14117,
+ "internalStopId": "3740",
+ "name": "Rúa do Couto de San Honorato 26",
+ "latitude": 42.228574702,
+ "longitude": -8.712864548,
+ "lines": [
+ "H2"
+ ]
+ },
+ {
+ "stopId": 14119,
+ "internalStopId": "3742",
+ "name": "Rúa do Couto de San Honorato 80",
+ "latitude": 42.229320789,
+ "longitude": -8.710390551,
+ "lines": [
+ "H2"
+ ]
+ },
+ {
+ "stopId": 20180,
+ "internalStopId": "5476",
+ "name": "Rúa do Reiseñor 10",
+ "latitude": 42.229527407,
+ "longitude": -8.70843784,
+ "lines": [
+ "H2"
+ ]
+ },
+ {
+ "stopId": 20118,
+ "internalStopId": "4864",
+ "name": "Rúa Conde de Gondomar",
+ "latitude": 42.228358488,
+ "longitude": -8.719490904,
+ "lines": [
+ "H2"
+ ]
+ },
+ {
+ "stopId": 20112,
+ "internalStopId": "4853",
+ "name": "H. A. Cunqueiro (Urxencias)",
+ "latitude": 42.188578188,
+ "longitude": -8.713087125,
+ "lines": [
+ "6",
+ "12B",
+ "18H",
+ "H1",
+ "H3",
+ "H"
+ ]
+ },
+ {
+ "stopId": 20119,
+ "internalStopId": "4865",
+ "name": "H. A. Cunqueiro (chegada)",
+ "latitude": 42.190930878,
+ "longitude": -8.71409354,
+ "lines": [
+ "6",
+ "12B",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 20202,
+ "internalStopId": "5519",
+ "name": "Estación Marítima",
+ "latitude": 42.2404374,
+ "longitude": -8.726048008,
+ "lines": [
+ "TUR"
+ ]
+ },
+ {
+ "stopId": 6305,
+ "internalStopId": "3425",
+ "name": "O Castro",
+ "latitude": 42.230800582,
+ "longitude": -8.725954962,
+ "lines": [
+ "TUR"
+ ]
+ },
+ {
+ "stopId": 6415,
+ "internalStopId": "3437",
+ "name": "Parque de Castrelos (Museo)",
+ "latitude": 42.213852214,
+ "longitude": -8.727322863,
+ "lines": [
+ "TUR"
+ ]
+ },
+ {
+ "stopId": 14152,
+ "internalStopId": "3773",
+ "name": "Rúa do Monte Calvario 4",
+ "latitude": 42.204815402,
+ "longitude": -8.687168969,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 8282,
+ "internalStopId": "3639",
+ "name": "Subida á Mouteira 6",
+ "latitude": 42.206854901,
+ "longitude": -8.686031058,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7662,
+ "internalStopId": "3570",
+ "name": "Rúa de Recaré 6",
+ "latitude": 42.211013462,
+ "longitude": -8.68554295,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7664,
+ "internalStopId": "3571",
+ "name": "Rúa de Recaré (cruce Segade)",
+ "latitude": 42.211201327,
+ "longitude": -8.688838517,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7762,
+ "internalStopId": "3584",
+ "name": "Rúa de Segade 41",
+ "latitude": 42.209575101,
+ "longitude": -8.690548833,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 3574,
+ "internalStopId": "3147",
+ "name": "Estrada de Bembrive 129",
+ "latitude": 42.208533311,
+ "longitude": -8.694987854,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 20094,
+ "internalStopId": "4166",
+ "name": "Rúa das Mantelas (fronte 63)",
+ "latitude": 42.22518736,
+ "longitude": -8.717399288,
+ "lines": [
+ "18A"
+ ]
+ },
+ {
+ "stopId": 14329,
+ "internalStopId": "3949",
+ "name": "Citroën (Puerta Principal)",
+ "latitude": 42.210124372,
+ "longitude": -8.741139991,
+ "lines": [
+ "LZH",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 14328,
+ "internalStopId": "3948",
+ "name": "Citroën - PSA",
+ "latitude": 42.208988415,
+ "longitude": -8.746151897,
+ "lines": [
+ "LZH",
+ "PSA 1",
+ "PSA 4"
+ ]
+ },
+ {
+ "stopId": 15001,
+ "internalStopId": "4069",
+ "name": "Rúa Regueiro do Forno (Vial C) Centro de Servicios",
+ "latitude": 42.176053629,
+ "longitude": -8.709460132,
+ "lines": [
+ "PTL"
+ ]
+ },
+ {
+ "stopId": 14211,
+ "internalStopId": "3832",
+ "name": "Estrada do Monte Alba 32",
+ "latitude": 42.165479162,
+ "longitude": -8.721775005,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14212,
+ "internalStopId": "3833",
+ "name": "Estrada do Monte Alba 54",
+ "latitude": 42.164694101,
+ "longitude": -8.724472962,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14213,
+ "internalStopId": "3834",
+ "name": "Estrada do Freixo (Campo Fútbol)",
+ "latitude": 42.169153241,
+ "longitude": -8.729001464,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 20169,
+ "internalStopId": "5445",
+ "name": "Estrada do Freixo (despois 235)",
+ "latitude": 42.173616782,
+ "longitude": -8.730810863,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14214,
+ "internalStopId": "3835",
+ "name": "Estrada do Freixo 191",
+ "latitude": 42.175760907,
+ "longitude": -8.734516924,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14205,
+ "internalStopId": "3826",
+ "name": "Estrada do Freixo (Cemiterio)",
+ "latitude": 42.178408629,
+ "longitude": -8.733198549,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14215,
+ "internalStopId": "3836",
+ "name": "Estrada do Freixo 90",
+ "latitude": 42.175592169,
+ "longitude": -8.734477788,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 20168,
+ "internalStopId": "5444",
+ "name": "Estrada do Freixo (despois 118)",
+ "latitude": 42.173596087,
+ "longitude": -8.730918928,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14216,
+ "internalStopId": "3837",
+ "name": "Estrada do Freixo (fronte Campo Fútbol)",
+ "latitude": 42.169143301,
+ "longitude": -8.729076566,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14217,
+ "internalStopId": "3838",
+ "name": "Estrada do Monte Alba (frente 54)",
+ "latitude": 42.164570839,
+ "longitude": -8.724561475,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14218,
+ "internalStopId": "3839",
+ "name": "Estrada do Monte Alba 21",
+ "latitude": 42.165288305,
+ "longitude": -8.721367309,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14383,
+ "internalStopId": "4002",
+ "name": "Estrada Clara Campoamor (cruce Estrada do Portal)",
+ "latitude": 42.174718265,
+ "longitude": -8.713684656,
+ "lines": [
+ "U1"
+ ]
+ },
+ {
+ "stopId": 14253,
+ "internalStopId": "3874",
+ "name": "Estrada Clara Campoamor (cruce Rúa do Padrón do Couto)",
+ "latitude": 42.164455564,
+ "longitude": -8.707223843,
+ "lines": [
+ "U1"
+ ]
+ },
+ {
+ "stopId": 20009,
+ "internalStopId": "4081",
+ "name": "Estrada Herville 16",
+ "latitude": 42.154843231,
+ "longitude": -8.67357438,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 20018,
+ "internalStopId": "4090",
+ "name": "Estrada Herville 70",
+ "latitude": 42.151451604,
+ "longitude": -8.673803367,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 20019,
+ "internalStopId": "4091",
+ "name": "Subida aos Padróns 165",
+ "latitude": 42.149222193,
+ "longitude": -8.679363987,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 20020,
+ "internalStopId": "4092",
+ "name": "Subida aos Padróns (cruce Parque Forestal)",
+ "latitude": 42.151606055,
+ "longitude": -8.679299082,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 20130,
+ "internalStopId": "4982",
+ "name": "Parque Forestal de Zamáns (Proba Andaina)",
+ "latitude": 42.152788309,
+ "longitude": -8.681902684,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 20081,
+ "internalStopId": "4153",
+ "name": "Subida aos Padróns (cruce Camiño da Chan da Rabicha)",
+ "latitude": 42.151852858,
+ "longitude": -8.684956786,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 20021,
+ "internalStopId": "4093",
+ "name": "Subida aos Padróns (fronte 34)",
+ "latitude": 42.152770176,
+ "longitude": -8.686251828,
+ "lines": [
+ "7"
+ ]
+ },
+ {
+ "stopId": 14409,
+ "internalStopId": "4028",
+ "name": "Estrada das Plantas (fronte cruce Avda. do Rebullón)",
+ "latitude": 42.204188441,
+ "longitude": -8.670257126,
+ "lines": [
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 4550,
+ "internalStopId": "3245",
+ "name": "Estrada das Plantas (cruce Camiño do Pouso)",
+ "latitude": 42.199945182,
+ "longitude": -8.669085873,
+ "lines": [
+ "15B",
+ "15C"
+ ]
+ },
+ {
+ "stopId": 14421,
+ "internalStopId": "4040",
+ "name": "Estrada das Prantas (fronte Campo de Béisbol)",
+ "latitude": 42.186683264,
+ "longitude": -8.669320703,
+ "lines": [
+ "15C"
+ ]
+ },
+ {
+ "stopId": 4540,
+ "internalStopId": "3244",
+ "name": "Estrada das Plantas (fronte Viveiros)",
+ "latitude": 42.181370416,
+ "longitude": -8.667861084,
+ "lines": [
+ "15C"
+ ]
+ },
+ {
+ "stopId": 14364,
+ "internalStopId": "3983",
+ "name": "Estrada das Plantas (fronte Cidade Deportiva)",
+ "latitude": 42.175757186,
+ "longitude": -8.671074371,
+ "lines": [
+ "15C"
+ ]
+ },
+ {
+ "stopId": 630,
+ "internalStopId": "2846",
+ "name": "Avda. de Ricardo Mella 223",
+ "latitude": 42.189304527,
+ "longitude": -8.79068363,
+ "lines": [
+ "12A"
+ ]
+ },
+ {
+ "stopId": 14357,
+ "internalStopId": "3977",
+ "name": "Avda. de Ricardo Mella (cruce Camiño do Río)",
+ "latitude": 42.191796473,
+ "longitude": -8.784014088,
+ "lines": [
+ "12A"
+ ]
+ },
+ {
+ "stopId": 620,
+ "internalStopId": "2845",
+ "name": "Avda. de Ricado Mella 165",
+ "latitude": 42.1935678,
+ "longitude": -8.781529566,
+ "lines": [
+ "12A"
+ ]
+ },
+ {
+ "stopId": 580,
+ "internalStopId": "2841",
+ "name": "Avda. de Ricardo Mella 135",
+ "latitude": 42.195766012,
+ "longitude": -8.773648966,
+ "lines": [
+ "12A"
+ ]
+ },
+ {
+ "stopId": 14248,
+ "internalStopId": "3869",
+ "name": "Camiño dos Muíños 74",
+ "latitude": 42.200580723,
+ "longitude": -8.76911862,
+ "lines": [
+ "12A"
+ ]
+ },
+ {
+ "stopId": 14247,
+ "internalStopId": "3868",
+ "name": "Camiño dos Muíños 69",
+ "latitude": 42.200511179,
+ "longitude": -8.769110573,
+ "lines": [
+ "12A"
+ ]
+ },
+ {
+ "stopId": 570,
+ "internalStopId": "2839",
+ "name": "Avda. de Ricardo Mella 250",
+ "latitude": 42.195225102,
+ "longitude": -8.775226375,
+ "lines": [
+ "12A"
+ ]
+ },
+ {
+ "stopId": 530,
+ "internalStopId": "2835",
+ "name": "Avda. de Ricardo Mella (Estación Coruxo)",
+ "latitude": 42.193562859,
+ "longitude": -8.78173994,
+ "lines": [
+ "12A"
+ ]
+ },
+ {
+ "stopId": 14356,
+ "internalStopId": "3976",
+ "name": "Avda. de Ricardo Mella 314",
+ "latitude": 42.192009114,
+ "longitude": -8.783993123,
+ "lines": [
+ "12A"
+ ]
+ },
+ {
+ "stopId": 540,
+ "internalStopId": "2836",
+ "name": "Avda. de Ricardo Mella (fronte 223)",
+ "latitude": 42.189424424,
+ "longitude": -8.790733064,
+ "lines": [
+ "12A"
+ ]
+ },
+ {
+ "stopId": 14294,
+ "internalStopId": "3915",
+ "name": "Avda. de Ricardo Mella 406",
+ "latitude": 42.190704974,
+ "longitude": -8.799306832,
+ "lines": [
+ "12A"
+ ]
+ },
+ {
+ "stopId": 14249,
+ "internalStopId": "3870",
+ "name": "Avda. de Cesáreo Vázquez 5",
+ "latitude": 42.177662554,
+ "longitude": -8.800157923,
+ "lines": [
+ "12A"
+ ]
+ },
+ {
+ "stopId": 20196,
+ "internalStopId": "5511",
+ "name": "Estrada de Camposancos 498",
+ "latitude": 42.175325155,
+ "longitude": -8.799594139,
+ "lines": [
+ "12A"
+ ]
+ },
+ {
+ "stopId": 20178,
+ "internalStopId": "5474",
+ "name": "Estrada de Camposancos (cruce Camiño da Estea)",
+ "latitude": 42.172412443,
+ "longitude": -8.799591567,
+ "lines": [
+ "12A"
+ ]
+ },
+ {
+ "stopId": 6140,
+ "internalStopId": "3406",
+ "name": "Estrada do Marco (Colexio)",
+ "latitude": 42.206925967,
+ "longitude": -8.707050443,
+ "lines": [
+ "18B",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7850,
+ "internalStopId": "3595",
+ "name": "Rúa de Saa 57",
+ "latitude": 42.202923204,
+ "longitude": -8.708085237,
+ "lines": [
+ "18B",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7840,
+ "internalStopId": "3594",
+ "name": "Rúa da Saa do Monte 73",
+ "latitude": 42.203039989,
+ "longitude": -8.710936623,
+ "lines": [
+ "18B"
+ ]
+ },
+ {
+ "stopId": 14238,
+ "internalStopId": "3859",
+ "name": "Rúa da Saa do Monte 5",
+ "latitude": 42.20458802,
+ "longitude": -8.714617309,
+ "lines": [
+ "18B"
+ ]
+ },
+ {
+ "stopId": 14240,
+ "internalStopId": "3861",
+ "name": "Rúa das Chabarras 21",
+ "latitude": 42.197985091,
+ "longitude": -8.714523201,
+ "lines": [
+ "18B"
+ ]
+ },
+ {
+ "stopId": 14242,
+ "internalStopId": "3863",
+ "name": "Rúa das Chabarras (cruce Camiño dos Pasais)",
+ "latitude": 42.196378259,
+ "longitude": -8.716979043,
+ "lines": [
+ "18B"
+ ]
+ },
+ {
+ "stopId": 5140,
+ "internalStopId": "3304",
+ "name": "Camiño da Falcoa 15",
+ "latitude": 42.207336295,
+ "longitude": -8.72129506,
+ "lines": [
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 3190,
+ "internalStopId": "3106",
+ "name": "Camiño de Quirós (cruce Rúa de Dona Cristina)",
+ "latitude": 42.219681782,
+ "longitude": -8.711385979,
+ "lines": [
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 3572,
+ "internalStopId": "3146",
+ "name": "Estrada de Bembrive 110",
+ "latitude": 42.208457815,
+ "longitude": -8.695017358,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7764,
+ "internalStopId": "3585",
+ "name": "Rúa de Segade 86",
+ "latitude": 42.209654568,
+ "longitude": -8.690495189,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7668,
+ "internalStopId": "3573",
+ "name": "Rúa de Recaré 39",
+ "latitude": 42.211022529,
+ "longitude": -8.688318168,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 7666,
+ "internalStopId": "3572",
+ "name": "Rúa de Recaré 3",
+ "latitude": 42.210514541,
+ "longitude": -8.685349777,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 8284,
+ "internalStopId": "3640",
+ "name": "Subida á Mouteira (Parque Monte Calvario)",
+ "latitude": 42.206779403,
+ "longitude": -8.686218813,
+ "lines": [
+ "14"
+ ]
+ },
+ {
+ "stopId": 20072,
+ "internalStopId": "4144",
+ "name": "Camiño do Pouso",
+ "latitude": 42.196643694,
+ "longitude": -8.671663218,
+ "lines": [
+ "15B"
+ ]
+ },
+ {
+ "stopId": 20045,
+ "internalStopId": "4117",
+ "name": "Rúa de Xestoso 4",
+ "latitude": 42.200532989,
+ "longitude": -8.674075447,
+ "lines": [
+ "15B"
+ ]
+ },
+ {
+ "stopId": 20046,
+ "internalStopId": "4118",
+ "name": "Rúa de Xestoso 12",
+ "latitude": 42.201968444,
+ "longitude": -8.67477879,
+ "lines": [
+ "15B"
+ ]
+ },
+ {
+ "stopId": 20047,
+ "internalStopId": "4119",
+ "name": "Rúa do Xestoso 72",
+ "latitude": 42.204330306,
+ "longitude": -8.674670483,
+ "lines": [
+ "15B"
+ ]
+ },
+ {
+ "stopId": 20071,
+ "internalStopId": "4143",
+ "name": "Rúa de Xestoso (fronte 105)",
+ "latitude": 42.205511653,
+ "longitude": -8.672824803,
+ "lines": [
+ "15B"
+ ]
+ },
+ {
+ "stopId": 4520,
+ "internalStopId": "3242",
+ "name": "Estrada das Plantas (Cidade Deportiva)",
+ "latitude": 42.175884385,
+ "longitude": -8.670789023,
+ "lines": [
+ "15C"
+ ]
+ },
+ {
+ "stopId": 14365,
+ "internalStopId": "3984",
+ "name": "Estrada das Plantas (Viveiros)",
+ "latitude": 42.181650197,
+ "longitude": -8.667515723,
+ "lines": [
+ "15C"
+ ]
+ },
+ {
+ "stopId": 14422,
+ "internalStopId": "4041",
+ "name": "Estrada das Plantas (Campo de Béisbol)",
+ "latitude": 42.18695315,
+ "longitude": -8.669514066,
+ "lines": [
+ "15C"
+ ]
+ },
+ {
+ "stopId": 4530,
+ "internalStopId": "3243",
+ "name": "Estrada das Plantas (fronte cruce Camiño do Pouso)",
+ "latitude": 42.199681015,
+ "longitude": -8.668860289,
+ "lines": [
+ "15C"
+ ]
+ },
+ {
+ "stopId": 14410,
+ "internalStopId": "4029",
+ "name": "Estrada das Plantas (cruce Avda. do Rebullón)",
+ "latitude": 42.204639457,
+ "longitude": -8.670329545,
+ "lines": [
+ "15C"
+ ]
+ },
+ {
+ "stopId": 7670,
+ "internalStopId": "3574",
+ "name": "Rúa San Cristobo 6",
+ "latitude": 42.235169136,
+ "longitude": -8.671176685,
+ "lines": [
+ "9B"
+ ]
+ },
+ {
+ "stopId": 7700,
+ "internalStopId": "3577",
+ "name": "Rúa San Cristobo 30",
+ "latitude": 42.236478263,
+ "longitude": -8.669194381,
+ "lines": [
+ "9B"
+ ]
+ },
+ {
+ "stopId": 7720,
+ "internalStopId": "3579",
+ "name": "Rúa San Cristobo 80",
+ "latitude": 42.24099726,
+ "longitude": -8.669077286,
+ "lines": [
+ "9B"
+ ]
+ },
+ {
+ "stopId": 14233,
+ "internalStopId": "3854",
+ "name": "Rúa San Cristobo 90",
+ "latitude": 42.241037275,
+ "longitude": -8.668947597,
+ "lines": [
+ "9B",
+ "28"
+ ]
+ },
+ {
+ "stopId": 2850,
+ "internalStopId": "3070",
+ "name": "Rúa da Goleta 2",
+ "latitude": 42.241676405,
+ "longitude": -8.665026825,
+ "lines": [
+ "9B",
+ "28"
+ ]
+ },
+ {
+ "stopId": 7630,
+ "internalStopId": "3566",
+ "name": "Rúa do Salgueiro 6",
+ "latitude": 42.243135911,
+ "longitude": -8.66173721,
+ "lines": [
+ "9B",
+ "28"
+ ]
+ },
+ {
+ "stopId": 7730,
+ "internalStopId": "3580",
+ "name": "Rúa do Salgueiro 24",
+ "latitude": 42.241580812,
+ "longitude": -8.658065611,
+ "lines": [
+ "9B",
+ "28"
+ ]
+ },
+ {
+ "stopId": 14390,
+ "internalStopId": "4009",
+ "name": "Rúa do Salgueiro (cruce Camiño Sanatorio)",
+ "latitude": 42.241570883,
+ "longitude": -8.655380719,
+ "lines": [
+ "9B",
+ "28"
+ ]
+ },
+ {
+ "stopId": 7640,
+ "internalStopId": "3567",
+ "name": "Rúa da Rabadeira 135",
+ "latitude": 42.241620781,
+ "longitude": -8.652000054,
+ "lines": [
+ "9B",
+ "28"
+ ]
+ },
+ {
+ "stopId": 7080,
+ "internalStopId": "3509",
+ "name": "Rúa da Rabadeira 95",
+ "latitude": 42.238797018,
+ "longitude": -8.650399429,
+ "lines": [
+ "9B",
+ "28"
+ ]
+ },
+ {
+ "stopId": 20186,
+ "internalStopId": "5492",
+ "name": "Rúa da Rabadeira 71",
+ "latitude": 42.23755404,
+ "longitude": -8.651558138,
+ "lines": [
+ "9B"
+ ]
+ },
+ {
+ "stopId": 14231,
+ "internalStopId": "3852",
+ "name": "Rúa da Rabadeira 39",
+ "latitude": 42.235542066,
+ "longitude": -8.652196565,
+ "lines": [
+ "9B"
+ ]
+ },
+ {
+ "stopId": 14908,
+ "internalStopId": "4065",
+ "name": "Rúa da Rabadeira 17",
+ "latitude": 42.233829075,
+ "longitude": -8.653458259,
+ "lines": [
+ "9B"
+ ]
+ },
+ {
+ "stopId": 14909,
+ "internalStopId": "4066",
+ "name": "Rúa da Rabadeira 11",
+ "latitude": 42.232663198,
+ "longitude": -8.655097059,
+ "lines": [
+ "9B"
+ ]
+ },
+ {
+ "stopId": 20117,
+ "internalStopId": "4863",
+ "name": "Estrada do Porto (cruce Camiño do Frascuelo)",
+ "latitude": 42.191616209,
+ "longitude": -8.706277831,
+ "lines": [
+ "6",
+ "27"
+ ]
+ },
+ {
+ "stopId": 20106,
+ "internalStopId": "4847",
+ "name": "Estrada do Porto (cruce Rúa das Sueiras)",
+ "latitude": 42.190158841,
+ "longitude": -8.705679937,
+ "lines": [
+ "6",
+ "27"
+ ]
+ },
+ {
+ "stopId": 20107,
+ "internalStopId": "4848",
+ "name": "Estrada do Porto (Lavadero)",
+ "latitude": 42.188244696,
+ "longitude": -8.703164368,
+ "lines": [
+ "6",
+ "27"
+ ]
+ },
+ {
+ "stopId": 20083,
+ "internalStopId": "4155",
+ "name": "Rúa Castañal 6",
+ "latitude": 42.188074669,
+ "longitude": -8.701928367,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 20084,
+ "internalStopId": "4156",
+ "name": "Rúa Castañal 26",
+ "latitude": 42.18711079,
+ "longitude": -8.699519743,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 20085,
+ "internalStopId": "4157",
+ "name": "Rúa Castañal (cruce Camiño das Presas)",
+ "latitude": 42.185852445,
+ "longitude": -8.696410892,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 20086,
+ "internalStopId": "4158",
+ "name": "Estrada dos Seixiños 67",
+ "latitude": 42.190645281,
+ "longitude": -8.696150583,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 20087,
+ "internalStopId": "4159",
+ "name": "Estrada dos Seixiños 23",
+ "latitude": 42.194639373,
+ "longitude": -8.696795357,
+ "lines": [
+ "27"
+ ]
+ },
+ {
+ "stopId": 20213,
+ "internalStopId": "5536",
+ "name": "Estrada do Porto 85",
+ "latitude": 42.183098288,
+ "longitude": -8.702241798,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 20158,
+ "internalStopId": "5429",
+ "name": "Estrada do Porto 81",
+ "latitude": 42.185593055,
+ "longitude": -8.702377974,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 20114,
+ "internalStopId": "4859",
+ "name": "Estrada do Porto (fronte Lavadero)",
+ "latitude": 42.18846205,
+ "longitude": -8.703352711,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 20115,
+ "internalStopId": "4861",
+ "name": "Estrada do Porto (fronte cruce Rúa das Sueiras)",
+ "latitude": 42.190100441,
+ "longitude": -8.705453204,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 20157,
+ "internalStopId": "5428",
+ "name": "Estrada do Porto 88",
+ "latitude": 42.185615419,
+ "longitude": -8.702424678,
+ "lines": [
+ "6"
+ ]
+ },
+ {
+ "stopId": 14237,
+ "internalStopId": "3858",
+ "name": "Rúa de Manuel Cominges 134",
+ "latitude": 42.196119748,
+ "longitude": -8.723457198,
+ "lines": [
+ "12B"
+ ]
+ },
+ {
+ "stopId": 20209,
+ "internalStopId": "5529",
+ "name": "Avda. do Alcalde Portanet 23",
+ "latitude": 42.211481651,
+ "longitude": -8.734440746,
+ "lines": [
+ "H1"
+ ]
+ },
+ {
+ "stopId": 14236,
+ "internalStopId": "3857",
+ "name": "Rúa de Manuel Cominges (fronte 112)",
+ "latitude": 42.196308523,
+ "longitude": -8.723526935,
+ "lines": [
+ "12B"
+ ]
+ },
+ {
+ "stopId": 6060,
+ "internalStopId": "3398",
+ "name": "Rúa de Manuel Cominges 135",
+ "latitude": 42.196716802,
+ "longitude": -8.729966982,
+ "lines": [
+ "12B"
+ ]
+ },
+ {
+ "stopId": 6090,
+ "internalStopId": "3401",
+ "name": "Rúa de Manuel Cominges 77",
+ "latitude": 42.197626151,
+ "longitude": -8.732546841,
+ "lines": [
+ "12B"
+ ]
+ },
+ {
+ "stopId": 6070,
+ "internalStopId": "3399",
+ "name": "Rúa de Manuel Cominges 15",
+ "latitude": 42.199197066,
+ "longitude": -8.736588816,
+ "lines": [
+ "12B"
+ ]
+ },
+ {
+ "stopId": 3180,
+ "internalStopId": "3105",
+ "name": "Camiño de Quirós 106",
+ "latitude": 42.21955863,
+ "longitude": -8.711410119,
+ "lines": [
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 3160,
+ "internalStopId": "3103",
+ "name": "Camiño da Falcoa 10",
+ "latitude": 42.206593246,
+ "longitude": -8.721651793,
+ "lines": [
+ "18B",
+ "18H"
+ ]
+ },
+ {
+ "stopId": 14243,
+ "internalStopId": "3864",
+ "name": "Rúa das Chabarras 24",
+ "latitude": 42.196539214,
+ "longitude": -8.716874437,
+ "lines": [
+ "18B"
+ ]
+ },
+ {
+ "stopId": 14241,
+ "internalStopId": "3862",
+ "name": "Rúa das Chabarras 60",
+ "latitude": 42.197842023,
+ "longitude": -8.71471632,
+ "lines": [
+ "18B"
+ ]
+ },
+ {
+ "stopId": 20142,
+ "internalStopId": "5399",
+ "name": "Camiño do Outeiro 3",
+ "latitude": 42.200738188,
+ "longitude": -8.714882876,
+ "lines": [
+ "18B"
+ ]
+ },
+ {
+ "stopId": 20189,
+ "internalStopId": "5498",
+ "name": "Rúa da Saa 10",
+ "latitude": 42.201625853,
+ "longitude": -8.712945043,
+ "lines": [
+ "18B",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 20188,
+ "internalStopId": "5497",
+ "name": "Rúa da Saa (fronte 43)",
+ "latitude": 42.201670402,
+ "longitude": -8.708928464,
+ "lines": [
+ "18B",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 7830,
+ "internalStopId": "3593",
+ "name": "Rúa de Saa 72",
+ "latitude": 42.20297089,
+ "longitude": -8.707945762,
+ "lines": [
+ "18B",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 6130,
+ "internalStopId": "3405",
+ "name": "Estrada do Marco 105",
+ "latitude": 42.207132591,
+ "longitude": -8.706967295,
+ "lines": [
+ "18B",
+ "H3"
+ ]
+ },
+ {
+ "stopId": 15002,
+ "internalStopId": "4070",
+ "name": "PTL 2",
+ "latitude": 42.177194637,
+ "longitude": -8.707850807,
+ "lines": [
+ "PTL"
+ ]
+ },
+ {
+ "stopId": 15003,
+ "internalStopId": "4071",
+ "name": "PTL 3",
+ "latitude": 42.178124939,
+ "longitude": -8.706606262,
+ "lines": [
+ "PTL"
+ ]
+ },
+ {
+ "stopId": 15004,
+ "internalStopId": "4072",
+ "name": "PTL 4",
+ "latitude": 42.176503017,
+ "longitude": -8.710007303,
+ "lines": [
+ "PTL"
+ ]
+ },
+ {
+ "stopId": 14252,
+ "internalStopId": "3873",
+ "name": "Estrada Clara Campoamor (Instituto)",
+ "latitude": 42.165934208,
+ "longitude": -8.707243001,
+ "lines": [
+ "U1"
+ ]
+ },
+ {
+ "stopId": 14384,
+ "internalStopId": "4003",
+ "name": "Estrada Clara Campoamor (Parque Tecnolóxico)",
+ "latitude": 42.175073486,
+ "longitude": -8.713494654,
+ "lines": [
+ "U1"
+ ]
+ }
+] \ No newline at end of file
diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx
index 5070e5f..1f5c319 100644
--- a/src/pages/Home.tsx
+++ b/src/pages/Home.tsx
@@ -1,46 +1,16 @@
+import { useEffect, useMemo, useState } from "react";
import { Link, useNavigate } from "react-router-dom";
-import useSWR from "swr";
+import { Stop, StopDataProvider } from "../data/stopDataProvider";
-interface Stop {
- stopId: number
- name: string;
- latitude?: number;
- longitude?: number;
- lines: string[];
-}
-
-interface CachedStopList {
- timestamp: number;
- data: Stop[];
-}
+const sdp = new StopDataProvider();
export function Home() {
- const navigate = useNavigate()
- const { data, error, isLoading } = useSWR<Stop[]>('home', async () => {
- const rawCachedData = localStorage.getItem('cachedStopList');
- if (rawCachedData) {
- const parsedData: CachedStopList = JSON.parse(rawCachedData)
+ const [data, setData] = useState<Stop[] | null>(null)
+ const navigate = useNavigate();
- // Cache for 12 hours
- if (Date.now() - parsedData.timestamp < 1000 * 60 * 60 * 12) {
- return parsedData.data
- } else {
- localStorage.removeItem('cachedStopList')
- }
- }
-
- const response = await fetch('/api/ListStops')
- const body = await response.json();
-
- const cachedData: CachedStopList = {
- timestamp: Date.now(),
- data: body
- }
-
- localStorage.setItem('cachedStopList', JSON.stringify(cachedData));
-
- return body;
- });
+ useEffect(() => {
+ sdp.getStops().then((stops: Stop[]) => setData(stops))
+ }, []);
const handleStopSearch = async (event: React.FormEvent) => {
event.preventDefault()
@@ -54,12 +24,15 @@ export function Home() {
}
}
- if (isLoading) return <h1>Loading...</h1>
- if (error) return <h1>Error</h1>
+ const favouritedStops = useMemo(() => {
+ return data?.filter(stop => stop.favourite) ?? []
+ }, [data])
+
+ if (data === null) return <h1>Loading...</h1>
return (
<>
- <h1>Home</h1>
+ <h1>UrbanoVigo Web</h1>
<form action="none" onSubmit={handleStopSearch}>
<div>
@@ -72,6 +45,26 @@ export function Home() {
<button type="submit">Buscar</button>
</form>
+ <h2>Paradas favoritas</h2>
+
+ {favouritedStops?.length == 1 && (
+ <p>
+ Accede a una parada y márcala como favorita para verla aquí.
+ </p>
+ )}
+
+ <ul>
+ {favouritedStops?.sort((a, b) => a.stopId - b.stopId).map((stop: Stop) => (
+ <li key={stop.stopId}>
+ <Link to={`/${stop.stopId}`}>
+ ({stop.stopId}) {stop.name} - {stop.lines?.join(', ')}
+ </Link>
+ </li>
+ ))}
+ </ul>
+
+ <h2>Paradas</h2>
+
<ul>
{data?.sort((a, b) => a.stopId - b.stopId).map((stop: Stop) => (
<li key={stop.stopId}>
diff --git a/src/pages/Stop.tsx b/src/pages/Stop.tsx
index a5effc1..4fa68cf 100644
--- a/src/pages/Stop.tsx
+++ b/src/pages/Stop.tsx
@@ -1,5 +1,6 @@
+import { useEffect, useState } from "react";
import { Link, useParams } from "react-router-dom";
-import useSWR from "swr";
+import { StopDataProvider } from "../data/stopDataProvider";
interface StopDetails {
stop: {
@@ -8,28 +9,33 @@ interface StopDetails {
latitude: number;
longitude: number;
}
- estimates: [{
+ estimates: {
line: string;
route: string;
minutes: number;
meters: number;
- }]
+ }[]
}
export function Stop(): JSX.Element {
+ const sdp = new StopDataProvider();
+ const [data, setData] = useState<StopDetails | null>(null);
+ const [favourited, setFavourited] = useState(false);
const params = useParams();
- const { data, error, isLoading } = useSWR<StopDetails>(`stop-${params.stopId}`, async () => {
- let response;
+ const loadData = () => {
+ fetch(`/api/GetStopEstimates?id=${params.stopId}`)
+ .then(r => r.json())
+ .then((body: StopDetails) => setData(body));
+ };
- try {
- response = await fetch(`/api/GetStopEstimates?id=${params.stopId}`)
- return response.json()
- } catch (error) {
- console.error(error)
- throw new Error(`Failed to fetch data, status ${response!.status}, body: ${await response!.text()}`)
- }
- });
+ useEffect(() => {
+ loadData();
+
+ setFavourited(
+ sdp.isFavourite(parseInt(params.stopId ?? ""))
+ );
+ })
const absoluteArrivalTime = (minutes: number) => {
const now = new Date()
@@ -40,9 +46,7 @@ export function Stop(): JSX.Element {
}).format(arrival)
}
- if (isLoading) return <h1>Loading...</h1>
- if (error) return <h1>Error: {JSON.stringify(error)}</h1>
- if (data === undefined) return <h1>No data</h1>
+ if (data === null) return <h1>Cargando datos en tiempo real...</h1>
return (
<>
@@ -50,21 +54,31 @@ export function Stop(): JSX.Element {
<h1>{data?.stop.name} ({data?.stop.id})</h1>
</div>
- <Link to="/">
- <svg
- xmlns="http://www.w3.org/2000/svg"
- viewBox="0 0 24 24"
- fill="none"
- stroke="currentColor"
- strokeWidth="2"
- strokeLinecap="round"
- strokeLinejoin="round"
- style={{marginInlineEnd: '0.5em', width: '1em', height: '1em'}}
- >
- <path d="M19 12H5M12 19l-7-7 7-7" />
- </svg>
- Volver al listado de paradas
- </Link>
+ <div style={{display: 'flex', gap: '1rem'}}>
+ <Link to="/" className="button">
+ 🔙 Volver al listado de paradas
+ </Link>
+
+ {!favourited && (
+ <button type="button" onClick={() => {
+ sdp.addFavourite(parseInt(params.stopId ?? ""));
+ setFavourited(true);
+ }}>
+ ⭐ Añadir a favoritos
+ </button>
+ )}
+
+ {favourited && (
+ <button type="button" onClick={() => {
+ sdp.removeFavourite(parseInt(params.stopId ?? ""));
+ setFavourited(false);
+ }}>
+ ⭐Quitar de favoritos
+ </button>
+ )}
+
+ <button onClick={loadData}>⬇️ Recargar</button>
+ </div>
<table>
<caption>Estimaciones de llegadas</caption>
@@ -97,6 +111,14 @@ export function Stop(): JSX.Element {
</tr>
))}
</tbody>
+
+ {data?.estimates.length === 0 && (
+ <tfoot>
+ <tr>
+ <td colSpan={4}>No hay estimaciones disponibles</td>
+ </tr>
+ </tfoot>
+ )}
</table>
<p>