diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/data/StopDataProvider.ts | 65 | ||||
| -rw-r--r-- | src/data/stops.json | 14104 | ||||
| -rw-r--r-- | src/pages/Home.tsx | 75 | ||||
| -rw-r--r-- | src/pages/Stop.tsx | 84 |
4 files changed, 14256 insertions, 72 deletions
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> |
