From bf6d8722e02cdefd1413588ae0e45d55221c092a Mon Sep 17 00:00:00 2001 From: mathis Date: Sun, 30 Aug 2026 02:17:54 +0200 Subject: [PATCH] Fix: add missing services files --- src/hooks/useAfficheurData.js | 78 + src/services/gtfsStations.js | 24730 +++++++++++++++++++++++++++++++ src/services/railwayService.js | 71 + src/services/sncfApi.js | 539 + src/services/supabaseApi.js | 116 + 5 files changed, 25534 insertions(+) create mode 100644 src/hooks/useAfficheurData.js create mode 100644 src/services/gtfsStations.js create mode 100644 src/services/railwayService.js create mode 100644 src/services/sncfApi.js create mode 100644 src/services/supabaseApi.js diff --git a/src/hooks/useAfficheurData.js b/src/hooks/useAfficheurData.js new file mode 100644 index 0000000..346a30f --- /dev/null +++ b/src/hooks/useAfficheurData.js @@ -0,0 +1,78 @@ +import { useState, useEffect, useCallback } from 'react'; +import { getSourceFromPath, getTimetable, getStationMeta } from '../services/railwayService'; + +/** + * Hook unifié pour charger les horaires et métadonnées d'affichage + * selon la source active (SNCF GTFS ou Supabase Ferrovia) + */ +export default function useAfficheurData({ + gareName, + gareId = null, + mode = 'departs', + quai = null, + refreshIntervalMs = 30000 +}) { + const [source, setSource] = useState(() => getSourceFromPath(window.location.pathname)); + const [horaires, setHoraires] = useState([]); + const [perturbations, setPerturbations] = useState([]); + const [travaux, setTravaux] = useState([]); + const [stationType, setStationType] = useState(null); + const [resolvedGareId, setResolvedGareId] = useState(gareId); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useEffect(() => { + setSource(getSourceFromPath(window.location.pathname)); + }, []); + + const fetchData = useCallback(async () => { + try { + setLoading(true); + setError(null); + + // 1. Récupération des métadonnées de la gare + const meta = await getStationMeta(gareId || gareName, source); + if (meta) { + setStationType(meta.type ? String(meta.type).toLowerCase() : null); + if (meta.id) setResolvedGareId(meta.id); + } + + // 2. Récupération des horaires & perturbations + const res = await getTimetable({ gareName, mode, quai, source }); + if (res.error) { + setError(res.error); + } else { + setHoraires(res.data || []); + setPerturbations(res.perturbations || []); + setTravaux(res.travaux || []); + } + } catch (err) { + console.error('[useAfficheurData] Erreur de chargement:', err); + setError(err.message || String(err)); + } finally { + setLoading(false); + } + }, [gareName, gareId, mode, quai, source]); + + useEffect(() => { + fetchData(); + + // Polling automatique pour actualiser les données en temps réel + if (refreshIntervalMs > 0) { + const interval = setInterval(fetchData, refreshIntervalMs); + return () => clearInterval(interval); + } + }, [fetchData, refreshIntervalMs]); + + return { + source, + horaires, + perturbations, + travaux, + stationType, + resolvedGareId, + loading, + error, + refetch: fetchData + }; +} diff --git a/src/services/gtfsStations.js b/src/services/gtfsStations.js new file mode 100644 index 0000000..c52b3ad --- /dev/null +++ b/src/services/gtfsStations.js @@ -0,0 +1,24730 @@ +// Référentiel GTFS SNCF exhaustif des gares françaises +// Généré automatiquement depuis l'archive officielle GTFS SNCF Voyageurs + +export const GTFS_GARES = [ + { + "uic": "87313759", + "stop_area": "stop_area:OCE:SA:87313759", + "nom": "Abancourt", + "lat": 49.685621, + "lon": 1.774297 + }, + { + "uic": "87481614", + "stop_area": "stop_area:OCE:SA:87481614", + "nom": "Abbaretz", + "lat": 47.555241, + "lon": -1.524289 + }, + { + "uic": "87317362", + "stop_area": "stop_area:OCE:SA:87317362", + "nom": "Abbeville", + "lat": 50.102175, + "lon": 1.824538 + }, + { + "uic": "87191403", + "stop_area": "stop_area:OCE:SA:87191403", + "nom": "Aboncourt Mairie", + "lat": 49.261076, + "lon": 6.346603 + }, + { + "uic": "87677252", + "stop_area": "stop_area:OCE:SA:87677252", + "nom": "Accolay Le Pont", + "lat": 47.663798, + "lon": 3.709584 + }, + { + "uic": "87342048", + "stop_area": "stop_area:OCE:SA:87342048", + "nom": "Achiet", + "lat": 50.131919, + "lon": 2.780112 + }, + { + "uic": "87658856", + "stop_area": "stop_area:OCE:SA:87658856", + "nom": "Adamswiller Lotissement la Forêt", + "lat": 48.905635, + "lon": 7.208238 + }, + { + "uic": "87658922", + "stop_area": "stop_area:OCE:SA:87658922", + "nom": "Adamswiller Mairie", + "lat": 48.903835, + "lon": 7.201179 + }, + { + "uic": "87271494", + "stop_area": "stop_area:OCE:SA:87271494", + "nom": "Aéroport Charles de Gaulle 2 TGV", + "lat": 49.003618, + "lon": 2.570812 + }, + { + "uic": "87757559", + "stop_area": "stop_area:OCE:SA:87757559", + "nom": "Agay", + "lat": 43.43137, + "lon": 6.8565 + }, + { + "uic": "87781278", + "stop_area": "stop_area:OCE:SA:87781278", + "nom": "Agde", + "lat": 43.31728, + "lon": 3.466203 + }, + { + "uic": "87586008", + "stop_area": "stop_area:OCE:SA:87586008", + "nom": "Agen", + "lat": 44.207967, + "lon": 0.620867 + }, + { + "uic": "87595157", + "stop_area": "stop_area:OCE:SA:87595157", + "nom": "Agonac", + "lat": 45.286605, + "lon": 0.748653 + }, + { + "uic": "87783399", + "stop_area": "stop_area:OCE:SA:87783399", + "nom": "Aguessac Avenue de Causses", + "lat": 44.153724, + "lon": 3.097892 + }, + { + "uic": "87762583", + "stop_area": "stop_area:OCE:SA:87762583", + "nom": "Aguessac Bellevue", + "lat": 44.16026, + "lon": 3.090917 + }, + { + "uic": "87171702", + "stop_area": "stop_area:OCE:SA:87171702", + "nom": "Aguilcourt - Variscourt", + "lat": 49.407994, + "lon": 3.973095 + }, + { + "uic": "87485193", + "stop_area": "stop_area:OCE:SA:87485193", + "nom": "Aigrefeuille Le Thou", + "lat": 46.09402, + "lon": -0.95168 + }, + { + "uic": "87695957", + "stop_area": "stop_area:OCE:SA:87695957", + "nom": "Aiguebelette-Centre", + "lat": 45.537542, + "lon": 5.812926 + }, + { + "uic": "87741421", + "stop_area": "stop_area:OCE:SA:87741421", + "nom": "Aiguebelette-le-Lac", + "lat": 45.536323, + "lon": 5.813122 + }, + { + "uic": "87741256", + "stop_area": "stop_area:OCE:SA:87741256", + "nom": "Aiguebelle", + "lat": 45.543703, + "lon": 6.306737 + }, + { + "uic": "87741710", + "stop_area": "stop_area:OCE:SA:87741710", + "nom": "Aigueblanche-Centre", + "lat": 45.501835, + "lon": 6.508605 + }, + { + "uic": "87734129", + "stop_area": "stop_area:OCE:SA:87734129", + "nom": "Aigueperse", + "lat": 46.014869, + "lon": 3.197912 + }, + { + "uic": "87775858", + "stop_area": "stop_area:OCE:SA:87775858", + "nom": "Aigues-Mortes", + "lat": 43.570901, + "lon": 4.19121 + }, + { + "uic": "87586693", + "stop_area": "stop_area:OCE:SA:87586693", + "nom": "Aiguillon", + "lat": 44.298624, + "lon": 0.335543 + }, + { + "uic": "87215624", + "stop_area": "stop_area:OCE:SA:87215624", + "nom": "Ailleville", + "lat": 48.254741, + "lon": 4.682252 + }, + { + "uic": "87185629", + "stop_area": "stop_area:OCE:SA:87185629", + "nom": "Aillevillers", + "lat": 47.91389, + "lon": 6.33736 + }, + { + "uic": "87313221", + "stop_area": "stop_area:OCE:SA:87313221", + "nom": "Ailly-sur-Noye", + "lat": 49.754206, + "lon": 2.364147 + }, + { + "uic": "87313098", + "stop_area": "stop_area:OCE:SA:87313098", + "nom": "Ailly-sur-Somme", + "lat": 49.928515, + "lon": 2.200476 + }, + { + "uic": "87775833", + "stop_area": "stop_area:OCE:SA:87775833", + "nom": "Aimargues", + "lat": 43.678643, + "lon": 4.20845 + }, + { + "uic": "87741769", + "stop_area": "stop_area:OCE:SA:87741769", + "nom": "Aime - La Plagne", + "lat": 45.554387, + "lon": 6.648614 + }, + { + "uic": "87713636", + "stop_area": "stop_area:OCE:SA:87713636", + "nom": "Aiserey", + "lat": 47.170645, + "lon": 5.158352 + }, + { + "uic": "87741249", + "stop_area": "stop_area:OCE:SA:87741249", + "nom": "Aiton-Salle-Polyvalente", + "lat": 45.560231, + "lon": 6.254831 + }, + { + "uic": "87751404", + "stop_area": "stop_area:OCE:SA:87751404", + "nom": "Aix-en-Provence", + "lat": 43.522903, + "lon": 5.44533 + }, + { + "uic": "87319012", + "stop_area": "stop_area:OCE:SA:87319012", + "nom": "Aix-en-Provence TGV", + "lat": 43.455237, + "lon": 5.317534 + }, + { + "uic": "87741132", + "stop_area": "stop_area:OCE:SA:87741132", + "nom": "Aix-les-Bains le Revard", + "lat": 45.688161, + "lon": 5.909371 + }, + { + "uic": "87592667", + "stop_area": "stop_area:OCE:SA:87592667", + "nom": "Aixe-sur-Vienne", + "lat": 45.796573, + "lon": 1.145724 + }, + { + "uic": "87417808", + "stop_area": "stop_area:OCE:SA:87417808", + "nom": "Ajain", + "lat": 46.207153, + "lon": 1.99724 + }, + { + "uic": "87722744", + "stop_area": "stop_area:OCE:SA:87722744", + "nom": "Alaï", + "lat": 45.752428, + "lon": 4.771695 + }, + { + "uic": "87698381", + "stop_area": "stop_area:OCE:SA:87698381", + "nom": "Alai Arrêt TCL", + "lat": 45.751467, + "lon": 4.766994 + }, + { + "uic": "87420836", + "stop_area": "stop_area:OCE:SA:87420836", + "nom": "Alba-la-Romaine Ruines Romaines", + "lat": 44.562774, + "lon": 4.595211 + }, + { + "uic": "87746115", + "stop_area": "stop_area:OCE:SA:87746115", + "nom": "Albens", + "lat": 45.785946, + "lon": 5.948342 + }, + { + "uic": "87313072", + "stop_area": "stop_area:OCE:SA:87313072", + "nom": "Albert", + "lat": 50.005395, + "lon": 2.644481 + }, + { + "uic": "87741645", + "stop_area": "stop_area:OCE:SA:87741645", + "nom": "Albertville", + "lat": 45.672977, + "lon": 6.383167 + }, + { + "uic": "87615195", + "stop_area": "stop_area:OCE:SA:87615195", + "nom": "Albi Madeleine", + "lat": 43.938137, + "lon": 2.141209 + }, + { + "uic": "87615005", + "stop_area": "stop_area:OCE:SA:87615005", + "nom": "Albi Ville", + "lat": 43.92238, + "lon": 2.137958 + }, + { + "uic": "87139089", + "stop_area": "stop_area:OCE:SA:87139089", + "nom": "Albias", + "lat": 44.090527, + "lon": 1.44713 + }, + { + "uic": "87613398", + "stop_area": "stop_area:OCE:SA:87613398", + "nom": "Albias", + "lat": 44.091981, + "lon": 1.444922 + }, + { + "uic": "87721266", + "stop_area": "stop_area:OCE:SA:87721266", + "nom": "Albigny - Neuville", + "lat": 45.874897, + "lon": 4.832852 + }, + { + "uic": "87697003", + "stop_area": "stop_area:OCE:SA:87697003", + "nom": "Albigny-Neuville-Arret-TCL-Gare", + "lat": 45.875356, + "lon": 4.833042 + }, + { + "uic": "87444711", + "stop_area": "stop_area:OCE:SA:87444711", + "nom": "Alençon", + "lat": 48.433884, + "lon": 0.098531 + }, + { + "uic": "87775288", + "stop_area": "stop_area:OCE:SA:87775288", + "nom": "Alès", + "lat": 44.127825, + "lon": 4.084948 + }, + { + "uic": "87615187", + "stop_area": "stop_area:OCE:SA:87615187", + "nom": "Alet-les-Bains", + "lat": 42.997403, + "lon": 2.252189 + }, + { + "uic": "87117465", + "stop_area": "stop_area:OCE:SA:87117465", + "nom": "Allamps E.S.A.T", + "lat": 48.542768, + "lon": 5.796812 + }, + { + "uic": "87594234", + "stop_area": "stop_area:OCE:SA:87594234", + "nom": "Allassac", + "lat": 45.258984, + "lon": 1.473316 + }, + { + "uic": "87783654", + "stop_area": "stop_area:OCE:SA:87783654", + "nom": "Allenc", + "lat": 44.541296, + "lon": 3.663893 + }, + { + "uic": "87731885", + "stop_area": "stop_area:OCE:SA:87731885", + "nom": "Alleyras", + "lat": 44.919217, + "lon": 3.673517 + }, + { + "uic": "87639955", + "stop_area": "stop_area:OCE:SA:87639955", + "nom": "Alteckendorf Altdorf", + "lat": 48.794562, + "lon": 7.589267 + }, + { + "uic": "87639930", + "stop_area": "stop_area:OCE:SA:87639930", + "nom": "Alteckendorf Eckendorf", + "lat": 48.789785, + "lon": 7.601602 + }, + { + "uic": "87639948", + "stop_area": "stop_area:OCE:SA:87639948", + "nom": "Alteckendorf Mairie", + "lat": 48.792818, + "lon": 7.594688 + }, + { + "uic": "87182238", + "stop_area": "stop_area:OCE:SA:87182238", + "nom": "Altkirch", + "lat": 47.627017, + "lon": 7.23905 + }, + { + "uic": "87117515", + "stop_area": "stop_area:OCE:SA:87117515", + "nom": "Alzing Rue de Brettnach", + "lat": 49.278966, + "lon": 6.552207 + }, + { + "uic": "87172262", + "stop_area": "stop_area:OCE:SA:87172262", + "nom": "Amagne - Lucquy", + "lat": 49.52377, + "lon": 4.473898 + }, + { + "uic": "87592311", + "stop_area": "stop_area:OCE:SA:87592311", + "nom": "Ambazac", + "lat": 45.952901, + "lon": 1.406583 + }, + { + "uic": "87743716", + "stop_area": "stop_area:OCE:SA:87743716", + "nom": "Ambérieu-en-Bugey", + "lat": 45.954014, + "lon": 5.342402 + }, + { + "uic": "87574343", + "stop_area": "stop_area:OCE:SA:87574343", + "nom": "Amboise", + "lat": 47.421469, + "lon": 0.981267 + }, + { + "uic": "87743146", + "stop_area": "stop_area:OCE:SA:87743146", + "nom": "Ambronay - Priay", + "lat": 46.011866, + "lon": 5.339141 + }, + { + "uic": "87695965", + "stop_area": "stop_area:OCE:SA:87695965", + "nom": "Ambronay-Priay RD 1075", + "lat": 46.01159, + "lon": 5.338143 + }, + { + "uic": "87313874", + "stop_area": "stop_area:OCE:SA:87313874", + "nom": "Amiens", + "lat": 49.890584, + "lon": 2.308277 + }, + { + "uic": "87171744", + "stop_area": "stop_area:OCE:SA:87171744", + "nom": "Amifontaine", + "lat": 49.484738, + "lon": 3.910666 + }, + { + "uic": "87394205", + "stop_area": "stop_area:OCE:SA:87394205", + "nom": "Amilly - Ouerray", + "lat": 48.438294, + "lon": 1.389396 + }, + { + "uic": "87721035", + "stop_area": "stop_area:OCE:SA:87721035", + "nom": "Amplepuis", + "lat": 45.971014, + "lon": 4.326763 + }, + { + "uic": "87481192", + "stop_area": "stop_area:OCE:SA:87481192", + "nom": "Ancenis", + "lat": 47.369334, + "lon": -1.177763 + }, + { + "uic": "87744177", + "stop_area": "stop_area:OCE:SA:87744177", + "nom": "Ancenis Bis", + "lat": 47.369334, + "lon": -1.177763 + }, + { + "uic": "87172858", + "stop_area": "stop_area:OCE:SA:87172858", + "nom": "Anchamps", + "lat": 49.930745, + "lon": 4.670243 + }, + { + "uic": "87575332", + "stop_area": "stop_area:OCE:SA:87575332", + "nom": "Anché - Voulon", + "lat": 46.349675, + "lon": 0.250357 + }, + { + "uic": "87192419", + "stop_area": "stop_area:OCE:SA:87192419", + "nom": "Ancy-sur-Moselle", + "lat": 49.057714, + "lon": 6.062342 + }, + { + "uic": "87715102", + "stop_area": "stop_area:OCE:SA:87715102", + "nom": "Andelot", + "lat": 46.859428, + "lon": 5.923677 + }, + { + "uic": "87611517", + "stop_area": "stop_area:OCE:SA:87611517", + "nom": "Andorre l'Hospitalet", + "lat": 42.589453, + "lon": 1.800264 + }, + { + "uic": "87726406", + "stop_area": "stop_area:OCE:SA:87726406", + "nom": "Andrézieux", + "lat": 45.521736, + "lon": 4.255418 + }, + { + "uic": "87484048", + "stop_area": "stop_area:OCE:SA:87484048", + "nom": "Angers Maître École", + "lat": 47.466953, + "lon": -0.532437 + }, + { + "uic": "87484006", + "stop_area": "stop_area:OCE:SA:87484006", + "nom": "Angers Saint-Laud", + "lat": 47.464649, + "lon": -0.55677 + }, + { + "uic": "87543090", + "stop_area": "stop_area:OCE:SA:87543090", + "nom": "Angerville", + "lat": 48.311632, + "lon": 2.003526 + }, + { + "uic": "87583005", + "stop_area": "stop_area:OCE:SA:87583005", + "nom": "Angoulême", + "lat": 45.653572, + "lon": 0.164608 + }, + { + "uic": "87485102", + "stop_area": "stop_area:OCE:SA:87485102", + "nom": "Angoulins sur Mer", + "lat": 46.107785, + "lon": -1.115622 + }, + { + "uic": "87296566", + "stop_area": "stop_area:OCE:SA:87296566", + "nom": "Anizy - Pinon", + "lat": 49.49615, + "lon": 3.448575 + }, + { + "uic": "87286856", + "stop_area": "stop_area:OCE:SA:87286856", + "nom": "Annappes", + "lat": 50.622807, + "lon": 3.14629 + }, + { + "uic": "87746008", + "stop_area": "stop_area:OCE:SA:87746008", + "nom": "Annecy", + "lat": 45.902047, + "lon": 6.121826 + }, + { + "uic": "87745497", + "stop_area": "stop_area:OCE:SA:87745497", + "nom": "Annemasse", + "lat": 46.199245, + "lon": 6.236431 + }, + { + "uic": "87761270", + "stop_area": "stop_area:OCE:SA:87761270", + "nom": "Annonay-Gare Routière", + "lat": 45.24373, + "lon": 4.66863 + }, + { + "uic": "87295055", + "stop_area": "stop_area:OCE:SA:87295055", + "nom": "Anor", + "lat": 49.985022, + "lon": 4.093473 + }, + { + "uic": "87721324", + "stop_area": "stop_area:OCE:SA:87721324", + "nom": "Anse", + "lat": 45.939351, + "lon": 4.719824 + }, + { + "uic": "87697011", + "stop_area": "stop_area:OCE:SA:87697011", + "nom": "Anse-Monument", + "lat": 45.936999, + "lon": 4.718314 + }, + { + "uic": "87757567", + "stop_area": "stop_area:OCE:SA:87757567", + "nom": "Anthéor Cap Roux", + "lat": 43.434985, + "lon": 6.892186 + }, + { + "uic": "87757674", + "stop_area": "stop_area:OCE:SA:87757674", + "nom": "Antibes", + "lat": 43.585971, + "lon": 7.119913 + }, + { + "uic": "87611715", + "stop_area": "stop_area:OCE:SA:87611715", + "nom": "Antignac Village", + "lat": 42.825917, + "lon": 0.600018 + }, + { + "uic": "87317255", + "stop_area": "stop_area:OCE:SA:87317255", + "nom": "Anvin", + "lat": 50.446779, + "lon": 2.255089 + }, + { + "uic": "87191387", + "stop_area": "stop_area:OCE:SA:87191387", + "nom": "Anzeling", + "lat": 49.262072, + "lon": 6.460265 + }, + { + "uic": "87405571", + "stop_area": "stop_area:OCE:SA:87405571", + "nom": "Anzeling Carrefour", + "lat": 49.26394, + "lon": 6.463126 + }, + { + "uic": "87191643", + "stop_area": "stop_area:OCE:SA:87191643", + "nom": "Apach", + "lat": 49.458963, + "lon": 6.372365 + }, + { + "uic": "87635854", + "stop_area": "stop_area:OCE:SA:87635854", + "nom": "Apach Église", + "lat": 49.459995, + "lon": 6.374717 + }, + { + "uic": "80142893", + "stop_area": "stop_area:OCE:SA:80142893", + "nom": "Appenweier", + "lat": 48.5419, + "lon": 7.9735 + }, + { + "uic": "87296459", + "stop_area": "stop_area:OCE:SA:87296459", + "nom": "Appilly", + "lat": 49.580466, + "lon": 3.120772 + }, + { + "uic": "87582726", + "stop_area": "stop_area:OCE:SA:87582726", + "nom": "Arbanats", + "lat": 44.674373, + "lon": -0.39551 + }, + { + "uic": "87718155", + "stop_area": "stop_area:OCE:SA:87718155", + "nom": "Arbois", + "lat": 46.912467, + "lon": 5.764837 + }, + { + "uic": "87718841", + "stop_area": "stop_area:OCE:SA:87718841", + "nom": "Arc-et-Senans", + "lat": 47.030473, + "lon": 5.77683 + }, + { + "uic": "87582668", + "stop_area": "stop_area:OCE:SA:87582668", + "nom": "Arcachon", + "lat": 44.658967, + "lon": -1.165323 + }, + { + "uic": "87144410", + "stop_area": "stop_area:OCE:SA:87144410", + "nom": "Arches", + "lat": 48.118896, + "lon": 6.528105 + }, + { + "uic": "87747196", + "stop_area": "stop_area:OCE:SA:87747196", + "nom": "Arcis-sur-Aube Rue de Châlons", + "lat": 48.5376, + "lon": 4.1418 + }, + { + "uic": "87683680", + "stop_area": "stop_area:OCE:SA:87683680", + "nom": "Arcy-sur-Cure", + "lat": 47.600873, + "lon": 3.766638 + }, + { + "uic": "87671479", + "stop_area": "stop_area:OCE:SA:87671479", + "nom": "Arengosse", + "lat": 44.007044, + "lon": -0.809053 + }, + { + "uic": "87784231", + "stop_area": "stop_area:OCE:SA:87784231", + "nom": "Argelès-sur-Mer", + "lat": 42.543908, + "lon": 3.021919 + }, + { + "uic": "87444539", + "stop_area": "stop_area:OCE:SA:87444539", + "nom": "Argentan", + "lat": 48.738545, + "lon": -0.025291 + }, + { + "uic": "87746859", + "stop_area": "stop_area:OCE:SA:87746859", + "nom": "Argentière", + "lat": 45.981944, + "lon": 6.926484 + }, + { + "uic": "87741272", + "stop_area": "stop_area:OCE:SA:87741272", + "nom": "Argentine", + "lat": 45.497151, + "lon": 6.314943 + }, + { + "uic": "87697151", + "stop_area": "stop_area:OCE:SA:87697151", + "nom": "Argentine-Gemelly-ou-Stade", + "lat": 45.51262, + "lon": 6.3152 + }, + { + "uic": "87697144", + "stop_area": "stop_area:OCE:SA:87697144", + "nom": "Argentine-La-Combe", + "lat": 45.502072, + "lon": 6.318651 + }, + { + "uic": "87597120", + "stop_area": "stop_area:OCE:SA:87597120", + "nom": "Argenton-sur-Creuse", + "lat": 46.59225, + "lon": 1.518256 + }, + { + "uic": "87753657", + "stop_area": "stop_area:OCE:SA:87753657", + "nom": "Arles", + "lat": 43.684863, + "lon": 4.632105 + }, + { + "uic": "87345421", + "stop_area": "stop_area:OCE:SA:87345421", + "nom": "Arleux", + "lat": 50.286347, + "lon": 3.120522 + }, + { + "uic": "87286146", + "stop_area": "stop_area:OCE:SA:87286146", + "nom": "Armentières", + "lat": 50.680848, + "lon": 2.87768 + }, + { + "uic": "87396549", + "stop_area": "stop_area:OCE:SA:87396549", + "nom": "Arnage", + "lat": 47.928541, + "lon": 0.189882 + }, + { + "uic": "87281121", + "stop_area": "stop_area:OCE:SA:87281121", + "nom": "Arnèke", + "lat": 50.831509, + "lon": 2.408468 + }, + { + "uic": "87192153", + "stop_area": "stop_area:OCE:SA:87192153", + "nom": "Arraincourt Rue Principale", + "lat": 48.970807, + "lon": 6.532016 + }, + { + "uic": "87342014", + "stop_area": "stop_area:OCE:SA:87342014", + "nom": "Arras", + "lat": 50.286971, + "lon": 2.781314 + }, + { + "uic": "87407502", + "stop_area": "stop_area:OCE:SA:87407502", + "nom": "Arrest Usine Melius", + "lat": 45.396438, + "lon": 3.326379 + }, + { + "uic": "87701789", + "stop_area": "stop_area:OCE:SA:87701789", + "nom": "Arromanches-les-Bains", + "lat": 49.337891, + "lon": -0.625119 + }, + { + "uic": "87394486", + "stop_area": "stop_area:OCE:SA:87394486", + "nom": "Arrou", + "lat": 48.099883, + "lon": 1.128151 + }, + { + "uic": "87192401", + "stop_area": "stop_area:OCE:SA:87192401", + "nom": "Ars-sur-Moselle", + "lat": 49.074475, + "lon": 6.077646 + }, + { + "uic": "87215707", + "stop_area": "stop_area:OCE:SA:87215707", + "nom": "Arsonval", + "lat": 48.268071, + "lon": 4.64892 + }, + { + "uic": "87543058", + "stop_area": "stop_area:OCE:SA:87543058", + "nom": "Artenay", + "lat": 48.081057, + "lon": 1.883226 + }, + { + "uic": "87672212", + "stop_area": "stop_area:OCE:SA:87672212", + "nom": "Artix", + "lat": 43.393195, + "lon": -0.570082 + }, + { + "uic": "87734251", + "stop_area": "stop_area:OCE:SA:87734251", + "nom": "Arvant", + "lat": 45.365459, + "lon": 3.310554 + }, + { + "uic": "87286864", + "stop_area": "stop_area:OCE:SA:87286864", + "nom": "Ascq", + "lat": 50.621804, + "lon": 3.159905 + }, + { + "uic": "87763250", + "stop_area": "stop_area:OCE:SA:87763250", + "nom": "Aspres-sur-Buëch", + "lat": 44.519423, + "lon": 5.754559 + }, + { + "uic": "87672162", + "stop_area": "stop_area:OCE:SA:87672162", + "nom": "Assat", + "lat": 43.254399, + "lon": -0.295018 + }, + { + "uic": "87613075", + "stop_area": "stop_area:OCE:SA:87613075", + "nom": "Assier", + "lat": 44.67468, + "lon": 1.869757 + }, + { + "uic": "87586321", + "stop_area": "stop_area:OCE:SA:87586321", + "nom": "Astaffort", + "lat": 44.066944, + "lon": 0.651155 + }, + { + "uic": "87751750", + "stop_area": "stop_area:OCE:SA:87751750", + "nom": "Aubagne", + "lat": 43.296073, + "lon": 5.566322 + }, + { + "uic": "87594465", + "stop_area": "stop_area:OCE:SA:87594465", + "nom": "Aubazines - Saint-Hilaire", + "lat": 45.181678, + "lon": 1.641235 + }, + { + "uic": "87192104", + "stop_area": "stop_area:OCE:SA:87192104", + "nom": "Aubecourt Rue Principale", + "lat": 48.995574, + "lon": 6.42892 + }, + { + "uic": "87535096", + "stop_area": "stop_area:OCE:SA:87535096", + "nom": "Aubenas Gare Routière", + "lat": 44.61095, + "lon": 4.407164 + }, + { + "uic": "87337089", + "stop_area": "stop_area:OCE:SA:87337089", + "nom": "Aubenas Place de la Paix", + "lat": 44.618129, + "lon": 4.38922 + }, + { + "uic": "87734111", + "stop_area": "stop_area:OCE:SA:87734111", + "nom": "Aubiat", + "lat": 45.983827, + "lon": 3.160514 + }, + { + "uic": "87491233", + "stop_area": "stop_area:OCE:SA:87491233", + "nom": "Aubie - Saint-Antoine", + "lat": 45.015215, + "lon": -0.419878 + }, + { + "uic": "87611764", + "stop_area": "stop_area:OCE:SA:87611764", + "nom": "Aubiet", + "lat": 43.650192, + "lon": 0.789173 + }, + { + "uic": "87396572", + "stop_area": "stop_area:OCE:SA:87396572", + "nom": "Aubigné-Racan", + "lat": 47.687014, + "lon": 0.265866 + }, + { + "uic": "87345447", + "stop_area": "stop_area:OCE:SA:87345447", + "nom": "Aubigny-au-Bac", + "lat": 50.268551, + "lon": 3.158781 + }, + { + "uic": "87342246", + "stop_area": "stop_area:OCE:SA:87342246", + "nom": "Aubigny-en-Artois", + "lat": 50.3529, + "lon": 2.592519 + }, + { + "uic": "87613224", + "stop_area": "stop_area:OCE:SA:87613224", + "nom": "Aubin", + "lat": 44.527276, + "lon": 2.239313 + }, + { + "uic": "87316604", + "stop_area": "stop_area:OCE:SA:87316604", + "nom": "Aubin-Saint-Vaast", + "lat": 50.394755, + "lon": 1.970029 + }, + { + "uic": "87191684", + "stop_area": "stop_area:OCE:SA:87191684", + "nom": "Auboué", + "lat": 49.216036, + "lon": 5.971139 + }, + { + "uic": "87742247", + "stop_area": "stop_area:OCE:SA:87742247", + "nom": "Auboué Centre", + "lat": 49.210554, + "lon": 5.977673 + }, + { + "uic": "87172122", + "stop_area": "stop_area:OCE:SA:87172122", + "nom": "Aubrives", + "lat": 50.104041, + "lon": 4.761433 + }, + { + "uic": "87611749", + "stop_area": "stop_area:OCE:SA:87611749", + "nom": "Auch", + "lat": 43.647488, + "lon": 0.596661 + }, + { + "uic": "87668459", + "stop_area": "stop_area:OCE:SA:87668459", + "nom": "Auch Allée Baylac", + "lat": 43.648288, + "lon": 0.582806 + }, + { + "uic": "87134387", + "stop_area": "stop_area:OCE:SA:87134387", + "nom": "Auch Le Seilhan", + "lat": 43.657504, + "lon": 0.59747 + }, + { + "uic": "87317230", + "stop_area": "stop_area:OCE:SA:87317230", + "nom": "Auchy-lès-Hesdin", + "lat": 50.396249, + "lon": 2.102353 + }, + { + "uic": "87444059", + "stop_area": "stop_area:OCE:SA:87444059", + "nom": "Audrieu", + "lat": 49.216132, + "lon": -0.596014 + }, + { + "uic": "87281428", + "stop_area": "stop_area:OCE:SA:87281428", + "nom": "Audruicq", + "lat": 50.875668, + "lon": 2.07633 + }, + { + "uic": "87194357", + "stop_area": "stop_area:OCE:SA:87194357", + "nom": "Audun-le-Roman", + "lat": 49.36682, + "lon": 5.89139 + }, + { + "uic": "87415158", + "stop_area": "stop_area:OCE:SA:87415158", + "nom": "Auffay", + "lat": 49.716091, + "lon": 1.098424 + }, + { + "uic": "80021402", + "stop_area": "stop_area:OCE:SA:80021402", + "nom": "Augsburg Hbf", + "lat": 48.3654, + "lon": 10.886 + }, + { + "uic": "87562421", + "stop_area": "stop_area:OCE:SA:87562421", + "nom": "Aulnat Aéroport", + "lat": 45.791865, + "lon": 3.161442 + }, + { + "uic": "87295600", + "stop_area": "stop_area:OCE:SA:87295600", + "nom": "Aulnoye-Aymeries", + "lat": 50.197477, + "lon": 3.843333 + }, + { + "uic": "87313767", + "stop_area": "stop_area:OCE:SA:87313767", + "nom": "Aumale", + "lat": 49.765115, + "lon": 1.756069 + }, + { + "uic": "87783266", + "stop_area": "stop_area:OCE:SA:87783266", + "nom": "Aumont-Aubrac", + "lat": 44.718235, + "lon": 3.283582 + }, + { + "uic": "87545657", + "stop_area": "stop_area:OCE:SA:87545657", + "nom": "Auneau", + "lat": 48.446017, + "lon": 1.779882 + }, + { + "uic": "87476200", + "stop_area": "stop_area:OCE:SA:87476200", + "nom": "Auray", + "lat": 47.680085, + "lon": -2.999363 + }, + { + "uic": "87726760", + "stop_area": "stop_area:OCE:SA:87726760", + "nom": "Aurec", + "lat": 45.37118, + "lon": 4.198432 + }, + { + "uic": "87645002", + "stop_area": "stop_area:OCE:SA:87645002", + "nom": "Aurillac", + "lat": 44.921041, + "lon": 2.435583 + }, + { + "uic": "87611384", + "stop_area": "stop_area:OCE:SA:87611384", + "nom": "Auterive", + "lat": 43.348993, + "lon": 1.468831 + }, + { + "uic": "87117457", + "stop_area": "stop_area:OCE:SA:87117457", + "nom": "Autreville Centre", + "lat": 48.484054, + "lon": 5.849088 + }, + { + "uic": "87694570", + "stop_area": "stop_area:OCE:SA:87694570", + "nom": "Autun", + "lat": 46.954943, + "lon": 4.293095 + }, + { + "uic": "87683573", + "stop_area": "stop_area:OCE:SA:87683573", + "nom": "Auxerre Saint-Gervais", + "lat": 47.797645, + "lon": 3.58514 + }, + { + "uic": "87117119", + "stop_area": "stop_area:OCE:SA:87117119", + "nom": "Auxon Église", + "lat": 48.103036, + "lon": 3.918348 + }, + { + "uic": "87429761", + "stop_area": "stop_area:OCE:SA:87429761", + "nom": "Auxon Route Nationale", + "lat": 48.109256, + "lon": 3.915937 + }, + { + "uic": "87713347", + "stop_area": "stop_area:OCE:SA:87713347", + "nom": "Auxonne", + "lat": 47.192668, + "lon": 5.377356 + }, + { + "uic": "87683789", + "stop_area": "stop_area:OCE:SA:87683789", + "nom": "Avallon", + "lat": 47.495755, + "lon": 3.912446 + }, + { + "uic": "87171579", + "stop_area": "stop_area:OCE:SA:87171579", + "nom": "Avenay", + "lat": 49.064783, + "lon": 4.043689 + }, + { + "uic": "87295725", + "stop_area": "stop_area:OCE:SA:87295725", + "nom": "Avesnelles", + "lat": 50.118497, + "lon": 3.948638 + }, + { + "uic": "87295733", + "stop_area": "stop_area:OCE:SA:87295733", + "nom": "Avesnes-sur-Helpe", + "lat": 50.126755, + "lon": 3.932902 + }, + { + "uic": "87765008", + "stop_area": "stop_area:OCE:SA:87765008", + "nom": "Avignon Centre", + "lat": 43.941923, + "lon": 4.805269 + }, + { + "uic": "87318964", + "stop_area": "stop_area:OCE:SA:87318964", + "nom": "Avignon TGV", + "lat": 43.92194, + "lon": 4.786136 + }, + { + "uic": "87616011", + "stop_area": "stop_area:OCE:SA:87616011", + "nom": "Avignonet", + "lat": 43.363877, + "lon": 1.787269 + }, + { + "uic": "87342584", + "stop_area": "stop_area:OCE:SA:87342584", + "nom": "Avion", + "lat": 50.40721, + "lon": 2.83363 + }, + { + "uic": "87576439", + "stop_area": "stop_area:OCE:SA:87576439", + "nom": "Avord", + "lat": 47.034874, + "lon": 2.652335 + }, + { + "uic": "87718551", + "stop_area": "stop_area:OCE:SA:87718551", + "nom": "Avoudrey", + "lat": 47.129852, + "lon": 6.43481 + }, + { + "uic": "87448514", + "stop_area": "stop_area:OCE:SA:87448514", + "nom": "Avranches", + "lat": 48.690041, + "lon": -1.369612 + }, + { + "uic": "87313296", + "stop_area": "stop_area:OCE:SA:87313296", + "nom": "Avrechy", + "lat": 49.444637, + "lon": 2.418194 + }, + { + "uic": "87691725", + "stop_area": "stop_area:OCE:SA:87691725", + "nom": "Avrée", + "lat": 46.82338, + "lon": 3.880148 + }, + { + "uic": "87215111", + "stop_area": "stop_area:OCE:SA:87215111", + "nom": "Avricourt Nouvel Avricourt", + "lat": 48.651707, + "lon": 6.821681 + }, + { + "uic": "87407056", + "stop_area": "stop_area:OCE:SA:87407056", + "nom": "Avricourt Rue de Lorraine", + "lat": 48.650089, + "lon": 6.812851 + }, + { + "uic": "87407049", + "stop_area": "stop_area:OCE:SA:87407049", + "nom": "Avricourt Rue Des Halles", + "lat": 48.650559, + "lon": 6.806194 + }, + { + "uic": "87611533", + "stop_area": "stop_area:OCE:SA:87611533", + "nom": "Ax-les-Thermes", + "lat": 42.724841, + "lon": 1.833295 + }, + { + "uic": "87171561", + "stop_area": "stop_area:OCE:SA:87171561", + "nom": "Ay-Champagne", + "lat": 49.048797, + "lon": 4.00169 + }, + { + "uic": "87437806", + "stop_area": "stop_area:OCE:SA:87437806", + "nom": "Aytré Plage", + "lat": 46.12761, + "lon": -1.128293 + }, + { + "uic": "87571638", + "stop_area": "stop_area:OCE:SA:87571638", + "nom": "Azay-le-Rideau", + "lat": 47.266154, + "lon": 0.4476 + }, + { + "uic": "87574442", + "stop_area": "stop_area:OCE:SA:87574442", + "nom": "Azay-sur-Cher", + "lat": 47.365235, + "lon": 0.859876 + }, + { + "uic": "87141408", + "stop_area": "stop_area:OCE:SA:87141408", + "nom": "Azerailles", + "lat": 48.491252, + "lon": 6.696164 + }, + { + "uic": "87590349", + "stop_area": "stop_area:OCE:SA:87590349", + "nom": "Babinière", + "lat": 47.258856, + "lon": -1.545084 + }, + { + "uic": "87141416", + "stop_area": "stop_area:OCE:SA:87141416", + "nom": "Baccarat", + "lat": 48.452092, + "lon": 6.743921 + }, + { + "uic": "87170068", + "stop_area": "stop_area:OCE:SA:87170068", + "nom": "Bachos Anos", + "lat": 42.897857, + "lon": 0.625231 + }, + { + "uic": "80142778", + "stop_area": "stop_area:OCE:SA:80142778", + "nom": "Baden-Baden", + "lat": 48.7903, + "lon": 8.1909 + }, + { + "uic": "87170357", + "stop_area": "stop_area:OCE:SA:87170357", + "nom": "Bagiry Cimetiére", + "lat": 42.976236, + "lon": 0.625889 + }, + { + "uic": "87618702", + "stop_area": "stop_area:OCE:SA:87618702", + "nom": "Bagiry Pont de Galié", + "lat": 42.990028, + "lon": 0.624982 + }, + { + "uic": "87613604", + "stop_area": "stop_area:OCE:SA:87613604", + "nom": "Bagnac", + "lat": 44.665276, + "lon": 2.160192 + }, + { + "uic": "87695015", + "stop_area": "stop_area:OCE:SA:87695015", + "nom": "Bagnères-de-Luchon Lycée", + "lat": 42.791496, + "lon": 0.597762 + }, + { + "uic": "87783647", + "stop_area": "stop_area:OCE:SA:87783647", + "nom": "Bagnols - Chadenet", + "lat": 44.528613, + "lon": 3.628178 + }, + { + "uic": "87764571", + "stop_area": "stop_area:OCE:SA:87764571", + "nom": "Bagnols-sur-Cèze", + "lat": 44.161604, + "lon": 4.626982 + }, + { + "uic": "87773457", + "stop_area": "stop_area:OCE:SA:87773457", + "nom": "Baillargues", + "lat": 43.653323, + "lon": 4.007159 + }, + { + "uic": "87394411", + "stop_area": "stop_area:OCE:SA:87394411", + "nom": "Bailleau-le-pin", + "lat": 48.366928, + "lon": 1.325333 + }, + { + "uic": "87286179", + "stop_area": "stop_area:OCE:SA:87286179", + "nom": "Bailleul", + "lat": 50.729167, + "lon": 2.734485 + }, + { + "uic": "87342592", + "stop_area": "stop_area:OCE:SA:87342592", + "nom": "Bailleul-Sir-Berthoult", + "lat": 50.335379, + "lon": 2.841149 + }, + { + "uic": "87144147", + "stop_area": "stop_area:OCE:SA:87144147", + "nom": "Bains-les-Bains", + "lat": 47.981216, + "lon": 6.295263 + }, + { + "uic": "87286872", + "stop_area": "stop_area:OCE:SA:87286872", + "nom": "Baisieux", + "lat": 50.618307, + "lon": 3.23487 + }, + { + "uic": "87313569", + "stop_area": "stop_area:OCE:SA:87313569", + "nom": "Balagny Saint-Épin", + "lat": 49.294332, + "lon": 2.343907 + }, + { + "uic": "87726869", + "stop_area": "stop_area:OCE:SA:87726869", + "nom": "Balbigny", + "lat": 45.817868, + "lon": 4.187427 + }, + { + "uic": "87698399", + "stop_area": "stop_area:OCE:SA:87698399", + "nom": "Balbigny-Gare-Routière", + "lat": 45.818022, + "lon": 4.187175 + }, + { + "uic": "87187930", + "stop_area": "stop_area:OCE:SA:87187930", + "nom": "Bâle Saint-Jean", + "lat": 47.57031, + "lon": 7.572745 + }, + { + "uic": "87571604", + "stop_area": "stop_area:OCE:SA:87571604", + "nom": "Ballan", + "lat": 47.336747, + "lon": 0.617807 + }, + { + "uic": "87640656", + "stop_area": "stop_area:OCE:SA:87640656", + "nom": "Balsièges Arrêt RN88", + "lat": 44.482325, + "lon": 3.456205 + }, + { + "uic": "87111864", + "stop_area": "stop_area:OCE:SA:87111864", + "nom": "Balsièges Bourg", + "lat": 44.482212, + "lon": 3.456598 + }, + { + "uic": "87783324", + "stop_area": "stop_area:OCE:SA:87783324", + "nom": "Banassac - La Canourgue", + "lat": 44.447763, + "lon": 3.195852 + }, + { + "uic": "87755223", + "stop_area": "stop_area:OCE:SA:87755223", + "nom": "Bandol", + "lat": 43.140385, + "lon": 5.750128 + }, + { + "uic": "87474189", + "stop_area": "stop_area:OCE:SA:87474189", + "nom": "Bannalec", + "lat": 47.926867, + "lon": -3.706417 + }, + { + "uic": "87213298", + "stop_area": "stop_area:OCE:SA:87213298", + "nom": "Bannstein Croisement", + "lat": 49.005201, + "lon": 7.502456 + }, + { + "uic": "87182840", + "stop_area": "stop_area:OCE:SA:87182840", + "nom": "Bantzenheim", + "lat": 47.811132, + "lon": 7.503976 + }, + { + "uic": "87784298", + "stop_area": "stop_area:OCE:SA:87784298", + "nom": "Banyuls-sur-Mer", + "lat": 42.482958, + "lon": 3.12505 + }, + { + "uic": "87175042", + "stop_area": "stop_area:OCE:SA:87175042", + "nom": "Bar-le-Duc", + "lat": 48.773598, + "lon": 5.167053 + }, + { + "uic": "87118299", + "stop_area": "stop_area:OCE:SA:87118299", + "nom": "Bar-sur-Aube", + "lat": 48.238559, + "lon": 4.706872 + }, + { + "uic": "87215608", + "stop_area": "stop_area:OCE:SA:87215608", + "nom": "Bar-sur-Aube Hôpital", + "lat": 48.230899, + "lon": 4.715139 + }, + { + "uic": "87398735", + "stop_area": "stop_area:OCE:SA:87398735", + "nom": "Bar-sur-Aube Hôtel de Ville", + "lat": 48.233353, + "lon": 4.706421 + }, + { + "uic": "87215616", + "stop_area": "stop_area:OCE:SA:87215616", + "nom": "Bar-sur-Aube Piscine", + "lat": 48.241253, + "lon": 4.696597 + }, + { + "uic": "87615757", + "stop_area": "stop_area:OCE:SA:87615757", + "nom": "Baraqueville", + "lat": 44.270512, + "lon": 2.4274 + }, + { + "uic": "87139527", + "stop_area": "stop_area:OCE:SA:87139527", + "nom": "Barberey-Saint-Sulpice Centre Commercial", + "lat": 48.334086, + "lon": 4.023592 + }, + { + "uic": "87139535", + "stop_area": "stop_area:OCE:SA:87139535", + "nom": "Barberey-Saint-Sulpice Route d", + "lat": 48.338838, + "lon": 4.030786 + }, + { + "uic": "71718010", + "stop_area": "stop_area:OCE:SA:71718010", + "nom": "Barcelone-Sants", + "lat": 41.378961, + "lon": 2.139834 + }, + { + "uic": "87411264", + "stop_area": "stop_area:OCE:SA:87411264", + "nom": "Barentin", + "lat": 49.549123, + "lon": 0.953517 + }, + { + "uic": "87297291", + "stop_area": "stop_area:OCE:SA:87297291", + "nom": "Barenton-Bugny", + "lat": 49.630696, + "lon": 3.655698 + }, + { + "uic": "87141754", + "stop_area": "stop_area:OCE:SA:87141754", + "nom": "Barisey-la-Côte Gare", + "lat": 48.535008, + "lon": 5.83992 + }, + { + "uic": "87405712", + "stop_area": "stop_area:OCE:SA:87405712", + "nom": "Barisey-la-Côte Mairie", + "lat": 48.544182, + "lon": 5.842809 + }, + { + "uic": "87783563", + "stop_area": "stop_area:OCE:SA:87783563", + "nom": "Barjac", + "lat": 44.499264, + "lon": 3.410979 + }, + { + "uic": "87192658", + "stop_area": "stop_area:OCE:SA:87192658", + "nom": "Baroncourt", + "lat": 49.284534, + "lon": 5.699708 + }, + { + "uic": "87193110", + "stop_area": "stop_area:OCE:SA:87193110", + "nom": "Baronville Mairie", + "lat": 48.934734, + "lon": 6.60836 + }, + { + "uic": "87214247", + "stop_area": "stop_area:OCE:SA:87214247", + "nom": "Barr", + "lat": 48.40348, + "lon": 7.456713 + }, + { + "uic": "87582759", + "stop_area": "stop_area:OCE:SA:87582759", + "nom": "Barsac", + "lat": 44.605431, + "lon": -0.321578 + }, + { + "uic": "87182113", + "stop_area": "stop_area:OCE:SA:87182113", + "nom": "Bartenheim", + "lat": 47.634931, + "lon": 7.487256 + }, + { + "uic": "87659870", + "stop_area": "stop_area:OCE:SA:87659870", + "nom": "Bartenheim Pharmacie", + "lat": 47.635011, + "lon": 7.476127 + }, + { + "uic": "87726778", + "stop_area": "stop_area:OCE:SA:87726778", + "nom": "Bas - Monistrol", + "lat": 45.297683, + "lon": 4.139678 + }, + { + "uic": "87184200", + "stop_area": "stop_area:OCE:SA:87184200", + "nom": "Bas Évette", + "lat": 47.681084, + "lon": 6.806922 + }, + { + "uic": "82007187", + "stop_area": "stop_area:OCE:SA:82007187", + "nom": "Bascharage secteur Sanem", + "lat": 49.5585, + "lon": 5.9249 + }, + { + "uic": "87699223", + "stop_area": "stop_area:OCE:SA:87699223", + "nom": "Base Aérienne", + "lat": 47.320149, + "lon": 1.681294 + }, + { + "uic": "85000109", + "stop_area": "stop_area:OCE:SA:85000109", + "nom": "Basel SBB", + "lat": 47.5474, + "lon": 7.58956 + }, + { + "uic": "87191601", + "stop_area": "stop_area:OCE:SA:87191601", + "nom": "Basse-Ham", + "lat": 49.380546, + "lon": 6.234873 + }, + { + "uic": "87703769", + "stop_area": "stop_area:OCE:SA:87703769", + "nom": "Basse-Ham Stade", + "lat": 49.380894, + "lon": 6.234288 + }, + { + "uic": "87581850", + "stop_area": "stop_area:OCE:SA:87581850", + "nom": "Bassens", + "lat": 44.901307, + "lon": -0.522282 + }, + { + "uic": "87215293", + "stop_area": "stop_area:OCE:SA:87215293", + "nom": "Bassing Croisement", + "lat": 48.867778, + "lon": 6.801111 + }, + { + "uic": "87481770", + "stop_area": "stop_area:OCE:SA:87481770", + "nom": "Batz-sur-Mer", + "lat": 47.280855, + "lon": -2.478869 + }, + { + "uic": "87192245", + "stop_area": "stop_area:OCE:SA:87192245", + "nom": "Baudrecourt Centre", + "lat": 48.961219, + "lon": 6.451845 + }, + { + "uic": "87574152", + "stop_area": "stop_area:OCE:SA:87574152", + "nom": "Baule", + "lat": 47.811886, + "lon": 1.668274 + }, + { + "uic": "87718460", + "stop_area": "stop_area:OCE:SA:87718460", + "nom": "Baume-les-Dames", + "lat": 47.353972, + "lon": 6.359649 + }, + { + "uic": "87345280", + "stop_area": "stop_area:OCE:SA:87345280", + "nom": "Bauvin - Provin", + "lat": 50.511557, + "lon": 2.90543 + }, + { + "uic": "87578229", + "stop_area": "stop_area:OCE:SA:87578229", + "nom": "Bayard-Route-Eurville", + "lat": 48.553813, + "lon": 5.076853 + }, + { + "uic": "87279901", + "stop_area": "stop_area:OCE:SA:87279901", + "nom": "Bayel Église", + "lat": 48.198906, + "lon": 4.776143 + }, + { + "uic": "87732297", + "stop_area": "stop_area:OCE:SA:87732297", + "nom": "Bayel Place du G.de Gaulle", + "lat": 48.196753, + "lon": 4.77545 + }, + { + "uic": "87444067", + "stop_area": "stop_area:OCE:SA:87444067", + "nom": "Bayeux", + "lat": 49.269729, + "lon": -0.6981 + }, + { + "uic": "87141218", + "stop_area": "stop_area:OCE:SA:87141218", + "nom": "Bayon", + "lat": 48.468045, + "lon": 6.32286 + }, + { + "uic": "87673004", + "stop_area": "stop_area:OCE:SA:87673004", + "nom": "Bayonne", + "lat": 43.496793, + "lon": -1.470368 + }, + { + "uic": "87171462", + "stop_area": "stop_area:OCE:SA:87171462", + "nom": "Bazancourt", + "lat": 49.361095, + "lon": 4.174135 + }, + { + "uic": "87172312", + "stop_area": "stop_area:OCE:SA:87172312", + "nom": "Bazeilles", + "lat": 49.675894, + "lon": 4.981865 + }, + { + "uic": "87611723", + "stop_area": "stop_area:OCE:SA:87611723", + "nom": "Baziège", + "lat": 43.453608, + "lon": 1.620698 + }, + { + "uic": "87696468", + "stop_area": "stop_area:OCE:SA:87696468", + "nom": "Béard", + "lat": 46.865293, + "lon": 3.318075 + }, + { + "uic": "87533547", + "stop_area": "stop_area:OCE:SA:87533547", + "nom": "Béard Bourg", + "lat": 46.863155, + "lon": 3.326727 + }, + { + "uic": "87317610", + "stop_area": "stop_area:OCE:SA:87317610", + "nom": "Beau Marais", + "lat": 50.945387, + "lon": 1.898108 + }, + { + "uic": "87775023", + "stop_area": "stop_area:OCE:SA:87775023", + "nom": "Beaucaire", + "lat": 43.80209, + "lon": 4.647087 + }, + { + "uic": "87747238", + "stop_area": "stop_area:OCE:SA:87747238", + "nom": "Beaucroissant", + "lat": 45.343715, + "lon": 5.474142 + }, + { + "uic": "87574160", + "stop_area": "stop_area:OCE:SA:87574160", + "nom": "Beaugency", + "lat": 47.778404, + "lon": 1.625944 + }, + { + "uic": "87756379", + "stop_area": "stop_area:OCE:SA:87756379", + "nom": "Beaulieu-sur-Mer", + "lat": 43.706692, + "lon": 7.331631 + }, + { + "uic": "87753095", + "stop_area": "stop_area:OCE:SA:87753095", + "nom": "Beaumont-de-Lomagne L.e.p", + "lat": 43.876909, + "lon": 0.978298 + }, + { + "uic": "87753087", + "stop_area": "stop_area:OCE:SA:87753087", + "nom": "Beaumont-de-Lomagne Place Jean Moulin", + "lat": 43.882346, + "lon": 0.984017 + }, + { + "uic": "87387183", + "stop_area": "stop_area:OCE:SA:87387183", + "nom": "Beaumont-le-Roger", + "lat": 49.0742, + "lon": 0.772699 + }, + { + "uic": "87713545", + "stop_area": "stop_area:OCE:SA:87713545", + "nom": "Beaune", + "lat": 47.023014, + "lon": 4.848423 + }, + { + "uic": "87317198", + "stop_area": "stop_area:OCE:SA:87317198", + "nom": "Beaurainville", + "lat": 50.422895, + "lon": 1.895193 + }, + { + "uic": "87582700", + "stop_area": "stop_area:OCE:SA:87582700", + "nom": "Beautiran", + "lat": 44.701059, + "lon": -0.450174 + }, + { + "uic": "87313510", + "stop_area": "stop_area:OCE:SA:87313510", + "nom": "Beauvais", + "lat": 49.426522, + "lon": 2.088609 + }, + { + "uic": "87485342", + "stop_area": "stop_area:OCE:SA:87485342", + "nom": "Beauvoir-sur-Niort", + "lat": 46.17687, + "lon": -0.468873 + }, + { + "uic": "87775809", + "stop_area": "stop_area:OCE:SA:87775809", + "nom": "Beauvoisin", + "lat": 43.724503, + "lon": 4.321218 + }, + { + "uic": "87726794", + "stop_area": "stop_area:OCE:SA:87726794", + "nom": "Beauzac", + "lat": 45.258168, + "lon": 4.099086 + }, + { + "uic": "87117697", + "stop_area": "stop_area:OCE:SA:87117697", + "nom": "Bébing Route Nationale", + "lat": 48.711668, + "lon": 6.998459 + }, + { + "uic": "87781609", + "stop_area": "stop_area:OCE:SA:87781609", + "nom": "Bédarieux", + "lat": 43.608697, + "lon": 3.149569 + }, + { + "uic": "87765198", + "stop_area": "stop_area:OCE:SA:87765198", + "nom": "Bédarrides", + "lat": 44.040843, + "lon": 4.89325 + }, + { + "uic": "87672774", + "stop_area": "stop_area:OCE:SA:87672774", + "nom": "Bedous", + "lat": 42.995564, + "lon": -0.603514 + }, + { + "uic": "87581801", + "stop_area": "stop_area:OCE:SA:87581801", + "nom": "Bègles", + "lat": 44.799319, + "lon": -0.555357 + }, + { + "uic": "87491076", + "stop_area": "stop_area:OCE:SA:87491076", + "nom": "Beillant", + "lat": 45.7008, + "lon": -0.526508 + }, + { + "uic": "87300822", + "stop_area": "stop_area:OCE:SA:87300822", + "nom": "Belfort - Montbéliard TGV", + "lat": 47.585105, + "lon": 6.897984 + }, + { + "uic": "87184002", + "stop_area": "stop_area:OCE:SA:87184002", + "nom": "Belfort-Ville", + "lat": 47.633278, + "lon": 6.854053 + }, + { + "uic": "87592485", + "stop_area": "stop_area:OCE:SA:87592485", + "nom": "Bellac", + "lat": 46.125255, + "lon": 1.046104 + }, + { + "uic": "87473165", + "stop_area": "stop_area:OCE:SA:87473165", + "nom": "Belle-Isle - Bégard", + "lat": 48.593569, + "lon": -3.322951 + }, + { + "uic": "87745000", + "stop_area": "stop_area:OCE:SA:87745000", + "nom": "Bellegarde", + "lat": 46.109425, + "lon": 5.823483 + }, + { + "uic": "87641068", + "stop_area": "stop_area:OCE:SA:87641068", + "nom": "Bellenaves", + "lat": 46.199275, + "lon": 3.066583 + }, + { + "uic": "87141804", + "stop_area": "stop_area:OCE:SA:87141804", + "nom": "Belleville", + "lat": 48.819245, + "lon": 6.101779 + }, + { + "uic": "87721357", + "stop_area": "stop_area:OCE:SA:87721357", + "nom": "Belleville sur Sâone", + "lat": 46.111952, + "lon": 4.729011 + }, + { + "uic": "87486142", + "stop_area": "stop_area:OCE:SA:87486142", + "nom": "Belleville-Vendée", + "lat": 46.788329, + "lon": -1.434512 + }, + { + "uic": "87743526", + "stop_area": "stop_area:OCE:SA:87743526", + "nom": "Bellignat", + "lat": 46.238622, + "lon": 5.630407 + }, + { + "uic": "87695973", + "stop_area": "stop_area:OCE:SA:87695973", + "nom": "Bellignat - Lycée-Arbez-Carme", + "lat": 46.248547, + "lon": 5.63221 + }, + { + "uic": "87595876", + "stop_area": "stop_area:OCE:SA:87595876", + "nom": "Belvès", + "lat": 44.777341, + "lon": 1.012071 + }, + { + "uic": "87783670", + "stop_area": "stop_area:OCE:SA:87783670", + "nom": "Belvezet", + "lat": 44.561778, + "lon": 3.751869 + }, + { + "uic": "87476408", + "stop_area": "stop_area:OCE:SA:87476408", + "nom": "Belz - Ploemel", + "lat": 47.652568, + "lon": -3.072041 + }, + { + "uic": "87784892", + "stop_area": "stop_area:OCE:SA:87784892", + "nom": "Bena Fanes", + "lat": 42.458078, + "lon": 1.916726 + }, + { + "uic": "87673285", + "stop_area": "stop_area:OCE:SA:87673285", + "nom": "Bénesse-Maremne", + "lat": 43.6277, + "lon": -1.369893 + }, + { + "uic": "87192302", + "stop_area": "stop_area:OCE:SA:87192302", + "nom": "Bénestroff", + "lat": 48.906554, + "lon": 6.753196 + }, + { + "uic": "87407114", + "stop_area": "stop_area:OCE:SA:87407114", + "nom": "Bénestroff Centre", + "lat": 48.904634, + "lon": 6.758975 + }, + { + "uic": "87214122", + "stop_area": "stop_area:OCE:SA:87214122", + "nom": "Benfeld", + "lat": 48.374069, + "lon": 7.583866 + }, + { + "uic": "87576447", + "stop_area": "stop_area:OCE:SA:87576447", + "nom": "Bengy", + "lat": 47.000438, + "lon": 2.749149 + }, + { + "uic": "87193250", + "stop_area": "stop_area:OCE:SA:87193250", + "nom": "Béning-lès-Saint-Avold", + "lat": 49.138056, + "lon": 6.82848 + }, + { + "uic": "80191064", + "stop_area": "stop_area:OCE:SA:80191064", + "nom": "Berg (Pfalz)", + "lat": 48.9807, + "lon": 8.2128 + }, + { + "uic": "87584268", + "stop_area": "stop_area:OCE:SA:87584268", + "nom": "Bergerac", + "lat": 44.857061, + "lon": 0.489174 + }, + { + "uic": "87643460", + "stop_area": "stop_area:OCE:SA:87643460", + "nom": "Bergheim Porte haute", + "lat": 48.205616, + "lon": 7.357543 + }, + { + "uic": "87281105", + "stop_area": "stop_area:OCE:SA:87281105", + "nom": "Bergues", + "lat": 50.968997, + "lon": 2.425787 + }, + { + "uic": "87342279", + "stop_area": "stop_area:OCE:SA:87342279", + "nom": "Berguette - Isbergues", + "lat": 50.61379, + "lon": 2.462786 + }, + { + "uic": "87295808", + "stop_area": "stop_area:OCE:SA:87295808", + "nom": "Berlaimont", + "lat": 50.198044, + "lon": 3.810429 + }, + { + "uic": "87192187", + "stop_area": "stop_area:OCE:SA:87192187", + "nom": "Bermering Eglise", + "lat": 48.93136, + "lon": 6.71041 + }, + { + "uic": "85070003", + "stop_area": "stop_area:OCE:SA:85070003", + "nom": "Bern", + "lat": 46.94882, + "lon": 7.43912 + }, + { + "uic": "87444299", + "stop_area": "stop_area:OCE:SA:87444299", + "nom": "Bernay", + "lat": 49.087116, + "lon": 0.595688 + }, + { + "uic": "87592352", + "stop_area": "stop_area:OCE:SA:87592352", + "nom": "Bersac", + "lat": 46.083814, + "lon": 1.432128 + }, + { + "uic": "87215335", + "stop_area": "stop_area:OCE:SA:87215335", + "nom": "Berthelming", + "lat": 48.81029, + "lon": 7.008468 + }, + { + "uic": "87477562", + "stop_area": "stop_area:OCE:SA:87477562", + "nom": "Berthelming Mairie", + "lat": 48.81635, + "lon": 7.006759 + }, + { + "uic": "87703561", + "stop_area": "stop_area:OCE:SA:87703561", + "nom": "Berthelming Rue Principale", + "lat": 48.818607, + "lon": 7.00887 + }, + { + "uic": "87783753", + "stop_area": "stop_area:OCE:SA:87783753", + "nom": "Bertholène Centre", + "lat": 44.393806, + "lon": 2.776709 + }, + { + "uic": "87170555", + "stop_area": "stop_area:OCE:SA:87170555", + "nom": "Bertren Centre", + "lat": 42.9991, + "lon": 0.61797 + }, + { + "uic": "87141424", + "stop_area": "stop_area:OCE:SA:87141424", + "nom": "Bertrichamps", + "lat": 48.428401, + "lon": 6.791125 + }, + { + "uic": "87345553", + "stop_area": "stop_area:OCE:SA:87345553", + "nom": "Bertry", + "lat": 50.091134, + "lon": 3.448857 + }, + { + "uic": "87300863", + "stop_area": "stop_area:OCE:SA:87300863", + "nom": "Besançon Franche-Comté TGV", + "lat": 47.307215, + "lon": 5.953613 + }, + { + "uic": "87718015", + "stop_area": "stop_area:OCE:SA:87718015", + "nom": "Besançon Mouillère", + "lat": 47.240397, + "lon": 6.033804 + }, + { + "uic": "87718007", + "stop_area": "stop_area:OCE:SA:87718007", + "nom": "Besançon Viotte", + "lat": 47.247049, + "lon": 6.021943 + }, + { + "uic": "87471219", + "stop_area": "stop_area:OCE:SA:87471219", + "nom": "Beslé", + "lat": 47.698879, + "lon": -1.870637 + }, + { + "uic": "87696336", + "stop_area": "stop_area:OCE:SA:87696336", + "nom": "Bessay", + "lat": 46.442973, + "lon": 3.360642 + }, + { + "uic": "87594747", + "stop_area": "stop_area:OCE:SA:87594747", + "nom": "Bétaille", + "lat": 44.942455, + "lon": 1.734326 + }, + { + "uic": "87342006", + "stop_area": "stop_area:OCE:SA:87342006", + "nom": "Béthune", + "lat": 50.521454, + "lon": 2.640509 + }, + { + "uic": "87703579", + "stop_area": "stop_area:OCE:SA:87703579", + "nom": "Bettborn Grand Rue", + "lat": 48.801309, + "lon": 7.020655 + }, + { + "uic": "82006030", + "stop_area": "stop_area:OCE:SA:82006030", + "nom": "Bettembourg", + "lat": 49.516111, + "lon": 6.101111 + }, + { + "uic": "82260018", + "stop_area": "stop_area:OCE:SA:82260018", + "nom": "Bettembourg Gare", + "lat": 49.516389, + "lon": 6.102222 + }, + { + "uic": "87471045", + "stop_area": "stop_area:OCE:SA:87471045", + "nom": "Betton", + "lat": 48.18148, + "lon": -1.634475 + }, + { + "uic": "87343160", + "stop_area": "stop_area:OCE:SA:87343160", + "nom": "Beuvrages", + "lat": 50.38944, + "lon": 3.506007 + }, + { + "uic": "87342402", + "stop_area": "stop_area:OCE:SA:87342402", + "nom": "Beuvry lès Béthune", + "lat": 50.535523, + "lon": 2.692329 + }, + { + "uic": "87723544", + "stop_area": "stop_area:OCE:SA:87723544", + "nom": "Beynost", + "lat": 45.833898, + "lon": 5.006947 + }, + { + "uic": "87698415", + "stop_area": "stop_area:OCE:SA:87698415", + "nom": "Beynost RD 1084 Gare", + "lat": 45.836729, + "lon": 5.005507 + }, + { + "uic": "87781005", + "stop_area": "stop_area:OCE:SA:87781005", + "nom": "Béziers", + "lat": 43.336295, + "lon": 3.218895 + }, + { + "uic": "87342097", + "stop_area": "stop_area:OCE:SA:87342097", + "nom": "Biache-Saint-Vaast", + "lat": 50.316257, + "lon": 2.941718 + }, + { + "uic": "87673400", + "stop_area": "stop_area:OCE:SA:87673400", + "nom": "Biarritz", + "lat": 43.459387, + "lon": -1.545937 + }, + { + "uic": "87673699", + "stop_area": "stop_area:OCE:SA:87673699", + "nom": "Bidarray Pont Noblia", + "lat": 43.26812, + "lon": -1.345104 + }, + { + "uic": "87691949", + "stop_area": "stop_area:OCE:SA:87691949", + "nom": "Bidos", + "lat": 43.178929, + "lon": -0.606976 + }, + { + "uic": "87402826", + "stop_area": "stop_area:OCE:SA:87402826", + "nom": "Bienville", + "lat": 48.581534, + "lon": 5.045461 + }, + { + "uic": "87716456", + "stop_area": "stop_area:OCE:SA:87716456", + "nom": "Biffontaine Mairie", + "lat": 48.211291, + "lon": 6.805456 + }, + { + "uic": "87582478", + "stop_area": "stop_area:OCE:SA:87582478", + "nom": "Biganos Facture", + "lat": 44.637384, + "lon": -0.96621 + }, + { + "uic": "87576306", + "stop_area": "stop_area:OCE:SA:87576306", + "nom": "Bigny", + "lat": 46.801552, + "lon": 2.369954 + }, + { + "uic": "87345140", + "stop_area": "stop_area:OCE:SA:87345140", + "nom": "Billy-Montigny", + "lat": 50.415551, + "lon": 2.91187 + }, + { + "uic": "87757690", + "stop_area": "stop_area:OCE:SA:87757690", + "nom": "Biot", + "lat": 43.610937, + "lon": 7.126192 + }, + { + "uic": "87212308", + "stop_area": "stop_area:OCE:SA:87212308", + "nom": "Bischheim", + "lat": 48.611835, + "lon": 7.742217 + }, + { + "uic": "87658930", + "stop_area": "stop_area:OCE:SA:87658930", + "nom": "Bischheim Arrêt CTS R. Gare", + "lat": 48.610657, + "lon": 7.750844 + }, + { + "uic": "87214296", + "stop_area": "stop_area:OCE:SA:87214296", + "nom": "Bischoffsheim", + "lat": 48.48701, + "lon": 7.49772 + }, + { + "uic": "87703470", + "stop_area": "stop_area:OCE:SA:87703470", + "nom": "Bischtroff-sur-Sarre Mairie", + "lat": 48.901094, + "lon": 7.071829 + }, + { + "uic": "87213611", + "stop_area": "stop_area:OCE:SA:87213611", + "nom": "Bischwiller", + "lat": 48.765753, + "lon": 7.851654 + }, + { + "uic": "87659805", + "stop_area": "stop_area:OCE:SA:87659805", + "nom": "Bischwiller Église Catholique", + "lat": 48.764098, + "lon": 7.859784 + }, + { + "uic": "87659813", + "stop_area": "stop_area:OCE:SA:87659813", + "nom": "Bischwiller Vestra", + "lat": 48.770589, + "lon": 7.847867 + }, + { + "uic": "87193821", + "stop_area": "stop_area:OCE:SA:87193821", + "nom": "Bitche Ancienne Gare", + "lat": 49.048717, + "lon": 7.432153 + }, + { + "uic": "87193839", + "stop_area": "stop_area:OCE:SA:87193839", + "nom": "Bitche Camp", + "lat": 49.04892, + "lon": 7.476046 + }, + { + "uic": "87642801", + "stop_area": "stop_area:OCE:SA:87642801", + "nom": "Bitche Quartier Driant", + "lat": 49.054942, + "lon": 7.456211 + }, + { + "uic": "87406934", + "stop_area": "stop_area:OCE:SA:87406934", + "nom": "Bitche Rue de la Paix", + "lat": 49.048904, + "lon": 7.428641 + }, + { + "uic": "87182576", + "stop_area": "stop_area:OCE:SA:87182576", + "nom": "Bitschwiller-lès-Thann", + "lat": 47.827372, + "lon": 7.078514 + }, + { + "uic": "87659953", + "stop_area": "stop_area:OCE:SA:87659953", + "nom": "Bitschwiller-lès-Thann Mairie", + "lat": 47.829182, + "lon": 7.079737 + }, + { + "uic": "87172387", + "stop_area": "stop_area:OCE:SA:87172387", + "nom": "Blagny", + "lat": 49.62256, + "lon": 5.184723 + }, + { + "uic": "87141135", + "stop_area": "stop_area:OCE:SA:87141135", + "nom": "Blainville - Damelevières", + "lat": 48.564799, + "lon": 6.386948 + }, + { + "uic": "87713073", + "stop_area": "stop_area:OCE:SA:87713073", + "nom": "Blaisy-Bas", + "lat": 47.373829, + "lon": 4.740814 + }, + { + "uic": "87313809", + "stop_area": "stop_area:OCE:SA:87313809", + "nom": "Blangy-sur-Bresle", + "lat": 49.932363, + "lon": 1.625558 + }, + { + "uic": "87317248", + "stop_area": "stop_area:OCE:SA:87317248", + "nom": "Blangy-sur-Ternoise", + "lat": 50.424662, + "lon": 2.1723 + }, + { + "uic": "87581728", + "stop_area": "stop_area:OCE:SA:87581728", + "nom": "Blanquefort", + "lat": 44.917585, + "lon": -0.62389 + }, + { + "uic": "87694612", + "stop_area": "stop_area:OCE:SA:87694612", + "nom": "Blanzy", + "lat": 46.694064, + "lon": 4.391358 + }, + { + "uic": "87141721", + "stop_area": "stop_area:OCE:SA:87141721", + "nom": "Blénod-lès-Toul Les Naux", + "lat": 48.59948, + "lon": 5.843568 + }, + { + "uic": "87574475", + "stop_area": "stop_area:OCE:SA:87574475", + "nom": "Bléré - la Croix", + "lat": 47.337741, + "lon": 0.987745 + }, + { + "uic": "87574004", + "stop_area": "stop_area:OCE:SA:87574004", + "nom": "Blois - Chambord", + "lat": 47.585449, + "lon": 1.323759 + }, + { + "uic": "87744920", + "stop_area": "stop_area:OCE:SA:87744920", + "nom": "Blois Gare Routière", + "lat": 47.586922, + "lon": 1.324094 + }, + { + "uic": "87444380", + "stop_area": "stop_area:OCE:SA:87444380", + "nom": "Blonville-sur-Mer - Benerville", + "lat": 49.331398, + "lon": 0.035663 + }, + { + "uic": "87582346", + "stop_area": "stop_area:OCE:SA:87582346", + "nom": "Boé", + "lat": 44.177609, + "lon": 0.635013 + }, + { + "uic": "87726471", + "stop_area": "stop_area:OCE:SA:87726471", + "nom": "Boën", + "lat": 45.741386, + "lon": 4.005061 + }, + { + "uic": "87754911", + "stop_area": "stop_area:OCE:SA:87754911", + "nom": "Boen Parc Lignon", + "lat": 45.741437, + "lon": 4.007151 + }, + { + "uic": "87172049", + "stop_area": "stop_area:OCE:SA:87172049", + "nom": "Bogny-sur-Meuse", + "lat": 49.858312, + "lon": 4.763232 + }, + { + "uic": "87296269", + "stop_area": "stop_area:OCE:SA:87296269", + "nom": "Bohain", + "lat": 49.988418, + "lon": 3.443168 + }, + { + "uic": "87409763", + "stop_area": "stop_area:OCE:SA:87409763", + "nom": "Bois d'Oingt", + "lat": 45.921683, + "lon": 4.585309 + }, + { + "uic": "87721787", + "stop_area": "stop_area:OCE:SA:87721787", + "nom": "Bois-d'Oingt - Légny", + "lat": 45.906545, + "lon": 4.57513 + }, + { + "uic": "87342071", + "stop_area": "stop_area:OCE:SA:87342071", + "nom": "Boisleux", + "lat": 50.21046, + "lon": 2.771961 + }, + { + "uic": "87543082", + "stop_area": "stop_area:OCE:SA:87543082", + "nom": "Boisseaux", + "lat": 48.256418, + "lon": 1.973296 + }, + { + "uic": "87645184", + "stop_area": "stop_area:OCE:SA:87645184", + "nom": "Boisset", + "lat": 44.786038, + "lon": 2.249767 + }, + { + "uic": "87764357", + "stop_area": "stop_area:OCE:SA:87764357", + "nom": "Bollène la Croisière", + "lat": 44.27154, + "lon": 4.708055 + }, + { + "uic": "87182709", + "stop_area": "stop_area:OCE:SA:87182709", + "nom": "Bollwiller", + "lat": 47.856969, + "lon": 7.26718 + }, + { + "uic": "87142224", + "stop_area": "stop_area:OCE:SA:87142224", + "nom": "Bologne", + "lat": 48.198677, + "lon": 5.134467 + }, + { + "uic": "87107425", + "stop_area": "stop_area:OCE:SA:87107425", + "nom": "Bologne Salle des Fêtes", + "lat": 48.199737, + "lon": 5.141416 + }, + { + "uic": "87784801", + "stop_area": "stop_area:OCE:SA:87784801", + "nom": "Bolquère - Eyne", + "lat": 42.497873, + "lon": 2.087559 + }, + { + "uic": "87478065", + "stop_area": "stop_area:OCE:SA:87478065", + "nom": "Bonnemain", + "lat": 48.476405, + "lon": -1.765413 + }, + { + "uic": "87545731", + "stop_area": "stop_area:OCE:SA:87545731", + "nom": "Bonneval", + "lat": 48.186239, + "lon": 1.386298 + }, + { + "uic": "87715193", + "stop_area": "stop_area:OCE:SA:87715193", + "nom": "Bonnevaux", + "lat": 46.80852, + "lon": 6.184064 + }, + { + "uic": "87746339", + "stop_area": "stop_area:OCE:SA:87746339", + "nom": "Bonneville", + "lat": 46.077752, + "lon": 6.416493 + }, + { + "uic": "87415893", + "stop_area": "stop_area:OCE:SA:87415893", + "nom": "Bonnières", + "lat": 49.038654, + "lon": 1.58163 + }, + { + "uic": "87745596", + "stop_area": "stop_area:OCE:SA:87745596", + "nom": "Bons-en-Chablais", + "lat": 46.27011, + "lon": 6.36647 + }, + { + "uic": "87726414", + "stop_area": "stop_area:OCE:SA:87726414", + "nom": "Bonson", + "lat": 45.522197, + "lon": 4.21625 + }, + { + "uic": "87581009", + "stop_area": "stop_area:OCE:SA:87581009", + "nom": "Bordeaux Saint-Jean", + "lat": 44.825873, + "lon": -0.556697 + }, + { + "uic": "87491019", + "stop_area": "stop_area:OCE:SA:87491019", + "nom": "Bords", + "lat": 45.894237, + "lon": -0.798115 + }, + { + "uic": "87734681", + "stop_area": "stop_area:OCE:SA:87734681", + "nom": "Borne (Haute-Loire)", + "lat": 45.099563, + "lon": 3.799295 + }, + { + "uic": "87276717", + "stop_area": "stop_area:OCE:SA:87276717", + "nom": "Bornel - Belle-Église", + "lat": 49.194621, + "lon": 2.207241 + }, + { + "uic": "87645705", + "stop_area": "stop_area:OCE:SA:87645705", + "nom": "Bort-les-Orgues", + "lat": 45.406435, + "lon": 2.502565 + }, + { + "uic": "87534099", + "stop_area": "stop_area:OCE:SA:87534099", + "nom": "Bort-les-Orgues Ville", + "lat": 45.399341, + "lon": 2.499293 + }, + { + "uic": "87215756", + "stop_area": "stop_area:OCE:SA:87215756", + "nom": "Bossancourt", + "lat": 48.283553, + "lon": 4.601296 + }, + { + "uic": "87481200", + "stop_area": "stop_area:OCE:SA:87481200", + "nom": "Bouaye", + "lat": 47.138154, + "lon": -1.681069 + }, + { + "uic": "87673095", + "stop_area": "stop_area:OCE:SA:87673095", + "nom": "Boucau", + "lat": 43.523447, + "lon": -1.490487 + }, + { + "uic": "87345389", + "stop_area": "stop_area:OCE:SA:87345389", + "nom": "Bouchain", + "lat": 50.278151, + "lon": 3.33173 + }, + { + "uic": "87775346", + "stop_area": "stop_area:OCE:SA:87775346", + "nom": "Boucoiran", + "lat": 43.992694, + "lon": 4.187634 + }, + { + "uic": "87117903", + "stop_area": "stop_area:OCE:SA:87117903", + "nom": "Bouilly Mairie", + "lat": 48.19363, + "lon": 3.998637 + }, + { + "uic": "87725473", + "stop_area": "stop_area:OCE:SA:87725473", + "nom": "Boulazac Isle Manoire", + "lat": 45.172052, + "lon": 0.772787 + }, + { + "uic": "87317016", + "stop_area": "stop_area:OCE:SA:87317016", + "nom": "Boulogne - Tintelleries", + "lat": 50.727284, + "lon": 1.609036 + }, + { + "uic": "87317586", + "stop_area": "stop_area:OCE:SA:87317586", + "nom": "Boulogne sur Mer", + "lat": 50.715613, + "lon": 1.609714 + }, + { + "uic": "87757534", + "stop_area": "stop_area:OCE:SA:87757534", + "nom": "Boulouris sur Mer", + "lat": 43.416333, + "lon": 6.808259 + }, + { + "uic": "87281279", + "stop_area": "stop_area:OCE:SA:87281279", + "nom": "Bourbourg", + "lat": 50.952229, + "lon": 2.194259 + }, + { + "uic": "87214775", + "stop_area": "stop_area:OCE:SA:87214775", + "nom": "Bourg-Bruche", + "lat": 48.359846, + "lon": 7.13731 + }, + { + "uic": "87660886", + "stop_area": "stop_area:OCE:SA:87660886", + "nom": "Bourg-Bruche Église", + "lat": 48.359044, + "lon": 7.135169 + }, + { + "uic": "87743005", + "stop_area": "stop_area:OCE:SA:87743005", + "nom": "Bourg-en-Bresse", + "lat": 46.200111, + "lon": 5.215011 + }, + { + "uic": "87695999", + "stop_area": "stop_area:OCE:SA:87695999", + "nom": "Bourg-en-Bresse Archives", + "lat": 46.195328, + "lon": 5.226676 + }, + { + "uic": "87697672", + "stop_area": "stop_area:OCE:SA:87697672", + "nom": "Bourg-en-Bresse Charité", + "lat": 46.207629, + "lon": 5.21974 + }, + { + "uic": "87696013", + "stop_area": "stop_area:OCE:SA:87696013", + "nom": "Bourg-en-Bresse Gare Routière", + "lat": 46.199498, + "lon": 5.215381 + }, + { + "uic": "87784876", + "stop_area": "stop_area:OCE:SA:87784876", + "nom": "Bourg-Madame", + "lat": 42.43237, + "lon": 1.948595 + }, + { + "uic": "87741793", + "stop_area": "stop_area:OCE:SA:87741793", + "nom": "Bourg-Saint-Maurice", + "lat": 45.619036, + "lon": 6.771273 + }, + { + "uic": "87576207", + "stop_area": "stop_area:OCE:SA:87576207", + "nom": "Bourges", + "lat": 47.094129, + "lon": 2.394236 + }, + { + "uic": "87481242", + "stop_area": "stop_area:OCE:SA:87481242", + "nom": "Bourgneuf-en-Retz", + "lat": 47.046899, + "lon": -1.955226 + }, + { + "uic": "87723429", + "stop_area": "stop_area:OCE:SA:87723429", + "nom": "Bourgoin-Jallieu", + "lat": 45.583982, + "lon": 5.273362 + }, + { + "uic": "87415323", + "stop_area": "stop_area:OCE:SA:87415323", + "nom": "Bourgtheroulde - Thuit-Hébert", + "lat": 49.317438, + "lon": 0.83832 + }, + { + "uic": "87486324", + "stop_area": "stop_area:OCE:SA:87486324", + "nom": "Bournezeau", + "lat": 46.651524, + "lon": -1.178402 + }, + { + "uic": "87462820", + "stop_area": "stop_area:OCE:SA:87462820", + "nom": "Bourret les Gourdis", + "lat": 43.946655, + "lon": 1.150947 + }, + { + "uic": "87481176", + "stop_area": "stop_area:OCE:SA:87481176", + "nom": "Boussay - La Bruffière", + "lat": 47.050453, + "lon": -1.182615 + }, + { + "uic": "87611095", + "stop_area": "stop_area:OCE:SA:87611095", + "nom": "Boussens", + "lat": 43.179617, + "lon": 0.972543 + }, + { + "uic": "87726216", + "stop_area": "stop_area:OCE:SA:87726216", + "nom": "Bouthéon", + "lat": 45.525002, + "lon": 4.278182 + }, + { + "uic": "87659631", + "stop_area": "stop_area:OCE:SA:87659631", + "nom": "Bouverans Halte Routière", + "lat": 46.857975, + "lon": 6.209625 + }, + { + "uic": "87642314", + "stop_area": "stop_area:OCE:SA:87642314", + "nom": "Bouxwiller Centre", + "lat": 48.827393, + "lon": 7.483024 + }, + { + "uic": "87702084", + "stop_area": "stop_area:OCE:SA:87702084", + "nom": "Bouxwiller Clos Des Seigneurs", + "lat": 48.828192, + "lon": 7.486641 + }, + { + "uic": "87642306", + "stop_area": "stop_area:OCE:SA:87642306", + "nom": "Bouxwiller Lycée Schattenmann", + "lat": 48.828994, + "lon": 7.476432 + }, + { + "uic": "87193177", + "stop_area": "stop_area:OCE:SA:87193177", + "nom": "Bouzonville", + "lat": 49.289974, + "lon": 6.529374 + }, + { + "uic": "87735522", + "stop_area": "stop_area:OCE:SA:87735522", + "nom": "Bouzonville Institut Providenc", + "lat": 49.292247, + "lon": 6.531394 + }, + { + "uic": "87406728", + "stop_area": "stop_area:OCE:SA:87406728", + "nom": "Bouzonville Rue d'Alzing", + "lat": 49.289873, + "lon": 6.535495 + }, + { + "uic": "87313213", + "stop_area": "stop_area:OCE:SA:87313213", + "nom": "Boves", + "lat": 49.846337, + "lon": 2.397793 + }, + { + "uic": "87615054", + "stop_area": "stop_area:OCE:SA:87615054", + "nom": "Bram", + "lat": 43.243815, + "lon": 2.119325 + }, + { + "uic": "87476242", + "stop_area": "stop_area:OCE:SA:87476242", + "nom": "Brandérion", + "lat": 47.782318, + "lon": -3.19404 + }, + { + "uic": "87734244", + "stop_area": "stop_area:OCE:SA:87734244", + "nom": "Brassac-les-Mines - Sainte-Florine", + "lat": 45.414246, + "lon": 3.330167 + }, + { + "uic": "87395657", + "stop_area": "stop_area:OCE:SA:87395657", + "nom": "Brassac-les-Mines Lycée Rabelais", + "lat": 45.413632, + "lon": 3.32142 + }, + { + "uic": "87611822", + "stop_area": "stop_area:OCE:SA:87611822", + "nom": "Brax - Léguevin", + "lat": 43.614887, + "lon": 1.236922 + }, + { + "uic": "87713644", + "stop_area": "stop_area:OCE:SA:87713644", + "nom": "Brazey-en-Plaine", + "lat": 47.131491, + "lon": 5.21239 + }, + { + "uic": "87413344", + "stop_area": "stop_area:OCE:SA:87413344", + "nom": "Bréauté - Beuzeville", + "lat": 49.603396, + "lon": 0.417489 + }, + { + "uic": "87345108", + "stop_area": "stop_area:OCE:SA:87345108", + "nom": "Brebières Sud", + "lat": 50.336155, + "lon": 3.013977 + }, + { + "uic": "87756833", + "stop_area": "stop_area:OCE:SA:87756833", + "nom": "Breil-sur-Roya", + "lat": 43.944057, + "lon": 7.516446 + }, + { + "uic": "87182659", + "stop_area": "stop_area:OCE:SA:87182659", + "nom": "Breitenbach", + "lat": 48.028533, + "lon": 7.104052 + }, + { + "uic": "87665562", + "stop_area": "stop_area:OCE:SA:87665562", + "nom": "Breitenbach Restaurant Breit's bar", + "lat": 48.026744, + "lon": 7.098981 + }, + { + "uic": "87473827", + "stop_area": "stop_area:OCE:SA:87473827", + "nom": "Brélidy - Plouec", + "lat": 48.669155, + "lon": -3.196214 + }, + { + "uic": "87487249", + "stop_area": "stop_area:OCE:SA:87487249", + "nom": "Bressuire", + "lat": 46.838403, + "lon": -0.49614 + }, + { + "uic": "87474007", + "stop_area": "stop_area:OCE:SA:87474007", + "nom": "Brest", + "lat": 48.38762, + "lon": -4.480306 + }, + { + "uic": "87471102", + "stop_area": "stop_area:OCE:SA:87471102", + "nom": "Breteil", + "lat": 48.140539, + "lon": -1.897545 + }, + { + "uic": "87594762", + "stop_area": "stop_area:OCE:SA:87594762", + "nom": "Bretenoux - Biars", + "lat": 44.927466, + "lon": 1.844383 + }, + { + "uic": "87313247", + "stop_area": "stop_area:OCE:SA:87313247", + "nom": "Breteuil-Embranchement", + "lat": 49.626499, + "lon": 2.384714 + }, + { + "uic": "87712265", + "stop_area": "stop_area:OCE:SA:87712265", + "nom": "Bretigny - Norges", + "lat": 47.389742, + "lon": 5.110074 + }, + { + "uic": "87394270", + "stop_area": "stop_area:OCE:SA:87394270", + "nom": "Bretoncelles", + "lat": 48.43273, + "lon": 0.89236 + }, + { + "uic": "87444042", + "stop_area": "stop_area:OCE:SA:87444042", + "nom": "Bretteville - Norrey", + "lat": 49.203411, + "lon": -0.51274 + }, + { + "uic": "87193169", + "stop_area": "stop_area:OCE:SA:87193169", + "nom": "Brettnach Centre", + "lat": 49.257999, + "lon": 6.563805 + }, + { + "uic": "87171322", + "stop_area": "stop_area:OCE:SA:87171322", + "nom": "Breuil - Romain", + "lat": 49.308414, + "lon": 3.766532 + }, + { + "uic": "87381624", + "stop_area": "stop_area:OCE:SA:87381624", + "nom": "Bréval", + "lat": 48.94336, + "lon": 1.54191 + }, + { + "uic": "87763607", + "stop_area": "stop_area:OCE:SA:87763607", + "nom": "Briançon", + "lat": 44.889842, + "lon": 6.632966 + }, + { + "uic": "87696088", + "stop_area": "stop_area:OCE:SA:87696088", + "nom": "Briare", + "lat": 47.646363, + "lon": 2.733652 + }, + { + "uic": "87117994", + "stop_area": "stop_area:OCE:SA:87117994", + "nom": "Brienon-sur-Armançon Mairie", + "lat": 47.992025, + "lon": 3.617066 + }, + { + "uic": "87592063", + "stop_area": "stop_area:OCE:SA:87592063", + "nom": "Brignac", + "lat": 45.863905, + "lon": 1.440351 + }, + { + "uic": "87722728", + "stop_area": "stop_area:OCE:SA:87722728", + "nom": "Brignais", + "lat": 45.673538, + "lon": 4.76352 + }, + { + "uic": "87747451", + "stop_area": "stop_area:OCE:SA:87747451", + "nom": "Brignoud", + "lat": 45.262494, + "lon": 5.90145 + }, + { + "uic": "87317180", + "stop_area": "stop_area:OCE:SA:87317180", + "nom": "Brimeux", + "lat": 50.446741, + "lon": 1.833896 + }, + { + "uic": "87677047", + "stop_area": "stop_area:OCE:SA:87677047", + "nom": "Brion - Laisy Mairie", + "lat": 46.908137, + "lon": 4.200381 + }, + { + "uic": "87694596", + "stop_area": "stop_area:OCE:SA:87694596", + "nom": "Brion - Laizy", + "lat": 46.908582, + "lon": 4.207128 + }, + { + "uic": "87131961", + "stop_area": "stop_area:OCE:SA:87131961", + "nom": "Brion - Montréal-la-Cluse Gare", + "lat": 46.175774, + "lon": 5.558513 + }, + { + "uic": "87487611", + "stop_area": "stop_area:OCE:SA:87487611", + "nom": "Brion-près-Thouet", + "lat": 47.048721, + "lon": -0.184901 + }, + { + "uic": "87415364", + "stop_area": "stop_area:OCE:SA:87415364", + "nom": "Brionne", + "lat": 49.196422, + "lon": 0.711783 + }, + { + "uic": "87734269", + "stop_area": "stop_area:OCE:SA:87734269", + "nom": "Brioude", + "lat": 45.300561, + "lon": 3.37856 + }, + { + "uic": "87448084", + "stop_area": "stop_area:OCE:SA:87448084", + "nom": "Briouze", + "lat": 48.701862, + "lon": -0.368204 + }, + { + "uic": "87594002", + "stop_area": "stop_area:OCE:SA:87594002", + "nom": "Brive-la-Gaillarde", + "lat": 45.152601, + "lon": 1.528634 + }, + { + "uic": "87473074", + "stop_area": "stop_area:OCE:SA:87473074", + "nom": "Broons", + "lat": 48.333398, + "lon": -2.235746 + }, + { + "uic": "87394452", + "stop_area": "stop_area:OCE:SA:87394452", + "nom": "Brou", + "lat": 48.215515, + "lon": 1.160424 + }, + { + "uic": "87694166", + "stop_area": "stop_area:OCE:SA:87694166", + "nom": "Broye", + "lat": 46.862105, + "lon": 4.296098 + }, + { + "uic": "87581736", + "stop_area": "stop_area:OCE:SA:87581736", + "nom": "Bruges", + "lat": 44.887012, + "lon": -0.609445 + }, + { + "uic": "87192260", + "stop_area": "stop_area:OCE:SA:87192260", + "nom": "Brulange Rue de Metz", + "lat": 48.9695, + "lon": 6.549028 + }, + { + "uic": "87212134", + "stop_area": "stop_area:OCE:SA:87212134", + "nom": "Brumath", + "lat": 48.733077, + "lon": 7.700421 + }, + { + "uic": "87654673", + "stop_area": "stop_area:OCE:SA:87654673", + "nom": "Brumath Mairie", + "lat": 48.730876, + "lon": 7.708523 + }, + { + "uic": "87345439", + "stop_area": "stop_area:OCE:SA:87345439", + "nom": "Brunémont", + "lat": 50.278221, + "lon": 3.146038 + }, + { + "uic": "88140010", + "stop_area": "stop_area:OCE:SA:88140010", + "nom": "Bruxelles Midi", + "lat": 50.836, + "lon": 4.336 + }, + { + "uic": "87144154", + "stop_area": "stop_area:OCE:SA:87144154", + "nom": "Bruyères", + "lat": 48.205021, + "lon": 6.718908 + }, + { + "uic": "87471037", + "stop_area": "stop_area:OCE:SA:87471037", + "nom": "Bruz", + "lat": 48.02858, + "lon": -1.751587 + }, + { + "uic": "87407247", + "stop_area": "stop_area:OCE:SA:87407247", + "nom": "Budange Rue D'Aboncourt", + "lat": 49.276705, + "lon": 6.344782 + }, + { + "uic": "87387092", + "stop_area": "stop_area:OCE:SA:87387092", + "nom": "Bueil", + "lat": 48.925365, + "lon": 1.443436 + }, + { + "uic": "87592162", + "stop_area": "stop_area:OCE:SA:87592162", + "nom": "Bugeat", + "lat": 45.600597, + "lon": 1.924815 + }, + { + "uic": "87316067", + "stop_area": "stop_area:OCE:SA:87316067", + "nom": "Buire-sur-l'Ancre", + "lat": 49.964797, + "lon": 2.598159 + }, + { + "uic": "87141739", + "stop_area": "stop_area:OCE:SA:87141739", + "nom": "Bulligny Centre", + "lat": 48.576446, + "lon": 5.85136 + }, + { + "uic": "87342105", + "stop_area": "stop_area:OCE:SA:87342105", + "nom": "Bully - Grenay", + "lat": 50.448357, + "lon": 2.733391 + }, + { + "uic": "87296244", + "stop_area": "stop_area:OCE:SA:87296244", + "nom": "Busigny", + "lat": 50.039547, + "lon": 3.446436 + }, + { + "uic": "87491191", + "stop_area": "stop_area:OCE:SA:87491191", + "nom": "Bussac", + "lat": 45.212034, + "lon": -0.368249 + }, + { + "uic": "87597708", + "stop_area": "stop_area:OCE:SA:87597708", + "nom": "Busseau sur Creuse", + "lat": 46.122771, + "lon": 2.023156 + }, + { + "uic": "87592741", + "stop_area": "stop_area:OCE:SA:87592741", + "nom": "Bussière-Galant", + "lat": 45.607611, + "lon": 1.026176 + }, + { + "uic": "87936989", + "stop_area": "stop_area:OCE:SA:87936989", + "nom": "Buswiller-Eglise", + "lat": 48.819704, + "lon": 7.559656 + }, + { + "uic": "87659656", + "stop_area": "stop_area:OCE:SA:87659656", + "nom": "Buvilly Halte Routière", + "lat": 46.869346, + "lon": 5.71656 + }, + { + "uic": "87672634", + "stop_area": "stop_area:OCE:SA:87672634", + "nom": "Buzy en Béarn", + "lat": 43.148078, + "lon": -0.455775 + }, + { + "uic": "87458810", + "stop_area": "stop_area:OCE:SA:87458810", + "nom": "Buzy Rue d'Etain", + "lat": 49.171077, + "lon": 5.709978 + }, + { + "uic": "87718122", + "stop_area": "stop_area:OCE:SA:87718122", + "nom": "Byans", + "lat": 47.118586, + "lon": 5.85218 + }, + { + "uic": "87582684", + "stop_area": "stop_area:OCE:SA:87582684", + "nom": "Cadaujac", + "lat": 44.752154, + "lon": -0.537706 + }, + { + "uic": "87444000", + "stop_area": "stop_area:OCE:SA:87444000", + "nom": "Caen", + "lat": 49.176354, + "lon": -0.347613 + }, + { + "uic": "87317321", + "stop_area": "stop_area:OCE:SA:87317321", + "nom": "Caffiers", + "lat": 50.8498, + "lon": 1.812401 + }, + { + "uic": "87756320", + "stop_area": "stop_area:OCE:SA:87756320", + "nom": "Cagnes-sur-Mer", + "lat": 43.657687, + "lon": 7.148122 + }, + { + "uic": "87613000", + "stop_area": "stop_area:OCE:SA:87613000", + "nom": "Cahors", + "lat": 44.449275, + "lon": 1.433325 + }, + { + "uic": "87281071", + "stop_area": "stop_area:OCE:SA:87281071", + "nom": "Calais - Fréthun", + "lat": 50.901247, + "lon": 1.811178 + }, + { + "uic": "87317263", + "stop_area": "stop_area:OCE:SA:87317263", + "nom": "Calais Ville", + "lat": 50.953466, + "lon": 1.850885 + }, + { + "uic": "87473546", + "stop_area": "stop_area:OCE:SA:87473546", + "nom": "Callac", + "lat": 48.406375, + "lon": -3.41985 + }, + { + "uic": "87342543", + "stop_area": "stop_area:OCE:SA:87342543", + "nom": "Calonne-Ricouart", + "lat": 50.482799, + "lon": 2.481062 + }, + { + "uic": "87673657", + "stop_area": "stop_area:OCE:SA:87673657", + "nom": "Cambo-les-Bains", + "lat": 43.365431, + "lon": -1.396812 + }, + { + "uic": "87345520", + "stop_area": "stop_area:OCE:SA:87345520", + "nom": "Cambrai", + "lat": 50.176582, + "lon": 3.241197 + }, + { + "uic": "87783340", + "stop_area": "stop_area:OCE:SA:87783340", + "nom": "Campagnac - Saint-Geniez", + "lat": 44.421956, + "lon": 3.066401 + }, + { + "uic": "87640706", + "stop_area": "stop_area:OCE:SA:87640706", + "nom": "Campagne-sur-Aude Le Vieux Pont", + "lat": 42.916866, + "lon": 2.20542 + }, + { + "uic": "87757625", + "stop_area": "stop_area:OCE:SA:87757625", + "nom": "Cannes", + "lat": 43.553908, + "lon": 7.019711 + }, + { + "uic": "87757617", + "stop_area": "stop_area:OCE:SA:87757617", + "nom": "Cannes La Bocca", + "lat": 43.548871, + "lon": 6.986661 + }, + { + "uic": "87345413", + "stop_area": "stop_area:OCE:SA:87345413", + "nom": "Cantin", + "lat": 50.312554, + "lon": 3.122145 + }, + { + "uic": "87756395", + "stop_area": "stop_area:OCE:SA:87756395", + "nom": "Cap-d'Ail", + "lat": 43.7206, + "lon": 7.394384 + }, + { + "uic": "87613109", + "stop_area": "stop_area:OCE:SA:87613109", + "nom": "Capdenac", + "lat": 44.578246, + "lon": 2.077963 + }, + { + "uic": "87671156", + "stop_area": "stop_area:OCE:SA:87671156", + "nom": "Capvern", + "lat": 43.103345, + "lon": 0.329639 + }, + { + "uic": "87611061", + "stop_area": "stop_area:OCE:SA:87611061", + "nom": "Carbonne", + "lat": 43.298219, + "lon": 1.212514 + }, + { + "uic": "87615286", + "stop_area": "stop_area:OCE:SA:87615286", + "nom": "Carcassonne", + "lat": 43.218029, + "lon": 2.351824 + }, + { + "uic": "87447243", + "stop_area": "stop_area:OCE:SA:87447243", + "nom": "Carentan", + "lat": 49.302482, + "lon": -1.244938 + }, + { + "uic": "87473504", + "stop_area": "stop_area:OCE:SA:87473504", + "nom": "Carhaix", + "lat": 48.278002, + "lon": -3.562217 + }, + { + "uic": "87172353", + "stop_area": "stop_area:OCE:SA:87172353", + "nom": "Carignan", + "lat": 49.628671, + "lon": 5.168517 + }, + { + "uic": "87112326", + "stop_area": "stop_area:OCE:SA:87112326", + "nom": "Carignan Rue de la Paix", + "lat": 49.635544, + "lon": 5.160862 + }, + { + "uic": "87615625", + "stop_area": "stop_area:OCE:SA:87615625", + "nom": "Carmaux", + "lat": 44.048782, + "lon": 2.152401 + }, + { + "uic": "87473561", + "stop_area": "stop_area:OCE:SA:87473561", + "nom": "Carnoët - Locarn", + "lat": 48.340614, + "lon": -3.490667 + }, + { + "uic": "87756478", + "stop_area": "stop_area:OCE:SA:87756478", + "nom": "Carnoles", + "lat": 43.76204, + "lon": 7.481427 + }, + { + "uic": "87755371", + "stop_area": "stop_area:OCE:SA:87755371", + "nom": "Carnoules", + "lat": 43.297513, + "lon": 6.186191 + }, + { + "uic": "87765735", + "stop_area": "stop_area:OCE:SA:87765735", + "nom": "Carpentras", + "lat": 44.048484, + "lon": 5.044439 + }, + { + "uic": "87753566", + "stop_area": "stop_area:OCE:SA:87753566", + "nom": "Carry-le-Rouet", + "lat": 43.336615, + "lon": 5.153658 + }, + { + "uic": "87208553", + "stop_area": "stop_area:OCE:SA:87208553", + "nom": "Casino Lacroix Laval", + "lat": 45.787899, + "lon": 4.730912 + }, + { + "uic": "87281139", + "stop_area": "stop_area:OCE:SA:87281139", + "nom": "Cassel", + "lat": 50.78753, + "lon": 2.460361 + }, + { + "uic": "87751776", + "stop_area": "stop_area:OCE:SA:87751776", + "nom": "Cassis", + "lat": 43.234079, + "lon": 5.553138 + }, + { + "uic": "87611665", + "stop_area": "stop_area:OCE:SA:87611665", + "nom": "Castelnau-d'Estrétefonds", + "lat": 43.786195, + "lon": 1.341821 + }, + { + "uic": "87615039", + "stop_area": "stop_area:OCE:SA:87615039", + "nom": "Castelnaudary", + "lat": 43.312292, + "lon": 1.95039 + }, + { + "uic": "87611897", + "stop_area": "stop_area:OCE:SA:87611897", + "nom": "Castelsarrasin", + "lat": 44.040226, + "lon": 1.114155 + }, + { + "uic": "87584136", + "stop_area": "stop_area:OCE:SA:87584136", + "nom": "Castillon", + "lat": 44.856999, + "lon": -0.04066 + }, + { + "uic": "87615468", + "stop_area": "stop_area:OCE:SA:87615468", + "nom": "Castres", + "lat": 43.599134, + "lon": 2.231072 + }, + { + "uic": "87345587", + "stop_area": "stop_area:OCE:SA:87345587", + "nom": "Cattenières", + "lat": 50.128347, + "lon": 3.333718 + }, + { + "uic": "87581538", + "stop_area": "stop_area:OCE:SA:87581538", + "nom": "Caudéran-Mérignac", + "lat": 44.842622, + "lon": -0.627745 + }, + { + "uic": "87582841", + "stop_area": "stop_area:OCE:SA:87582841", + "nom": "Caudrot", + "lat": 44.58014, + "lon": -0.145161 + }, + { + "uic": "87345561", + "stop_area": "stop_area:OCE:SA:87345561", + "nom": "Caudry", + "lat": 50.111473, + "lon": 3.40971 + }, + { + "uic": "87473066", + "stop_area": "stop_area:OCE:SA:87473066", + "nom": "Caulnes", + "lat": 48.284426, + "lon": -2.155593 + }, + { + "uic": "87613356", + "stop_area": "stop_area:OCE:SA:87613356", + "nom": "Caussade", + "lat": 44.162244, + "lon": 1.533667 + }, + { + "uic": "87765503", + "stop_area": "stop_area:OCE:SA:87765503", + "nom": "Cavaillon", + "lat": 43.834703, + "lon": 5.043714 + }, + { + "uic": "87491217", + "stop_area": "stop_area:OCE:SA:87491217", + "nom": "Cavignac", + "lat": 45.105163, + "lon": -0.382243 + }, + { + "uic": "87170761", + "stop_area": "stop_area:OCE:SA:87170761", + "nom": "Cazaux-Layrisse Eglise", + "lat": 42.868974, + "lon": 0.608072 + }, + { + "uic": "87611079", + "stop_area": "stop_area:OCE:SA:87611079", + "nom": "Cazères", + "lat": 43.212834, + "lon": 1.083106 + }, + { + "uic": "87781542", + "stop_area": "stop_area:OCE:SA:87781542", + "nom": "Ceilhes - Roqueredonde", + "lat": 43.812151, + "lon": 3.155302 + }, + { + "uic": "87717090", + "stop_area": "stop_area:OCE:SA:87717090", + "nom": "Ceintrey Eglise", + "lat": 48.524463, + "lon": 6.163995 + }, + { + "uic": "87701102", + "stop_area": "stop_area:OCE:SA:87701102", + "nom": "Ceintrey Groupe Scolaire", + "lat": 48.52429, + "lon": 6.160471 + }, + { + "uic": "87731604", + "stop_area": "stop_area:OCE:SA:87731604", + "nom": "Celles-sur-Durolle Arrêt des Cars", + "lat": 45.866782, + "lon": 3.644889 + }, + { + "uic": "87581595", + "stop_area": "stop_area:OCE:SA:87581595", + "nom": "Cenon", + "lat": 44.856347, + "lon": -0.533649 + }, + { + "uic": "87785006", + "stop_area": "stop_area:OCE:SA:87785006", + "nom": "Cerbère", + "lat": 42.441773, + "lon": 3.163403 + }, + { + "uic": "87543033", + "stop_area": "stop_area:OCE:SA:87543033", + "nom": "Cercottes", + "lat": 47.986155, + "lon": 1.884981 + }, + { + "uic": "87696492", + "stop_area": "stop_area:OCE:SA:87696492", + "nom": "Cercy-la-Tour", + "lat": 46.85793, + "lon": 3.645084 + }, + { + "uic": "87487280", + "stop_area": "stop_area:OCE:SA:87487280", + "nom": "Cerizay", + "lat": 46.817551, + "lon": -0.667313 + }, + { + "uic": "87182410", + "stop_area": "stop_area:OCE:SA:87182410", + "nom": "Cernay", + "lat": 47.802, + "lon": 7.1737 + }, + { + "uic": "87659987", + "stop_area": "stop_area:OCE:SA:87659987", + "nom": "Cernay Église", + "lat": 47.809321, + "lon": 7.174788 + }, + { + "uic": "87582742", + "stop_area": "stop_area:OCE:SA:87582742", + "nom": "Cérons", + "lat": 44.632346, + "lon": -0.340526 + }, + { + "uic": "87723452", + "stop_area": "stop_area:OCE:SA:87723452", + "nom": "Cessieu", + "lat": 45.56116, + "lon": 5.376118 + }, + { + "uic": "87334490", + "stop_area": "stop_area:OCE:SA:87334490", + "nom": "Cesson-Sévigné", + "lat": 48.11281, + "lon": -1.60211 + }, + { + "uic": "87741686", + "stop_area": "stop_area:OCE:SA:87741686", + "nom": "Cévins-échangeur", + "lat": 45.595002, + "lon": 6.446614 + }, + { + "uic": "87743302", + "stop_area": "stop_area:OCE:SA:87743302", + "nom": "Ceyzériat", + "lat": 46.183333, + "lon": 5.325636 + }, + { + "uic": "87597112", + "stop_area": "stop_area:OCE:SA:87597112", + "nom": "Chabenet", + "lat": 46.626526, + "lon": 1.507677 + }, + { + "uic": "87747212", + "stop_area": "stop_area:OCE:SA:87747212", + "nom": "Châbons", + "lat": 45.438407, + "lon": 5.428099 + }, + { + "uic": "87734491", + "stop_area": "stop_area:OCE:SA:87734491", + "nom": "Chabreloche Pont Bascule", + "lat": 45.879388, + "lon": 3.694762 + }, + { + "uic": "87576223", + "stop_area": "stop_area:OCE:SA:87576223", + "nom": "Chabris", + "lat": 47.25512, + "lon": 1.646217 + }, + { + "uic": "87713578", + "stop_area": "stop_area:OCE:SA:87713578", + "nom": "Chagny", + "lat": 46.907424, + "lon": 4.749613 + }, + { + "uic": "87574111", + "stop_area": "stop_area:OCE:SA:87574111", + "nom": "Chaingy Fourneaux Plage", + "lat": 47.877178, + "lon": 1.782365 + }, + { + "uic": "87583690", + "stop_area": "stop_area:OCE:SA:87583690", + "nom": "Chalais", + "lat": 45.270875, + "lon": 0.043448 + }, + { + "uic": "87481390", + "stop_area": "stop_area:OCE:SA:87481390", + "nom": "Challans", + "lat": 46.844148, + "lon": -1.871814 + }, + { + "uic": "87725002", + "stop_area": "stop_area:OCE:SA:87725002", + "nom": "Chalon-sur-Saône", + "lat": 46.781622, + "lon": 4.843479 + }, + { + "uic": "87484204", + "stop_area": "stop_area:OCE:SA:87484204", + "nom": "Chalonnes", + "lat": 47.343001, + "lon": -0.743801 + }, + { + "uic": "87174003", + "stop_area": "stop_area:OCE:SA:87174003", + "nom": "Châlons-en-Champagne", + "lat": 48.955252, + "lon": 4.348656 + }, + { + "uic": "87747345", + "stop_area": "stop_area:OCE:SA:87747345", + "nom": "Châlons-en-Champagne Greta", + "lat": 48.97383, + "lon": 4.358965 + }, + { + "uic": "87747303", + "stop_area": "stop_area:OCE:SA:87747303", + "nom": "Châlons-en-Champagne Tissier", + "lat": 48.957927, + "lon": 4.364458 + }, + { + "uic": "87680694", + "stop_area": "stop_area:OCE:SA:87680694", + "nom": "Chamalieres Place Parking M.", + "lat": 45.201023, + "lon": 3.983345 + }, + { + "uic": "87734731", + "stop_area": "stop_area:OCE:SA:87734731", + "nom": "Chamalières-sur-Loire", + "lat": 45.20591, + "lon": 3.991894 + }, + { + "uic": "87741009", + "stop_area": "stop_area:OCE:SA:87741009", + "nom": "Chambéry - Challes-les-Eaux", + "lat": 45.571302, + "lon": 5.919547 + }, + { + "uic": "87698423", + "stop_area": "stop_area:OCE:SA:87698423", + "nom": "Chambery-Jacob-Bellecombette", + "lat": 45.55779, + "lon": 5.91021 + }, + { + "uic": "85010207", + "stop_area": "stop_area:OCE:SA:85010207", + "nom": "Chambésy", + "lat": 46.242378, + "lon": 6.147342 + }, + { + "uic": "87276725", + "stop_area": "stop_area:OCE:SA:87276725", + "nom": "Chambly", + "lat": 49.163605, + "lon": 2.240538 + }, + { + "uic": "87775221", + "stop_area": "stop_area:OCE:SA:87775221", + "nom": "Chamborigaud", + "lat": 44.300243, + "lon": 3.979333 + }, + { + "uic": "87721845", + "stop_area": "stop_area:OCE:SA:87721845", + "nom": "Chambost-Allières", + "lat": 46.018641, + "lon": 4.499074 + }, + { + "uic": "87571463", + "stop_area": "stop_area:OCE:SA:87571463", + "nom": "Chambourg", + "lat": 47.182215, + "lon": 0.964949 + }, + { + "uic": "87721829", + "stop_area": "stop_area:OCE:SA:87721829", + "nom": "Chamelet", + "lat": 45.981667, + "lon": 4.507125 + }, + { + "uic": "87666099", + "stop_area": "stop_area:OCE:SA:87666099", + "nom": "Chamelet Centre", + "lat": 45.982752, + "lon": 4.508834 + }, + { + "uic": "87462085", + "stop_area": "stop_area:OCE:SA:87462085", + "nom": "Chamonix Aiguille du Midi", + "lat": 45.91999, + "lon": 6.866895 + }, + { + "uic": "87746784", + "stop_area": "stop_area:OCE:SA:87746784", + "nom": "Chamonix-Mont-Blanc", + "lat": 45.92277, + "lon": 6.87363 + }, + { + "uic": "87741231", + "stop_area": "stop_area:OCE:SA:87741231", + "nom": "Chamousset", + "lat": 45.557574, + "lon": 6.206743 + }, + { + "uic": "87117911", + "stop_area": "stop_area:OCE:SA:87117911", + "nom": "Chamoy-Carrefour D1/D23", + "lat": 48.11715, + "lon": 3.972907 + }, + { + "uic": "87396275", + "stop_area": "stop_area:OCE:SA:87396275", + "nom": "Champagné", + "lat": 48.019748, + "lon": 0.335665 + }, + { + "uic": "87171926", + "stop_area": "stop_area:OCE:SA:87171926", + "nom": "Champagne-Ardenne TGV", + "lat": 49.214769, + "lon": 3.994523 + }, + { + "uic": "87682450", + "stop_area": "stop_area:OCE:SA:87682450", + "nom": "Champagne-sur-Seine", + "lat": 48.406582, + "lon": 2.79921 + }, + { + "uic": "87185348", + "stop_area": "stop_area:OCE:SA:87185348", + "nom": "Champagney", + "lat": 47.703031, + "lon": 6.701165 + }, + { + "uic": "87715326", + "stop_area": "stop_area:OCE:SA:87715326", + "nom": "Champagnole", + "lat": 46.749315, + "lon": 5.910049 + }, + { + "uic": "87352047", + "stop_area": "stop_area:OCE:SA:87352047", + "nom": "Champagnole Paul-Émile Victor", + "lat": 46.74255, + "lon": 5.919794 + }, + { + "uic": "87141085", + "stop_area": "stop_area:OCE:SA:87141085", + "nom": "Champigneulles", + "lat": 48.735025, + "lon": 6.168952 + }, + { + "uic": "87683128", + "stop_area": "stop_area:OCE:SA:87683128", + "nom": "Champigny", + "lat": 48.323742, + "lon": 3.130572 + }, + { + "uic": "87683615", + "stop_area": "stop_area:OCE:SA:87683615", + "nom": "Champs - Saint-Bris", + "lat": 47.738587, + "lon": 3.603833 + }, + { + "uic": "87484352", + "stop_area": "stop_area:OCE:SA:87484352", + "nom": "Champtocé-sur-Loire", + "lat": 47.410314, + "lon": -0.868674 + }, + { + "uic": "87783530", + "stop_area": "stop_area:OCE:SA:87783530", + "nom": "Chanac", + "lat": 44.473979, + "lon": 3.345412 + }, + { + "uic": "87677096", + "stop_area": "stop_area:OCE:SA:87677096", + "nom": "Changy Tourny Monument", + "lat": 46.403337, + "lon": 4.253013 + }, + { + "uic": "87481051", + "stop_area": "stop_area:OCE:SA:87481051", + "nom": "Chantenay", + "lat": 47.1972, + "lon": -1.594332 + }, + { + "uic": "87696302", + "stop_area": "stop_area:OCE:SA:87696302", + "nom": "Chantenay-Saint-Imbert", + "lat": 46.728556, + "lon": 3.171472 + }, + { + "uic": "87497222", + "stop_area": "stop_area:OCE:SA:87497222", + "nom": "Chantenay-Saint-Imbert Bourg", + "lat": 46.733098, + "lon": 3.183146 + }, + { + "uic": "87276113", + "stop_area": "stop_area:OCE:SA:87276113", + "nom": "Chantilly - Gouvieux", + "lat": 49.187219, + "lon": 2.459771 + }, + { + "uic": "87486332", + "stop_area": "stop_area:OCE:SA:87486332", + "nom": "Chantonnay", + "lat": 46.690068, + "lon": -1.054325 + }, + { + "uic": "87734343", + "stop_area": "stop_area:OCE:SA:87734343", + "nom": "Chapeauroux", + "lat": 44.83806, + "lon": 3.741864 + }, + { + "uic": "87722710", + "stop_area": "stop_area:OCE:SA:87722710", + "nom": "Chaponost", + "lat": 45.698484, + "lon": 4.76437 + }, + { + "uic": "87721530", + "stop_area": "stop_area:OCE:SA:87721530", + "nom": "Charbonnières-les-Bains", + "lat": 45.782173, + "lon": 4.735875 + }, + { + "uic": "88720090", + "stop_area": "stop_area:OCE:SA:88720090", + "nom": "Charleroi-Central", + "lat": 50.404393, + "lon": 4.438504 + }, + { + "uic": "87172007", + "stop_area": "stop_area:OCE:SA:87172007", + "nom": "Charleville-Mézières", + "lat": 49.76763, + "lon": 4.724344 + }, + { + "uic": "87144055", + "stop_area": "stop_area:OCE:SA:87144055", + "nom": "Charmes", + "lat": 48.377967, + "lon": 6.301475 + }, + { + "uic": "87761510", + "stop_area": "stop_area:OCE:SA:87761510", + "nom": "Charmes-sur-Rhône-centre", + "lat": 44.862645, + "lon": 4.834876 + }, + { + "uic": "87694885", + "stop_area": "stop_area:OCE:SA:87694885", + "nom": "Charolles", + "lat": 46.435019, + "lon": 4.273639 + }, + { + "uic": "87394007", + "stop_area": "stop_area:OCE:SA:87394007", + "nom": "Chartres", + "lat": 48.448202, + "lon": 1.481313 + }, + { + "uic": "87746933", + "stop_area": "stop_area:OCE:SA:87746933", + "nom": "Chartres Gare Rue Nicole", + "lat": 48.447281, + "lon": 1.480992 + }, + { + "uic": "87722561", + "stop_area": "stop_area:OCE:SA:87722561", + "nom": "Chasse-sur-Rhône", + "lat": 45.582406, + "lon": 4.794848 + }, + { + "uic": "87575225", + "stop_area": "stop_area:OCE:SA:87575225", + "nom": "Chasseneuil-du-Poitou", + "lat": 46.65177, + "lon": 0.373028 + }, + { + "uic": "87775148", + "stop_area": "stop_area:OCE:SA:87775148", + "nom": "Chasseradès", + "lat": 44.553985, + "lon": 3.839932 + }, + { + "uic": "87751230", + "stop_area": "stop_area:OCE:SA:87751230", + "nom": "Château-Arnoux-Saint-Auban", + "lat": 44.061463, + "lon": 5.997435 + }, + { + "uic": "87396606", + "stop_area": "stop_area:OCE:SA:87396606", + "nom": "Château-du-Loir", + "lat": 47.683334, + "lon": 0.414959 + }, + { + "uic": "87543066", + "stop_area": "stop_area:OCE:SA:87543066", + "nom": "Château-Gaillard", + "lat": 48.14169, + "lon": 1.912815 + }, + { + "uic": "87595165", + "stop_area": "stop_area:OCE:SA:87595165", + "nom": "Château-l'Évêque", + "lat": 45.244633, + "lon": 0.688125 + }, + { + "uic": "87574665", + "stop_area": "stop_area:OCE:SA:87574665", + "nom": "Château-Renault", + "lat": 47.587796, + "lon": 0.901524 + }, + { + "uic": "87116582", + "stop_area": "stop_area:OCE:SA:87116582", + "nom": "Château-Thierry", + "lat": 49.03814, + "lon": 3.409302 + }, + { + "uic": "87471524", + "stop_area": "stop_area:OCE:SA:87471524", + "nom": "Châteaubourg", + "lat": 48.106361, + "lon": -1.405159 + }, + { + "uic": "87481648", + "stop_area": "stop_area:OCE:SA:87481648", + "nom": "Châteaubriant", + "lat": 47.717521, + "lon": -1.371515 + }, + { + "uic": "87590372", + "stop_area": "stop_area:OCE:SA:87590372", + "nom": "Châteaubriant Tram Train", + "lat": 47.717348, + "lon": -1.371564 + }, + { + "uic": "87545756", + "stop_area": "stop_area:OCE:SA:87545756", + "nom": "Châteaudun", + "lat": 48.073409, + "lon": 1.338114 + }, + { + "uic": "87474064", + "stop_area": "stop_area:OCE:SA:87474064", + "nom": "Châteaulin", + "lat": 48.201603, + "lon": -4.094308 + }, + { + "uic": "87592105", + "stop_area": "stop_area:OCE:SA:87592105", + "nom": "Châteauneuf - Bujaleuf", + "lat": 45.759357, + "lon": 1.645235 + }, + { + "uic": "87491506", + "stop_area": "stop_area:OCE:SA:87491506", + "nom": "Châteauneuf-sur-Charente", + "lat": 45.59978, + "lon": -0.050217 + }, + { + "uic": "87576298", + "stop_area": "stop_area:OCE:SA:87576298", + "nom": "Châteauneuf-sur-Cher", + "lat": 46.856682, + "lon": 2.310173 + }, + { + "uic": "87597005", + "stop_area": "stop_area:OCE:SA:87597005", + "nom": "Châteauroux", + "lat": 46.809812, + "lon": 1.699483 + }, + { + "uic": "87144071", + "stop_area": "stop_area:OCE:SA:87144071", + "nom": "Châtel - Nomexy", + "lat": 48.307114, + "lon": 6.388008 + }, + { + "uic": "87696856", + "stop_area": "stop_area:OCE:SA:87696856", + "nom": "Châtel-Censoir", + "lat": 47.537769, + "lon": 3.635211 + }, + { + "uic": "87485110", + "stop_area": "stop_area:OCE:SA:87485110", + "nom": "Châtelaillon", + "lat": 46.078282, + "lon": -1.091118 + }, + { + "uic": "87473140", + "stop_area": "stop_area:OCE:SA:87473140", + "nom": "Châtelaudren - Plouagat", + "lat": 48.533219, + "lon": -2.974678 + }, + { + "uic": "87575142", + "stop_area": "stop_area:OCE:SA:87575142", + "nom": "Châtellerault", + "lat": 46.818594, + "lon": 0.549279 + }, + { + "uic": "87744235", + "stop_area": "stop_area:OCE:SA:87744235", + "nom": "Châtenois Collège", + "lat": 48.270312, + "lon": 7.407618 + }, + { + "uic": "87640441", + "stop_area": "stop_area:OCE:SA:87640441", + "nom": "Châtenois Gare", + "lat": 48.276073, + "lon": 7.402036 + }, + { + "uic": "87640458", + "stop_area": "stop_area:OCE:SA:87640458", + "nom": "Châtenois Val-de-Villé Gare", + "lat": 48.282952, + "lon": 7.381939 + }, + { + "uic": "87721753", + "stop_area": "stop_area:OCE:SA:87721753", + "nom": "Châtillon d'Azergues", + "lat": 45.875248, + "lon": 4.64517 + }, + { + "uic": "87107482", + "stop_area": "stop_area:OCE:SA:87107482", + "nom": "Chatonrupt", + "lat": 48.488599, + "lon": 5.12729 + }, + { + "uic": "87118133", + "stop_area": "stop_area:OCE:SA:87118133", + "nom": "Châtres Salle Polyvalente", + "lat": 48.501415, + "lon": 3.853637 + }, + { + "uic": "87694778", + "stop_area": "stop_area:OCE:SA:87694778", + "nom": "Chauffailles", + "lat": 46.207439, + "lon": 4.345393 + }, + { + "uic": "87677138", + "stop_area": "stop_area:OCE:SA:87677138", + "nom": "Chauffailles Gambetta", + "lat": 46.206915, + "lon": 4.336512 + }, + { + "uic": "87712679", + "stop_area": "stop_area:OCE:SA:87712679", + "nom": "Chaugey", + "lat": 47.087204, + "lon": 5.255191 + }, + { + "uic": "87313478", + "stop_area": "stop_area:OCE:SA:87313478", + "nom": "Chaulnes", + "lat": 49.807679, + "lon": 2.801103 + }, + { + "uic": "87142000", + "stop_area": "stop_area:OCE:SA:87142000", + "nom": "Chaumont", + "lat": 48.10976, + "lon": 5.1346 + }, + { + "uic": "87107417", + "stop_area": "stop_area:OCE:SA:87107417", + "nom": "Chaumont Hôpital", + "lat": 48.119882, + "lon": 5.139408 + }, + { + "uic": "87296616", + "stop_area": "stop_area:OCE:SA:87296616", + "nom": "Chauny", + "lat": 49.611165, + "lon": 3.223484 + }, + { + "uic": "87721415", + "stop_area": "stop_area:OCE:SA:87721415", + "nom": "Chazay - Marcilly", + "lat": 45.873252, + "lon": 4.725253 + }, + { + "uic": "87746701", + "stop_area": "stop_area:OCE:SA:87746701", + "nom": "Chedde", + "lat": 45.92634, + "lon": 6.719784 + }, + { + "uic": "87694398", + "stop_area": "stop_area:OCE:SA:87694398", + "nom": "Cheilly-lès-Maranges", + "lat": 46.892569, + "lon": 4.67579 + }, + { + "uic": "87484246", + "stop_area": "stop_area:OCE:SA:87484246", + "nom": "Chemillé", + "lat": 47.217748, + "lon": -0.731989 + }, + { + "uic": "87683532", + "stop_area": "stop_area:OCE:SA:87683532", + "nom": "Chemilly - Appoigny", + "lat": 47.897276, + "lon": 3.55428 + }, + { + "uic": "85162743", + "stop_area": "stop_area:OCE:SA:85162743", + "nom": "Chêne-Bourg", + "lat": 46.196607, + "lon": 6.197253 + }, + { + "uic": "85927137", + "stop_area": "stop_area:OCE:SA:85927137", + "nom": "Chêne-Bourg Place Favre", + "lat": 46.195513, + "lon": 6.192267 + }, + { + "uic": "87141382", + "stop_area": "stop_area:OCE:SA:87141382", + "nom": "Chenevières", + "lat": 48.519404, + "lon": 6.63247 + }, + { + "uic": "87732693", + "stop_area": "stop_area:OCE:SA:87732693", + "nom": "Chenimenil Filature", + "lat": 48.133949, + "lon": 6.600507 + }, + { + "uic": "87192138", + "stop_area": "stop_area:OCE:SA:87192138", + "nom": "Chenois Rue Principale", + "lat": 48.959422, + "lon": 6.499135 + }, + { + "uic": "87574491", + "stop_area": "stop_area:OCE:SA:87574491", + "nom": "Chenonceaux", + "lat": 47.330631, + "lon": 1.065446 + }, + { + "uic": "87444877", + "stop_area": "stop_area:OCE:SA:87444877", + "nom": "Cherbourg", + "lat": 49.633518, + "lon": -1.621487 + }, + { + "uic": "87721761", + "stop_area": "stop_area:OCE:SA:87721761", + "nom": "Chessy", + "lat": 45.885524, + "lon": 4.622304 + }, + { + "uic": "87471458", + "stop_area": "stop_area:OCE:SA:87471458", + "nom": "Chevaigné", + "lat": 48.208582, + "lon": -1.63036 + }, + { + "uic": "87175117", + "stop_area": "stop_area:OCE:SA:87175117", + "nom": "Chevillon", + "lat": 48.524404, + "lon": 5.111639 + }, + { + "uic": "87543041", + "stop_area": "stop_area:OCE:SA:87543041", + "nom": "Chevilly", + "lat": 48.026672, + "lon": 1.879113 + }, + { + "uic": "87276311", + "stop_area": "stop_area:OCE:SA:87276311", + "nom": "Chevrières", + "lat": 49.337314, + "lon": 2.682515 + }, + { + "uic": "87741116", + "stop_area": "stop_area:OCE:SA:87741116", + "nom": "Chindrieux", + "lat": 45.803471, + "lon": 5.84691 + }, + { + "uic": "87571687", + "stop_area": "stop_area:OCE:SA:87571687", + "nom": "Chinon", + "lat": 47.163073, + "lon": 0.251645 + }, + { + "uic": "87783290", + "stop_area": "stop_area:OCE:SA:87783290", + "nom": "Chirac", + "lat": 44.524661, + "lon": 3.263818 + }, + { + "uic": "87640649", + "stop_area": "stop_area:OCE:SA:87640649", + "nom": "Chirac Ville", + "lat": 44.523054, + "lon": 3.267454 + }, + { + "uic": "87574848", + "stop_area": "stop_area:OCE:SA:87574848", + "nom": "Chissay-en-Touraine", + "lat": 47.334852, + "lon": 1.133761 + }, + { + "uic": "87342220", + "stop_area": "stop_area:OCE:SA:87342220", + "nom": "Chocques", + "lat": 50.53833, + "lon": 2.564841 + }, + { + "uic": "87484303", + "stop_area": "stop_area:OCE:SA:87484303", + "nom": "Cholet", + "lat": 47.065702, + "lon": -0.869897 + }, + { + "uic": "87462960", + "stop_area": "stop_area:OCE:SA:87462960", + "nom": "Cholet Hôtel de Ville", + "lat": 47.058396, + "lon": -0.879363 + }, + { + "uic": "87763425", + "stop_area": "stop_area:OCE:SA:87763425", + "nom": "Chorges", + "lat": 44.545842, + "lon": 6.271889 + }, + { + "uic": "87574301", + "stop_area": "stop_area:OCE:SA:87574301", + "nom": "Chouzy", + "lat": 47.52024, + "lon": 1.247246 + }, + { + "uic": "87611228", + "stop_area": "stop_area:OCE:SA:87611228", + "nom": "Cier-de-Luchon Castéra", + "lat": 42.852815, + "lon": 0.603076 + }, + { + "uic": "87173823", + "stop_area": "stop_area:OCE:SA:87173823", + "nom": "Cier-de-Luchon Pratviel", + "lat": 42.844267, + "lon": 0.603856 + }, + { + "uic": "87170811", + "stop_area": "stop_area:OCE:SA:87170811", + "nom": "Cierp-Gaud", + "lat": 42.914327, + "lon": 0.648 + }, + { + "uic": "87170795", + "stop_area": "stop_area:OCE:SA:87170795", + "nom": "Cierp-Gaud Centre", + "lat": 42.914639, + "lon": 0.639409 + }, + { + "uic": "87643403", + "stop_area": "stop_area:OCE:SA:87643403", + "nom": "Cigoland", + "lat": 48.256268, + "lon": 7.419907 + }, + { + "uic": "87571836", + "stop_area": "stop_area:OCE:SA:87571836", + "nom": "Cinq-Mars-la-Pile", + "lat": 47.345112, + "lon": 0.459387 + }, + { + "uic": "87611376", + "stop_area": "stop_area:OCE:SA:87611376", + "nom": "Cintegabelle", + "lat": 43.305408, + "lon": 1.520477 + }, + { + "uic": "87697821", + "stop_area": "stop_area:OCE:SA:87697821", + "nom": "Cintegabelle-Rond-Point", + "lat": 43.305381, + "lon": 1.521177 + }, + { + "uic": "87313551", + "stop_area": "stop_area:OCE:SA:87313551", + "nom": "Cires-lès-Mello", + "lat": 49.271683, + "lon": 2.360435 + }, + { + "uic": "87694646", + "stop_area": "stop_area:OCE:SA:87694646", + "nom": "Ciry-le-Noble", + "lat": 46.604191, + "lon": 4.299518 + }, + { + "uic": "87721746", + "stop_area": "stop_area:OCE:SA:87721746", + "nom": "Civrieux-d'Azergues", + "lat": 45.859038, + "lon": 4.718311 + }, + { + "uic": "87697185", + "stop_area": "stop_area:OCE:SA:87697185", + "nom": "Civrieux-d'Azergues D 385", + "lat": 45.857996, + "lon": 4.712116 + }, + { + "uic": "87743344", + "stop_area": "stop_area:OCE:SA:87743344", + "nom": "Cize - Bolozon", + "lat": 46.21348, + "lon": 5.454068 + }, + { + "uic": "87296178", + "stop_area": "stop_area:OCE:SA:87296178", + "nom": "Clacy - Mons", + "lat": 49.543787, + "lon": 3.576635 + }, + { + "uic": "87279893", + "stop_area": "stop_area:OCE:SA:87279893", + "nom": "Clairvaux D12", + "lat": 48.146131, + "lon": 4.793083 + }, + { + "uic": "87696807", + "stop_area": "stop_area:OCE:SA:87696807", + "nom": "Clamecy", + "lat": 47.466698, + "lon": 3.520767 + }, + { + "uic": "87747626", + "stop_area": "stop_area:OCE:SA:87747626", + "nom": "Clelles - Mens", + "lat": 44.827269, + "lon": 5.605028 + }, + { + "uic": "87697193", + "stop_area": "stop_area:OCE:SA:87697193", + "nom": "Clelles-Mairie", + "lat": 44.827245, + "lon": 5.622619 + }, + { + "uic": "87411819", + "stop_area": "stop_area:OCE:SA:87411819", + "nom": "Clères", + "lat": 49.599113, + "lon": 1.106175 + }, + { + "uic": "87313304", + "stop_area": "stop_area:OCE:SA:87313304", + "nom": "Clermont de l'Oise", + "lat": 49.385278, + "lon": 2.417663 + }, + { + "uic": "87782607", + "stop_area": "stop_area:OCE:SA:87782607", + "nom": "Clermont la Pardieu", + "lat": 45.766988, + "lon": 3.134193 + }, + { + "uic": "87396895", + "stop_area": "stop_area:OCE:SA:87396895", + "nom": "Clermont la Rotonde", + "lat": 45.768095, + "lon": 3.09097 + }, + { + "uic": "87680702", + "stop_area": "stop_area:OCE:SA:87680702", + "nom": "Clermont Université T2C", + "lat": 45.771355, + "lon": 3.089133 + }, + { + "uic": "87734004", + "stop_area": "stop_area:OCE:SA:87734004", + "nom": "Clermont-Ferrand", + "lat": 45.778945, + "lon": 3.100543 + }, + { + "uic": "87184622", + "stop_area": "stop_area:OCE:SA:87184622", + "nom": "Clerval", + "lat": 47.396601, + "lon": 6.492282 + }, + { + "uic": "87481440", + "stop_area": "stop_area:OCE:SA:87481440", + "nom": "Clisson", + "lat": 47.086015, + "lon": -1.286292 + }, + { + "uic": "87574509", + "stop_area": "stop_area:OCE:SA:87574509", + "nom": "Cloyes", + "lat": 47.992103, + "lon": 1.243354 + }, + { + "uic": "87746370", + "stop_area": "stop_area:OCE:SA:87746370", + "nom": "Cluses", + "lat": 46.061468, + "lon": 6.582771 + }, + { + "uic": "87672139", + "stop_area": "stop_area:OCE:SA:87672139", + "nom": "Coarraze - Nay", + "lat": 43.18183, + "lon": -0.241699 + }, + { + "uic": "87473579", + "stop_area": "stop_area:OCE:SA:87473579", + "nom": "Coat Guégan", + "lat": 48.480428, + "lon": -3.273679 + }, + { + "uic": "87406850", + "stop_area": "stop_area:OCE:SA:87406850", + "nom": "Cocheren Village", + "lat": 49.146401, + "lon": 6.856971 + }, + { + "uic": "87491449", + "stop_area": "stop_area:OCE:SA:87491449", + "nom": "Cognac", + "lat": 45.684587, + "lon": -0.326037 + }, + { + "uic": "87642371", + "stop_area": "stop_area:OCE:SA:87642371", + "nom": "Col de Puberg", + "lat": 48.916898, + "lon": 7.318055 + }, + { + "uic": "87784256", + "stop_area": "stop_area:OCE:SA:87784256", + "nom": "Collioure", + "lat": 42.526928, + "lon": 3.078202 + }, + { + "uic": "87713321", + "stop_area": "stop_area:OCE:SA:87713321", + "nom": "Collonges", + "lat": 47.221051, + "lon": 5.265986 + }, + { + "uic": "87721225", + "stop_area": "stop_area:OCE:SA:87721225", + "nom": "Collonges - Fontaines", + "lat": 45.829128, + "lon": 4.84665 + }, + { + "uic": "87697029", + "stop_area": "stop_area:OCE:SA:87697029", + "nom": "Collonges Fontaines Arret Tcl Gare", + "lat": 45.829076, + "lon": 4.846677 + }, + { + "uic": "87182014", + "stop_area": "stop_area:OCE:SA:87182014", + "nom": "Colmar", + "lat": 48.073527, + "lon": 7.347756 + }, + { + "uic": "87402297", + "stop_area": "stop_area:OCE:SA:87402297", + "nom": "Colmar Mésanges", + "lat": 48.086005, + "lon": 7.33367 + }, + { + "uic": "87181222", + "stop_area": "stop_area:OCE:SA:87181222", + "nom": "Colmar Saint-Joseph", + "lat": 48.081731, + "lon": 7.345283 + }, + { + "uic": "87665240", + "stop_area": "stop_area:OCE:SA:87665240", + "nom": "Colmar St-Joseph Rue du Val St-Grégoire", + "lat": 48.080688, + "lon": 7.347182 + }, + { + "uic": "87744011", + "stop_area": "stop_area:OCE:SA:87744011", + "nom": "Colombey-les-Belles Mairie", + "lat": 48.528805, + "lon": 5.897083 + }, + { + "uic": "87184556", + "stop_area": "stop_area:OCE:SA:87184556", + "nom": "Colombier-Fontaine", + "lat": 47.455445, + "lon": 6.689097 + }, + { + "uic": "87611467", + "stop_area": "stop_area:OCE:SA:87611467", + "nom": "Colomiers", + "lat": 43.603734, + "lon": 1.334221 + }, + { + "uic": "87611921", + "stop_area": "stop_area:OCE:SA:87611921", + "nom": "Colomiers Lycée International", + "lat": 43.616306, + "lon": 1.314116 + }, + { + "uic": "87478057", + "stop_area": "stop_area:OCE:SA:87478057", + "nom": "Combourg", + "lat": 48.41609, + "lon": -1.72792 + }, + { + "uic": "87641415", + "stop_area": "stop_area:OCE:SA:87641415", + "nom": "Commentry", + "lat": 46.295105, + "lon": 2.739938 + }, + { + "uic": "87175257", + "stop_area": "stop_area:OCE:SA:87175257", + "nom": "Commercy", + "lat": 48.765749, + "lon": 5.58861 + }, + { + "uic": "87743690", + "stop_area": "stop_area:OCE:SA:87743690", + "nom": "Commercy Zone du Seugnon", + "lat": 48.749547, + "lon": 5.600013 + }, + { + "uic": "87177360", + "stop_area": "stop_area:OCE:SA:87177360", + "nom": "Communay", + "lat": 45.605889, + "lon": 4.8489 + }, + { + "uic": "87698449", + "stop_area": "stop_area:OCE:SA:87698449", + "nom": "Communay La Guicharde", + "lat": 45.605992, + "lon": 4.844531 + }, + { + "uic": "87698456", + "stop_area": "stop_area:OCE:SA:87698456", + "nom": "Communay Les Bonnières", + "lat": 45.604233, + "lon": 4.83576 + }, + { + "uic": "87698464", + "stop_area": "stop_area:OCE:SA:87698464", + "nom": "Communay Les Brosses", + "lat": 45.604746, + "lon": 4.827676 + }, + { + "uic": "87276691", + "stop_area": "stop_area:OCE:SA:87276691", + "nom": "Compiègne", + "lat": 49.421977, + "lon": 2.823693 + }, + { + "uic": "87387159", + "stop_area": "stop_area:OCE:SA:87387159", + "nom": "Conches", + "lat": 48.96236, + "lon": 0.93789 + }, + { + "uic": "87594382", + "stop_area": "stop_area:OCE:SA:87594382", + "nom": "Condat - Le Lardin", + "lat": 45.126732, + "lon": 1.226727 + }, + { + "uic": "87394288", + "stop_area": "stop_area:OCE:SA:87394288", + "nom": "Condé-sur-Huisne", + "lat": 48.383367, + "lon": 0.848881 + }, + { + "uic": "87192666", + "stop_area": "stop_area:OCE:SA:87192666", + "nom": "Conflans - Jarny", + "lat": 49.166118, + "lon": 5.867933 + }, + { + "uic": "87396218", + "stop_area": "stop_area:OCE:SA:87396218", + "nom": "Conlie", + "lat": 48.127221, + "lon": -0.01162 + }, + { + "uic": "87396309", + "stop_area": "stop_area:OCE:SA:87396309", + "nom": "Connerré - Beillé", + "lat": 48.07371, + "lon": 0.486896 + }, + { + "uic": "87194456", + "stop_area": "stop_area:OCE:SA:87194456", + "nom": "Cons-la-Grandville Centre", + "lat": 49.484022, + "lon": 5.701711 + }, + { + "uic": "87406660", + "stop_area": "stop_area:OCE:SA:87406660", + "nom": "Cons-la-Grandville Haut Fourneau", + "lat": 49.486709, + "lon": 5.700295 + }, + { + "uic": "87406678", + "stop_area": "stop_area:OCE:SA:87406678", + "nom": "Cons-la-Grandville Lotissement", + "lat": 49.488068, + "lon": 5.708309 + }, + { + "uic": "87144287", + "stop_area": "stop_area:OCE:SA:87144287", + "nom": "Contrexéville", + "lat": 48.179613, + "lon": 5.890633 + }, + { + "uic": "87768960", + "stop_area": "stop_area:OCE:SA:87768960", + "nom": "Contrexéville Centre", + "lat": 48.184181, + "lon": 5.894705 + }, + { + "uic": "85010231", + "stop_area": "stop_area:OCE:SA:85010231", + "nom": "Coppet", + "lat": 46.317378, + "lon": 6.187829 + }, + { + "uic": "87345116", + "stop_area": "stop_area:OCE:SA:87345116", + "nom": "Corbehem", + "lat": 50.342992, + "lon": 3.040005 + }, + { + "uic": "87313056", + "stop_area": "stop_area:OCE:SA:87313056", + "nom": "Corbie", + "lat": 49.91163, + "lon": 2.499953 + }, + { + "uic": "87696617", + "stop_area": "stop_area:OCE:SA:87696617", + "nom": "Corbigny", + "lat": 47.254807, + "lon": 3.677323 + }, + { + "uic": "87772806", + "stop_area": "stop_area:OCE:SA:87772806", + "nom": "Corcieux 36 Rue de la Gare", + "lat": 48.178166, + "lon": 6.88387 + }, + { + "uic": "87716696", + "stop_area": "stop_area:OCE:SA:87716696", + "nom": "Corcieux le Conti", + "lat": 48.170746, + "lon": 6.882863 + }, + { + "uic": "87272286", + "stop_area": "stop_area:OCE:SA:87272286", + "nom": "Corcy", + "lat": 49.255201, + "lon": 3.216073 + }, + { + "uic": "87481820", + "stop_area": "stop_area:OCE:SA:87481820", + "nom": "Cordemais", + "lat": 47.302201, + "lon": -1.846637 + }, + { + "uic": "87613802", + "stop_area": "stop_area:OCE:SA:87613802", + "nom": "Cordes - Vindrac", + "lat": 44.067189, + "lon": 1.900229 + }, + { + "uic": "87713537", + "stop_area": "stop_area:OCE:SA:87713537", + "nom": "Corgoloin", + "lat": 47.084209, + "lon": 4.916854 + }, + { + "uic": "87571430", + "stop_area": "stop_area:OCE:SA:87571430", + "nom": "Cormery", + "lat": 47.26263, + "lon": 0.834953 + }, + { + "uic": "87594481", + "stop_area": "stop_area:OCE:SA:87594481", + "nom": "Cornil", + "lat": 45.21522, + "lon": 1.698189 + }, + { + "uic": "87345132", + "stop_area": "stop_area:OCE:SA:87345132", + "nom": "Coron de Méricourt", + "lat": 50.414934, + "lon": 2.886156 + }, + { + "uic": "87471326", + "stop_area": "stop_area:OCE:SA:87471326", + "nom": "Corps-Nuds", + "lat": 47.985167, + "lon": -1.575472 + }, + { + "uic": "87594119", + "stop_area": "stop_area:OCE:SA:87594119", + "nom": "Corrèze", + "lat": 45.32948, + "lon": 1.881079 + }, + { + "uic": "87478180", + "stop_area": "stop_area:OCE:SA:87478180", + "nom": "Corseul - Languenan", + "lat": 48.496186, + "lon": -2.141728 + }, + { + "uic": "87696146", + "stop_area": "stop_area:OCE:SA:87696146", + "nom": "Cosne-sur-Loire", + "lat": 47.413966, + "lon": 2.93192 + }, + { + "uic": "87453654", + "stop_area": "stop_area:OCE:SA:87453654", + "nom": "Costaros", + "lat": 44.894412, + "lon": 3.849557 + }, + { + "uic": "87687400", + "stop_area": "stop_area:OCE:SA:87687400", + "nom": "Coubladour Rond-Point", + "lat": 45.115378, + "lon": 3.743527 + }, + { + "uic": "87171769", + "stop_area": "stop_area:OCE:SA:87171769", + "nom": "Coucy-lès-Eppes", + "lat": 49.556266, + "lon": 3.774726 + }, + { + "uic": "87281402", + "stop_area": "stop_area:OCE:SA:87281402", + "nom": "Coudekerque-Branche", + "lat": 51.017916, + "lon": 2.375182 + }, + { + "uic": "87481804", + "stop_area": "stop_area:OCE:SA:87481804", + "nom": "Couëron", + "lat": 47.221916, + "lon": -1.723605 + }, + { + "uic": "87615120", + "stop_area": "stop_area:OCE:SA:87615120", + "nom": "Couffoulens - Leuc", + "lat": 43.155635, + "lon": 2.316421 + }, + { + "uic": "87615203", + "stop_area": "stop_area:OCE:SA:87615203", + "nom": "Couiza - Montazels", + "lat": 42.942375, + "lon": 2.248537 + }, + { + "uic": "87640714", + "stop_area": "stop_area:OCE:SA:87640714", + "nom": "Couiza Saint-Anne", + "lat": 42.941324, + "lon": 2.253746 + }, + { + "uic": "87696831", + "stop_area": "stop_area:OCE:SA:87696831", + "nom": "Coulanges-sur-Yonne", + "lat": 47.527175, + "lon": 3.547282 + }, + { + "uic": "87571448", + "stop_area": "stop_area:OCE:SA:87571448", + "nom": "Courcay - Tauxigny", + "lat": 47.237613, + "lon": 0.867603 + }, + { + "uic": "87342063", + "stop_area": "stop_area:OCE:SA:87342063", + "nom": "Courcelles-le-Comte", + "lat": 50.169632, + "lon": 2.787939 + }, + { + "uic": "87192211", + "stop_area": "stop_area:OCE:SA:87192211", + "nom": "Courcelles-sur-Nied", + "lat": 49.063496, + "lon": 6.310991 + }, + { + "uic": "87171710", + "stop_area": "stop_area:OCE:SA:87171710", + "nom": "Courcy - Brimont", + "lat": 49.3296, + "lon": 4.013462 + }, + { + "uic": "87781161", + "stop_area": "stop_area:OCE:SA:87781161", + "nom": "Coursan", + "lat": 43.233731, + "lon": 3.050946 + }, + { + "uic": "87139907", + "stop_area": "stop_area:OCE:SA:87139907", + "nom": "Coursan-en-Othe RN", + "lat": 48.079728, + "lon": 3.830522 + }, + { + "uic": "87394494", + "stop_area": "stop_area:OCE:SA:87394494", + "nom": "Courtalain - Saint-Pellerin", + "lat": 48.073599, + "lon": 1.127004 + }, + { + "uic": "87765180", + "stop_area": "stop_area:OCE:SA:87765180", + "nom": "Courthézon", + "lat": 44.089999, + "lon": 4.888178 + }, + { + "uic": "88960080", + "stop_area": "stop_area:OCE:SA:88960080", + "nom": "Courtrai", + "lat": 50.824, + "lon": 3.26 + }, + { + "uic": "87394221", + "stop_area": "stop_area:OCE:SA:87394221", + "nom": "Courville-sur-Eure", + "lat": 48.451336, + "lon": 1.234902 + }, + { + "uic": "87718270", + "stop_area": "stop_area:OCE:SA:87718270", + "nom": "Cousance", + "lat": 46.535169, + "lon": 5.386986 + }, + { + "uic": "87447110", + "stop_area": "stop_area:OCE:SA:87447110", + "nom": "Coutances", + "lat": 49.042928, + "lon": -1.441726 + }, + { + "uic": "87584516", + "stop_area": "stop_area:OCE:SA:87584516", + "nom": "Coutras", + "lat": 45.036709, + "lon": -0.131361 + }, + { + "uic": "87337006", + "stop_area": "stop_area:OCE:SA:87337006", + "nom": "COUX Centre", + "lat": 44.736095, + "lon": 4.623871 + }, + { + "uic": "87721241", + "stop_area": "stop_area:OCE:SA:87721241", + "nom": "Couzon-au-Mont-d'Or", + "lat": 45.84876, + "lon": 4.82948 + }, + { + "uic": "87697037", + "stop_area": "stop_area:OCE:SA:87697037", + "nom": "Couzon-Au-Mont-D'Or-Arret-Tcl-Gare", + "lat": 45.848577, + "lon": 4.832053 + }, + { + "uic": "87313544", + "stop_area": "stop_area:OCE:SA:87313544", + "nom": "Cramoisy", + "lat": 49.256472, + "lon": 2.404874 + }, + { + "uic": "87216184", + "stop_area": "stop_area:OCE:SA:87216184", + "nom": "Crancey Route Nationale", + "lat": 48.514376, + "lon": 3.640079 + }, + { + "uic": "87613232", + "stop_area": "stop_area:OCE:SA:87613232", + "nom": "Cransac", + "lat": 44.522951, + "lon": 2.271867 + }, + { + "uic": "87683649", + "stop_area": "stop_area:OCE:SA:87683649", + "nom": "Cravant - Bazarnes", + "lat": 47.678508, + "lon": 3.681174 + }, + { + "uic": "87725713", + "stop_area": "stop_area:OCE:SA:87725713", + "nom": "Crêches-sur-Saône", + "lat": 46.246154, + "lon": 4.784047 + }, + { + "uic": "87276006", + "stop_area": "stop_area:OCE:SA:87276006", + "nom": "Creil", + "lat": 49.263775, + "lon": 2.469293 + }, + { + "uic": "87723502", + "stop_area": "stop_area:OCE:SA:87723502", + "nom": "Crépieux la Pape", + "lat": 45.803918, + "lon": 4.892701 + }, + { + "uic": "87296152", + "stop_area": "stop_area:OCE:SA:87296152", + "nom": "Crépy - Couvron", + "lat": 49.62325, + "lon": 3.516475 + }, + { + "uic": "87271593", + "stop_area": "stop_area:OCE:SA:87271593", + "nom": "Crépy-en-Valois", + "lat": 49.231252, + "lon": 2.886494 + }, + { + "uic": "87761783", + "stop_area": "stop_area:OCE:SA:87761783", + "nom": "Crest", + "lat": 44.730196, + "lon": 5.016106 + }, + { + "uic": "87406736", + "stop_area": "stop_area:OCE:SA:87406736", + "nom": "Creutzwald Gare Routière", + "lat": 49.207797, + "lon": 6.697243 + }, + { + "uic": "85010124", + "stop_area": "stop_area:OCE:SA:85010124", + "nom": "Creux-de-Genthod", + "lat": 46.263758, + "lon": 6.161319 + }, + { + "uic": "87286716", + "stop_area": "stop_area:OCE:SA:87286716", + "nom": "Croix - Wasquehal", + "lat": 50.678528, + "lon": 3.138069 + }, + { + "uic": "87672600", + "stop_area": "stop_area:OCE:SA:87672600", + "nom": "Croix du Prince", + "lat": 43.285664, + "lon": -0.379141 + }, + { + "uic": "87281055", + "stop_area": "stop_area:OCE:SA:87281055", + "nom": "Croix l'Allumette", + "lat": 50.6868, + "lon": 3.151126 + }, + { + "uic": "87753491", + "stop_area": "stop_area:OCE:SA:87753491", + "nom": "Croix Sainte", + "lat": 43.408832, + "lon": 5.019645 + }, + { + "uic": "87756338", + "stop_area": "stop_area:OCE:SA:87756338", + "nom": "Cros de Cagnes", + "lat": 43.660485, + "lon": 7.167112 + }, + { + "uic": "87271874", + "stop_area": "stop_area:OCE:SA:87271874", + "nom": "Crouy", + "lat": 49.40365, + "lon": 3.356999 + }, + { + "uic": "87491266", + "stop_area": "stop_area:OCE:SA:87491266", + "nom": "Cubzac-les-Ponts", + "lat": 44.972889, + "lon": -0.458964 + }, + { + "uic": "87755355", + "stop_area": "stop_area:OCE:SA:87755355", + "nom": "Cuers - Pierrefeu", + "lat": 43.236428, + "lon": 6.085686 + }, + { + "uic": "87481457", + "stop_area": "stop_area:OCE:SA:87481457", + "nom": "Cugand", + "lat": 47.05837, + "lon": -1.25331 + }, + { + "uic": "87342410", + "stop_area": "stop_area:OCE:SA:87342410", + "nom": "Cuinchy", + "lat": 50.521851, + "lon": 2.74743 + }, + { + "uic": "87142125", + "stop_area": "stop_area:OCE:SA:87142125", + "nom": "Culmont - Chalindrey", + "lat": 47.810202, + "lon": 5.443219 + }, + { + "uic": "87741074", + "stop_area": "stop_area:OCE:SA:87741074", + "nom": "Culoz", + "lat": 45.843278, + "lon": 5.778728 + }, + { + "uic": "87175109", + "stop_area": "stop_area:OCE:SA:87175109", + "nom": "Curel", + "lat": 48.492257, + "lon": 5.135624 + }, + { + "uic": "87215277", + "stop_area": "stop_area:OCE:SA:87215277", + "nom": "Cutting RD27", + "lat": 48.845824, + "lon": 6.832852 + }, + { + "uic": "87214551", + "stop_area": "stop_area:OCE:SA:87214551", + "nom": "Dachstein", + "lat": 48.542855, + "lon": 7.533004 + }, + { + "uic": "87533612", + "stop_area": "stop_area:OCE:SA:87533612", + "nom": "Daguerre", + "lat": 47.742545, + "lon": 7.324362 + }, + { + "uic": "87214213", + "stop_area": "stop_area:OCE:SA:87214213", + "nom": "Dambach-la-Ville", + "lat": 48.321635, + "lon": 7.435557 + }, + { + "uic": "87714162", + "stop_area": "stop_area:OCE:SA:87714162", + "nom": "Damblain Église", + "lat": 48.097929, + "lon": 5.652857 + }, + { + "uic": "87615484", + "stop_area": "stop_area:OCE:SA:87615484", + "nom": "Damiatte - Saint-Paul", + "lat": 43.656094, + "lon": 1.974106 + }, + { + "uic": "87271536", + "stop_area": "stop_area:OCE:SA:87271536", + "nom": "Dammartin - Juilly - Saint-Mard", + "lat": 49.03219, + "lon": 2.69887 + }, + { + "uic": "87575126", + "stop_area": "stop_area:OCE:SA:87575126", + "nom": "Dangé-Saint-Romain", + "lat": 46.93764, + "lon": 0.608695 + }, + { + "uic": "87700146", + "stop_area": "stop_area:OCE:SA:87700146", + "nom": "Danjoutin", + "lat": 47.61832, + "lon": 6.869016 + }, + { + "uic": "87182253", + "stop_area": "stop_area:OCE:SA:87182253", + "nom": "Dannemarie", + "lat": 47.627743, + "lon": 7.124828 + }, + { + "uic": "87718312", + "stop_area": "stop_area:OCE:SA:87718312", + "nom": "Dannemarie - Velesmes", + "lat": 47.203739, + "lon": 5.873702 + }, + { + "uic": "87317081", + "stop_area": "stop_area:OCE:SA:87317081", + "nom": "Dannes - Camiers", + "lat": 50.575889, + "lon": 1.614497 + }, + { + "uic": "87315044", + "stop_area": "stop_area:OCE:SA:87315044", + "nom": "Daours", + "lat": 49.899168, + "lon": 2.458674 + }, + { + "uic": "87721449", + "stop_area": "stop_area:OCE:SA:87721449", + "nom": "Dardilly - Le Jubin", + "lat": 45.815763, + "lon": 4.761095 + }, + { + "uic": "87721480", + "stop_area": "stop_area:OCE:SA:87721480", + "nom": "Dardilly les Mouilles", + "lat": 45.796769, + "lon": 4.760041 + }, + { + "uic": "87734673", + "stop_area": "stop_area:OCE:SA:87734673", + "nom": "Darsac", + "lat": 45.142183, + "lon": 3.736628 + }, + { + "uic": "87214981", + "stop_area": "stop_area:OCE:SA:87214981", + "nom": "Daudes", + "lat": 48.245018, + "lon": 4.183919 + }, + { + "uic": "87673202", + "stop_area": "stop_area:OCE:SA:87673202", + "nom": "Dax", + "lat": 43.720472, + "lon": -1.050301 + }, + { + "uic": "87696484", + "stop_area": "stop_area:OCE:SA:87696484", + "nom": "Decize", + "lat": 46.83736, + "lon": 3.467289 + }, + { + "uic": "87499897", + "stop_area": "stop_area:OCE:SA:87499897", + "nom": "Decize Café Bel-Air", + "lat": 46.82826, + "lon": 3.480247 + }, + { + "uic": "87499913", + "stop_area": "stop_area:OCE:SA:87499913", + "nom": "Decize Ville", + "lat": 46.828685, + "lon": 3.462038 + }, + { + "uic": "87613174", + "stop_area": "stop_area:OCE:SA:87613174", + "nom": "Dégagnac", + "lat": 44.653459, + "lon": 1.340152 + }, + { + "uic": "87184440", + "stop_area": "stop_area:OCE:SA:87184440", + "nom": "Delle", + "lat": 47.50593, + "lon": 7.00962 + }, + { + "uic": "87718429", + "stop_area": "stop_area:OCE:SA:87718429", + "nom": "Deluz", + "lat": 47.292493, + "lon": 6.199607 + }, + { + "uic": "87343459", + "stop_area": "stop_area:OCE:SA:87343459", + "nom": "Denain", + "lat": 50.33445, + "lon": 3.388679 + }, + { + "uic": "87297143", + "stop_area": "stop_area:OCE:SA:87297143", + "nom": "Dercy - Froidmont", + "lat": 49.702784, + "lon": 3.69205 + }, + { + "uic": "87199620", + "stop_area": "stop_area:OCE:SA:87199620", + "nom": "Destry Centre", + "lat": 48.943422, + "lon": 6.584654 + }, + { + "uic": "87212183", + "stop_area": "stop_area:OCE:SA:87212183", + "nom": "Dettwiller", + "lat": 48.751916, + "lon": 7.465077 + }, + { + "uic": "87660795", + "stop_area": "stop_area:OCE:SA:87660795", + "nom": "Devant Fouday Abri RN 420", + "lat": 48.4214, + "lon": 7.183419 + }, + { + "uic": "87172064", + "stop_area": "stop_area:OCE:SA:87172064", + "nom": "Deville", + "lat": 49.879575, + "lon": 4.707113 + }, + { + "uic": "87700930", + "stop_area": "stop_area:OCE:SA:87700930", + "nom": "Diarville Place Raymond Midon", + "lat": 48.39461, + "lon": 6.131793 + }, + { + "uic": "87761841", + "stop_area": "stop_area:OCE:SA:87761841", + "nom": "Die", + "lat": 44.758238, + "lon": 5.363219 + }, + { + "uic": "87193532", + "stop_area": "stop_area:OCE:SA:87193532", + "nom": "Diebling Centre", + "lat": 49.109148, + "lon": 6.939969 + }, + { + "uic": "87476861", + "stop_area": "stop_area:OCE:SA:87476861", + "nom": "Diebling Maison Forestière", + "lat": 49.112022, + "lon": 6.933545 + }, + { + "uic": "87703496", + "stop_area": "stop_area:OCE:SA:87703496", + "nom": "Diedendorf Rond-Point", + "lat": 48.876885, + "lon": 7.054301 + }, + { + "uic": "87215665", + "stop_area": "stop_area:OCE:SA:87215665", + "nom": "Diemeringen", + "lat": 48.940533, + "lon": 7.185252 + }, + { + "uic": "87415018", + "stop_area": "stop_area:OCE:SA:87415018", + "nom": "Dieppe", + "lat": 49.921788, + "lon": 1.081133 + }, + { + "uic": "87141812", + "stop_area": "stop_area:OCE:SA:87141812", + "nom": "Dieulouard", + "lat": 48.843826, + "lon": 6.071505 + }, + { + "uic": "87611681", + "stop_area": "stop_area:OCE:SA:87611681", + "nom": "Dieupentale", + "lat": 43.865526, + "lon": 1.276101 + }, + { + "uic": "87694695", + "stop_area": "stop_area:OCE:SA:87694695", + "nom": "Digoin", + "lat": 46.485191, + "lon": 3.987678 + }, + { + "uic": "87478693", + "stop_area": "stop_area:OCE:SA:87478693", + "nom": "Digoin Lycée", + "lat": 46.477068, + "lon": 3.991903 + }, + { + "uic": "87713040", + "stop_area": "stop_area:OCE:SA:87713040", + "nom": "Dijon", + "lat": 47.323411, + "lon": 5.027256 + }, + { + "uic": "87713008", + "stop_area": "stop_area:OCE:SA:87713008", + "nom": "Dijon Porte Neuve", + "lat": 47.3228, + "lon": 5.054905 + }, + { + "uic": "87478164", + "stop_area": "stop_area:OCE:SA:87478164", + "nom": "Dinan", + "lat": 48.456715, + "lon": -2.053425 + }, + { + "uic": "87478040", + "stop_area": "stop_area:OCE:SA:87478040", + "nom": "Dingé", + "lat": 48.350738, + "lon": -1.685973 + }, + { + "uic": "87667980", + "stop_area": "stop_area:OCE:SA:87667980", + "nom": "Diou Ville Bus", + "lat": 46.533357, + "lon": 3.747953 + }, + { + "uic": "82007146", + "stop_area": "stop_area:OCE:SA:82007146", + "nom": "Dippach secteur Reckange", + "lat": 49.57252, + "lon": 5.99512 + }, + { + "uic": "87474015", + "stop_area": "stop_area:OCE:SA:87474015", + "nom": "Dirinon", + "lat": 48.392667, + "lon": -4.285355 + }, + { + "uic": "87575191", + "stop_area": "stop_area:OCE:SA:87575191", + "nom": "Dissay", + "lat": 46.703359, + "lon": 0.421127 + }, + { + "uic": "87406744", + "stop_area": "stop_area:OCE:SA:87406744", + "nom": "Distroff Église", + "lat": 49.332214, + "lon": 6.263028 + }, + { + "uic": "87444414", + "stop_area": "stop_area:OCE:SA:87444414", + "nom": "Dives - Cabourg", + "lat": 49.286472, + "lon": -0.107696 + }, + { + "uic": "87337378", + "stop_area": "stop_area:OCE:SA:87337378", + "nom": "Dives-sur-Mer Port-Guillaume", + "lat": 49.291056, + "lon": -0.101012 + }, + { + "uic": "87752394", + "stop_area": "stop_area:OCE:SA:87752394", + "nom": "Docelles Monument", + "lat": 48.146158, + "lon": 6.618587 + }, + { + "uic": "87144030", + "stop_area": "stop_area:OCE:SA:87144030", + "nom": "Docelles-Cheniménil Gare", + "lat": 48.143572, + "lon": 6.610964 + }, + { + "uic": "87478073", + "stop_area": "stop_area:OCE:SA:87478073", + "nom": "Dol-de-Bretagne", + "lat": 48.54425, + "lon": -1.750536 + }, + { + "uic": "87713412", + "stop_area": "stop_area:OCE:SA:87713412", + "nom": "Dole", + "lat": 47.09615, + "lon": 5.48806 + }, + { + "uic": "87703678", + "stop_area": "stop_area:OCE:SA:87703678", + "nom": "Dolving Rue de Sarrebourg", + "lat": 48.772285, + "lon": 7.021862 + }, + { + "uic": "87141119", + "stop_area": "stop_area:OCE:SA:87141119", + "nom": "Dombasle-sur-Meurthe", + "lat": 48.623332, + "lon": 6.343566 + }, + { + "uic": "87718213", + "stop_area": "stop_area:OCE:SA:87718213", + "nom": "Domblans - Voiteur", + "lat": 46.762774, + "lon": 5.597875 + }, + { + "uic": "87659649", + "stop_area": "stop_area:OCE:SA:87659649", + "nom": "Domblans Halte Routière", + "lat": 46.763588, + "lon": 5.59737 + }, + { + "uic": "87741462", + "stop_area": "stop_area:OCE:SA:87741462", + "nom": "Domessin-le-Bonnard", + "lat": 45.524916, + "lon": 5.694931 + }, + { + "uic": "87726083", + "stop_area": "stop_area:OCE:SA:87726083", + "nom": "Domfessel Abri Rue Principale", + "lat": 48.951581, + "lon": 7.160614 + }, + { + "uic": "87396200", + "stop_area": "stop_area:OCE:SA:87396200", + "nom": "Domfront", + "lat": 48.107768, + "lon": 0.026256 + }, + { + "uic": "87721738", + "stop_area": "stop_area:OCE:SA:87721738", + "nom": "Dommartin - Lissieu", + "lat": 45.84785, + "lon": 4.732157 + }, + { + "uic": "87316109", + "stop_area": "stop_area:OCE:SA:87316109", + "nom": "Dommartin - Remiencourt", + "lat": 49.799335, + "lon": 2.39238 + }, + { + "uic": "87215285", + "stop_area": "stop_area:OCE:SA:87215285", + "nom": "Domnom-lès-Dieuze Mairie", + "lat": 48.859684, + "lon": 6.821987 + }, + { + "uic": "87295774", + "stop_area": "stop_area:OCE:SA:87295774", + "nom": "Dompierre", + "lat": 50.145955, + "lon": 3.871082 + }, + { + "uic": "87659664", + "stop_area": "stop_area:OCE:SA:87659664", + "nom": "Dompierre Halte Routière", + "lat": 46.872118, + "lon": 6.186204 + }, + { + "uic": "87696427", + "stop_area": "stop_area:OCE:SA:87696427", + "nom": "Dompierre Sept Fons", + "lat": 46.526302, + "lon": 3.674911 + }, + { + "uic": "87286435", + "stop_area": "stop_area:OCE:SA:87286435", + "nom": "Don - Sainghin", + "lat": 50.551726, + "lon": 2.914402 + }, + { + "uic": "87172239", + "stop_area": "stop_area:OCE:SA:87172239", + "nom": "Donchery", + "lat": 49.698154, + "lon": 4.874722 + }, + { + "uic": "87481721", + "stop_area": "stop_area:OCE:SA:87481721", + "nom": "Donges", + "lat": 47.315135, + "lon": -2.074251 + }, + { + "uic": "87142273", + "stop_area": "stop_area:OCE:SA:87142273", + "nom": "Donjeux", + "lat": 48.365945, + "lon": 5.148439 + }, + { + "uic": "87764290", + "stop_area": "stop_area:OCE:SA:87764290", + "nom": "Donzère", + "lat": 44.443365, + "lon": 4.704626 + }, + { + "uic": "87214338", + "stop_area": "stop_area:OCE:SA:87214338", + "nom": "Dorlisheim", + "lat": 48.524992, + "lon": 7.493055 + }, + { + "uic": "87171512", + "stop_area": "stop_area:OCE:SA:87171512", + "nom": "Dormans", + "lat": 49.07908, + "lon": 3.641835 + }, + { + "uic": "87659995", + "stop_area": "stop_area:OCE:SA:87659995", + "nom": "Dornach Gare Dmc", + "lat": 47.747207, + "lon": 7.310264 + }, + { + "uic": "87642272", + "stop_area": "stop_area:OCE:SA:87642272", + "nom": "Dossenheim Lotissement", + "lat": 48.807528, + "lon": 7.402116 + }, + { + "uic": "87642264", + "stop_area": "stop_area:OCE:SA:87642264", + "nom": "Dossenheim Mairie", + "lat": 48.805191, + "lon": 7.402476 + }, + { + "uic": "87754192", + "stop_area": "stop_area:OCE:SA:87754192", + "nom": "Dossenheim-sur-Zinsel Pressoir", + "lat": 48.802712, + "lon": 7.402685 + }, + { + "uic": "87345009", + "stop_area": "stop_area:OCE:SA:87345009", + "nom": "Douai", + "lat": 50.371673, + "lon": 3.089958 + }, + { + "uic": "87545525", + "stop_area": "stop_area:OCE:SA:87545525", + "nom": "Dourdan", + "lat": 48.533466, + "lon": 2.009643 + }, + { + "uic": "87345165", + "stop_area": "stop_area:OCE:SA:87345165", + "nom": "Dourges", + "lat": 50.431922, + "lon": 2.987013 + }, + { + "uic": "87172320", + "stop_area": "stop_area:OCE:SA:87172320", + "nom": "Douzy", + "lat": 49.671685, + "lon": 5.036698 + }, + { + "uic": "87756775", + "stop_area": "stop_area:OCE:SA:87756775", + "nom": "Drap - Cantaron", + "lat": 43.759865, + "lon": 7.317039 + }, + { + "uic": "87476770", + "stop_area": "stop_area:OCE:SA:87476770", + "nom": "Drefféac", + "lat": 47.48236, + "lon": -2.050155 + }, + { + "uic": "87316075", + "stop_area": "stop_area:OCE:SA:87316075", + "nom": "Dreuil-lès-Amiens", + "lat": 49.91449, + "lon": 2.231126 + }, + { + "uic": "87393488", + "stop_area": "stop_area:OCE:SA:87393488", + "nom": "Dreux", + "lat": 48.731492, + "lon": 1.370164 + }, + { + "uic": "87212357", + "stop_area": "stop_area:OCE:SA:87212357", + "nom": "Drusenheim", + "lat": 48.765844, + "lon": 7.947796 + }, + { + "uic": "87571612", + "stop_area": "stop_area:OCE:SA:87571612", + "nom": "Druye", + "lat": 47.307019, + "lon": 0.535481 + }, + { + "uic": "87281006", + "stop_area": "stop_area:OCE:SA:87281006", + "nom": "Dunkerque", + "lat": 51.03041, + "lon": 2.368991 + }, + { + "uic": "87214536", + "stop_area": "stop_area:OCE:SA:87214536", + "nom": "Duppigheim", + "lat": 48.543967, + "lon": 7.586809 + }, + { + "uic": "87641449", + "stop_area": "stop_area:OCE:SA:87641449", + "nom": "Durtol - Nohanent", + "lat": 45.794792, + "lon": 3.048593 + }, + { + "uic": "87680710", + "stop_area": "stop_area:OCE:SA:87680710", + "nom": "Durtol T2C square Ch Sabourin", + "lat": 45.794429, + "lon": 3.052708 + }, + { + "uic": "87214544", + "stop_area": "stop_area:OCE:SA:87214544", + "nom": "Duttlenheim", + "lat": 48.545379, + "lon": 7.566289 + }, + { + "uic": "87694729", + "stop_area": "stop_area:OCE:SA:87694729", + "nom": "Dyo", + "lat": 46.351482, + "lon": 4.266005 + }, + { + "uic": "87281469", + "stop_area": "stop_area:OCE:SA:87281469", + "nom": "Ebblinghem", + "lat": 50.730637, + "lon": 2.409058 + }, + { + "uic": "87214106", + "stop_area": "stop_area:OCE:SA:87214106", + "nom": "Ebersheim", + "lat": 48.310048, + "lon": 7.494537 + }, + { + "uic": "87406751", + "stop_area": "stop_area:OCE:SA:87406751", + "nom": "Ebersviller Centre", + "lat": 49.276338, + "lon": 6.401942 + }, + { + "uic": "87194019", + "stop_area": "stop_area:OCE:SA:87194019", + "nom": "Ebring Croisement", + "lat": 49.117002, + "lon": 6.910941 + }, + { + "uic": "87725895", + "stop_area": "stop_area:OCE:SA:87725895", + "nom": "Échirolles", + "lat": 45.153022, + "lon": 5.718943 + }, + { + "uic": "87710731", + "stop_area": "stop_area:OCE:SA:87710731", + "nom": "Ecole-Valentin", + "lat": 47.274554, + "lon": 5.994303 + }, + { + "uic": "87396564", + "stop_area": "stop_area:OCE:SA:87396564", + "nom": "Écommoy", + "lat": 47.824548, + "lon": 0.26907 + }, + { + "uic": "87698274", + "stop_area": "stop_area:OCE:SA:87698274", + "nom": "Ecully Arrêt TCL Demi-Lune Vauboin", + "lat": 45.764424, + "lon": 4.782094 + }, + { + "uic": "87721506", + "stop_area": "stop_area:OCE:SA:87721506", + "nom": "Écully la Demi-Lune", + "lat": 45.76573, + "lon": 4.779522 + }, + { + "uic": "80194217", + "stop_area": "stop_area:OCE:SA:80194217", + "nom": "Edenkoben", + "lat": 49.28185, + "lon": 8.14055 + }, + { + "uic": "80194225", + "stop_area": "stop_area:OCE:SA:80194225", + "nom": "Edesheim (Pfalz)", + "lat": 49.263611, + "lon": 8.139167 + }, + { + "uic": "87594168", + "stop_area": "stop_area:OCE:SA:87594168", + "nom": "Égletons", + "lat": 45.402476, + "lon": 2.065209 + }, + { + "uic": "87693390", + "stop_area": "stop_area:OCE:SA:87693390", + "nom": "Egletons-ville", + "lat": 45.403678, + "lon": 2.046053 + }, + { + "uic": "87668152", + "stop_area": "stop_area:OCE:SA:87668152", + "nom": "Éguelshardt Abri", + "lat": 49.021266, + "lon": 7.491201 + }, + { + "uic": "87597153", + "stop_area": "stop_area:OCE:SA:87597153", + "nom": "Éguzon", + "lat": 46.439769, + "lon": 1.552171 + }, + { + "uic": "87214239", + "stop_area": "stop_area:OCE:SA:87214239", + "nom": "Eichhoffen", + "lat": 48.382483, + "lon": 7.449552 + }, + { + "uic": "87660936", + "stop_area": "stop_area:OCE:SA:87660936", + "nom": "Eichhoffen Carrefour Gare", + "lat": 48.382701, + "lon": 7.448245 + }, + { + "uic": "87141200", + "stop_area": "stop_area:OCE:SA:87141200", + "nom": "Einvaux", + "lat": 48.503597, + "lon": 6.393244 + }, + { + "uic": "87411173", + "stop_area": "stop_area:OCE:SA:87411173", + "nom": "Elbeuf - Saint-Aubin", + "lat": 49.302766, + "lon": 1.00993 + }, + { + "uic": "87784207", + "stop_area": "stop_area:OCE:SA:87784207", + "nom": "Elne", + "lat": 42.597114, + "lon": 2.963585 + }, + { + "uic": "87144436", + "stop_area": "stop_area:OCE:SA:87144436", + "nom": "Éloyes", + "lat": 48.087196, + "lon": 6.600101 + }, + { + "uic": "87763466", + "stop_area": "stop_area:OCE:SA:87763466", + "nom": "Embrun", + "lat": 44.567012, + "lon": 6.496753 + }, + { + "uic": "87406959", + "stop_area": "stop_area:OCE:SA:87406959", + "nom": "Enchenberg Mairie", + "lat": 49.014691, + "lon": 7.337816 + }, + { + "uic": "87287276", + "stop_area": "stop_area:OCE:SA:87287276", + "nom": "Ennevelin", + "lat": 50.549123, + "lon": 3.158711 + }, + { + "uic": "87765826", + "stop_area": "stop_area:OCE:SA:87765826", + "nom": "Entraigues-sur-la-Sorgue", + "lat": 44.005317, + "lon": 4.9221 + }, + { + "uic": "87214528", + "stop_area": "stop_area:OCE:SA:87214528", + "nom": "Entzheim Aéroport", + "lat": 48.54699, + "lon": 7.62794 + }, + { + "uic": "87575357", + "stop_area": "stop_area:OCE:SA:87575357", + "nom": "Épanvilliers", + "lat": 46.225495, + "lon": 0.235758 + }, + { + "uic": "87171553", + "stop_area": "stop_area:OCE:SA:87171553", + "nom": "Épernay", + "lat": 49.046289, + "lon": 3.959798 + }, + { + "uic": "87394114", + "stop_area": "stop_area:OCE:SA:87394114", + "nom": "Épernon", + "lat": 48.605204, + "lon": 1.681364 + }, + { + "uic": "87746800", + "stop_area": "stop_area:OCE:SA:87746800", + "nom": "Epernon Gare Routière", + "lat": 48.604753, + "lon": 1.680881 + }, + { + "uic": "87214221", + "stop_area": "stop_area:OCE:SA:87214221", + "nom": "Epfig", + "lat": 48.363593, + "lon": 7.450345 + }, + { + "uic": "87660977", + "stop_area": "stop_area:OCE:SA:87660977", + "nom": "Epfig Croisement Église - RN", + "lat": 48.359279, + "lon": 7.465738 + }, + { + "uic": "87741280", + "stop_area": "stop_area:OCE:SA:87741280", + "nom": "Épierre - Saint-Léger", + "lat": 45.457008, + "lon": 6.292486 + }, + { + "uic": "87144006", + "stop_area": "stop_area:OCE:SA:87144006", + "nom": "Épinal", + "lat": 48.178005, + "lon": 6.441787 + }, + { + "uic": "87590356", + "stop_area": "stop_area:OCE:SA:87590356", + "nom": "Erdre-Active", + "lat": 47.283101, + "lon": -1.544427 + }, + { + "uic": "87765396", + "stop_area": "stop_area:OCE:SA:87765396", + "nom": "Erlon", + "lat": 49.727376, + "lon": 3.714676 + }, + { + "uic": "88716050", + "stop_area": "stop_area:OCE:SA:88716050", + "nom": "ERQUELINNES", + "lat": 50.304, + "lon": 4.113 + }, + { + "uic": "88716472", + "stop_area": "stop_area:OCE:SA:88716472", + "nom": "ERQUELINNES-VILLAGE", + "lat": 50.309539, + "lon": 4.130281 + }, + { + "uic": "87784843", + "stop_area": "stop_area:OCE:SA:87784843", + "nom": "Err", + "lat": 42.442778, + "lon": 2.029105 + }, + { + "uic": "87214148", + "stop_area": "stop_area:OCE:SA:87214148", + "nom": "Erstein", + "lat": 48.422982, + "lon": 7.638701 + }, + { + "uic": "87118414", + "stop_area": "stop_area:OCE:SA:87118414", + "nom": "Ervy-le-Châtel Gare", + "lat": 48.045045, + "lon": 3.921239 + }, + { + "uic": "87110346", + "stop_area": "stop_area:OCE:SA:87110346", + "nom": "Ervy-le-Châtel Halles", + "lat": 48.041674, + "lon": 3.910929 + }, + { + "uic": "87611707", + "stop_area": "stop_area:OCE:SA:87611707", + "nom": "Escalquens", + "lat": 43.517093, + "lon": 1.542375 + }, + { + "uic": "87345496", + "stop_area": "stop_area:OCE:SA:87345496", + "nom": "Escaudoeuvres", + "lat": 50.191744, + "lon": 3.275473 + }, + { + "uic": "87272096", + "stop_area": "stop_area:OCE:SA:87272096", + "nom": "Esches", + "lat": 49.212562, + "lon": 2.170599 + }, + { + "uic": "87615211", + "stop_area": "stop_area:OCE:SA:87615211", + "nom": "Espéraza", + "lat": 42.935933, + "lon": 2.218403 + }, + { + "uic": "87281113", + "stop_area": "stop_area:OCE:SA:87281113", + "nom": "Esquelbecq", + "lat": 50.889751, + "lon": 2.412368 + }, + { + "uic": "80290551", + "stop_area": "stop_area:OCE:SA:80290551", + "nom": "Esslingen (Neckar)", + "lat": 48.7388, + "lon": 9.3001 + }, + { + "uic": "87784827", + "stop_area": "stop_area:OCE:SA:87784827", + "nom": "Estavar", + "lat": 42.463243, + "lon": 2.017907 + }, + { + "uic": "87170878", + "stop_area": "stop_area:OCE:SA:87170878", + "nom": "Esténos Mairie", + "lat": 42.94686, + "lon": 0.641429 + }, + { + "uic": "87170787", + "stop_area": "stop_area:OCE:SA:87170787", + "nom": "Esténos Pont de Chaum", + "lat": 42.939007, + "lon": 0.645149 + }, + { + "uic": "87313387", + "stop_area": "stop_area:OCE:SA:87313387", + "nom": "Estrées-Saint-Denis", + "lat": 49.438169, + "lon": 2.642137 + }, + { + "uic": "87722579", + "stop_area": "stop_area:OCE:SA:87722579", + "nom": "Estressin", + "lat": 45.539829, + "lon": 4.868563 + }, + { + "uic": "87571422", + "stop_area": "stop_area:OCE:SA:87571422", + "nom": "Esvres-sur-Indre", + "lat": 47.284535, + "lon": 0.781977 + }, + { + "uic": "87175794", + "stop_area": "stop_area:OCE:SA:87175794", + "nom": "Étain", + "lat": 49.207491, + "lon": 5.639808 + }, + { + "uic": "87458828", + "stop_area": "stop_area:OCE:SA:87458828", + "nom": "Étain Centre", + "lat": 49.213443, + "lon": 5.635104 + }, + { + "uic": "87413328", + "stop_area": "stop_area:OCE:SA:87413328", + "nom": "Étainhus - Saint-Romain", + "lat": 49.560486, + "lon": 0.330494 + }, + { + "uic": "87718536", + "stop_area": "stop_area:OCE:SA:87718536", + "nom": "Étalans", + "lat": 47.155696, + "lon": 6.270842 + }, + { + "uic": "87545137", + "stop_area": "stop_area:OCE:SA:87545137", + "nom": "Étampes", + "lat": 48.436625, + "lon": 2.159487 + }, + { + "uic": "87694141", + "stop_area": "stop_area:OCE:SA:87694141", + "nom": "Étang-sur-Arroux", + "lat": 46.867917, + "lon": 4.183844 + }, + { + "uic": "87317065", + "stop_area": "stop_area:OCE:SA:87317065", + "nom": "Étaples - Le Touquet", + "lat": 50.516544, + "lon": 1.642582 + }, + { + "uic": "87683201", + "stop_area": "stop_area:OCE:SA:87683201", + "nom": "Étigny - Véron", + "lat": 48.138276, + "lon": 3.290743 + }, + { + "uic": "87144642", + "stop_area": "stop_area:OCE:SA:87144642", + "nom": "Étival-Clairefontaine", + "lat": 48.367171, + "lon": 6.877124 + }, + { + "uic": "87693341", + "stop_area": "stop_area:OCE:SA:87693341", + "nom": "Etretat-Normandie", + "lat": 49.707383, + "lon": 0.205801 + }, + { + "uic": "87484154", + "stop_area": "stop_area:OCE:SA:87484154", + "nom": "Étriché - Châteauneuf", + "lat": 47.656732, + "lon": -0.460868 + }, + { + "uic": "87213827", + "stop_area": "stop_area:OCE:SA:87213827", + "nom": "Ettendorf", + "lat": 48.80816, + "lon": 7.585292 + }, + { + "uic": "87639971", + "stop_area": "stop_area:OCE:SA:87639971", + "nom": "Ettendorf Rue du Pont", + "lat": 48.812236, + "lon": 7.58117 + }, + { + "uic": "87639963", + "stop_area": "stop_area:OCE:SA:87639963", + "nom": "Ettendorf Place de l'école", + "lat": 48.813093, + "lon": 7.583792 + }, + { + "uic": "87317537", + "stop_area": "stop_area:OCE:SA:87317537", + "nom": "Eu", + "lat": 50.054139, + "lon": 1.417087 + }, + { + "uic": "87107466", + "stop_area": "stop_area:OCE:SA:87107466", + "nom": "Eurville Mairie", + "lat": 48.585297, + "lon": 5.03725 + }, + { + "uic": "87745679", + "stop_area": "stop_area:OCE:SA:87745679", + "nom": "Évian-les-Bains", + "lat": 46.397916, + "lon": 6.577469 + }, + { + "uic": "87387001", + "stop_area": "stop_area:OCE:SA:87387001", + "nom": "Évreux Normandie", + "lat": 49.018748, + "lon": 1.149629 + }, + { + "uic": "87478552", + "stop_area": "stop_area:OCE:SA:87478552", + "nom": "Évron", + "lat": 48.155517, + "lon": -0.397155 + }, + { + "uic": "87592121", + "stop_area": "stop_area:OCE:SA:87592121", + "nom": "Eymoutiers Vassivière", + "lat": 45.739817, + "lon": 1.741247 + }, + { + "uic": "87417865", + "stop_area": "stop_area:OCE:SA:87417865", + "nom": "Eyrein", + "lat": 45.341936, + "lon": 1.932601 + }, + { + "uic": "87756387", + "stop_area": "stop_area:OCE:SA:87756387", + "nom": "Èze", + "lat": 43.722327, + "lon": 7.356948 + }, + { + "uic": "87193144", + "stop_area": "stop_area:OCE:SA:87193144", + "nom": "Falck Gare", + "lat": 49.218823, + "lon": 6.633661 + }, + { + "uic": "87406769", + "stop_area": "stop_area:OCE:SA:87406769", + "nom": "Falck Rue Principale", + "lat": 49.229231, + "lon": 6.632988 + }, + { + "uic": "87342527", + "stop_area": "stop_area:OCE:SA:87342527", + "nom": "Farbus", + "lat": 50.357477, + "lon": 2.830747 + }, + { + "uic": "87193516", + "stop_area": "stop_area:OCE:SA:87193516", + "nom": "Farébersviller", + "lat": 49.11816, + "lon": 6.861893 + }, + { + "uic": "87406868", + "stop_area": "stop_area:OCE:SA:87406868", + "nom": "Farébersviller Cité", + "lat": 49.11764, + "lon": 6.873153 + }, + { + "uic": "87406884", + "stop_area": "stop_area:OCE:SA:87406884", + "nom": "Farébersviller Rue du Moulin", + "lat": 49.116118, + "lon": 6.865806 + }, + { + "uic": "87193524", + "stop_area": "stop_area:OCE:SA:87193524", + "nom": "Farschviller", + "lat": 49.087877, + "lon": 6.908082 + }, + { + "uic": "87406892", + "stop_area": "stop_area:OCE:SA:87406892", + "nom": "Farschviller Centre", + "lat": 49.095277, + "lon": 6.895772 + }, + { + "uic": "87737734", + "stop_area": "stop_area:OCE:SA:87737734", + "nom": "Farschviller Croisement Gare", + "lat": 49.088581, + "lon": 6.901817 + }, + { + "uic": "87576173", + "stop_area": "stop_area:OCE:SA:87576173", + "nom": "Faubourg d'Orléans", + "lat": 47.366892, + "lon": 1.740131 + }, + { + "uic": "87193359", + "stop_area": "stop_area:OCE:SA:87193359", + "nom": "Faulquemont", + "lat": 49.045386, + "lon": 6.603751 + }, + { + "uic": "87110379", + "stop_area": "stop_area:OCE:SA:87110379", + "nom": "Fays-la-Chapelle", + "lat": 48.129696, + "lon": 4.018933 + }, + { + "uic": "87413542", + "stop_area": "stop_area:OCE:SA:87413542", + "nom": "Fécamp", + "lat": 49.759277, + "lon": 0.375287 + }, + { + "uic": "87212266", + "stop_area": "stop_area:OCE:SA:87212266", + "nom": "Fegersheim - Lipsheim", + "lat": 48.490589, + "lon": 7.672481 + }, + { + "uic": "87182626", + "stop_area": "stop_area:OCE:SA:87182626", + "nom": "Fellering", + "lat": 47.897589, + "lon": 6.987135 + }, + { + "uic": "87659896", + "stop_area": "stop_area:OCE:SA:87659896", + "nom": "Fellering Église", + "lat": 47.896397, + "lon": 6.985792 + }, + { + "uic": "87407122", + "stop_area": "stop_area:OCE:SA:87407122", + "nom": "Fénétrange Carrefour des Étangs", + "lat": 48.845572, + "lon": 7.014465 + }, + { + "uic": "87406975", + "stop_area": "stop_area:OCE:SA:87406975", + "nom": "Fénétrange Gendarmerie", + "lat": 48.844289, + "lon": 7.019818 + }, + { + "uic": "87406983", + "stop_area": "stop_area:OCE:SA:87406983", + "nom": "Fénétrange Le Val Fleuri", + "lat": 48.847801, + "lon": 7.019126 + }, + { + "uic": "87476879", + "stop_area": "stop_area:OCE:SA:87476879", + "nom": "Fénétrange Mairie", + "lat": 48.84575, + "lon": 7.016967 + }, + { + "uic": "87172874", + "stop_area": "stop_area:OCE:SA:87172874", + "nom": "Fépin", + "lat": 50.023464, + "lon": 4.726616 + }, + { + "uic": "87313742", + "stop_area": "stop_area:OCE:SA:87313742", + "nom": "Feuquières - Broquiers", + "lat": 49.654339, + "lon": 1.830884 + }, + { + "uic": "87726877", + "stop_area": "stop_area:OCE:SA:87726877", + "nom": "Feurs", + "lat": 45.744145, + "lon": 4.230487 + }, + { + "uic": "87722538", + "stop_area": "stop_area:OCE:SA:87722538", + "nom": "Feyzin", + "lat": 45.665676, + "lon": 4.853043 + }, + { + "uic": "87698506", + "stop_area": "stop_area:OCE:SA:87698506", + "nom": "Feyzin-TCL-Gare", + "lat": 45.665875, + "lon": 4.853366 + }, + { + "uic": "87613091", + "stop_area": "stop_area:OCE:SA:87613091", + "nom": "Figeac", + "lat": 44.603515, + "lon": 2.037355 + }, + { + "uic": "71043075", + "stop_area": "stop_area:OCE:SA:71043075", + "nom": "FIGUERES-VILAFANT", + "lat": 42.264581, + "lon": 2.943028 + }, + { + "uic": "85015651", + "stop_area": "stop_area:OCE:SA:85015651", + "nom": "Finhaut", + "lat": 46.082404, + "lon": 6.976131 + }, + { + "uic": "87726729", + "stop_area": "stop_area:OCE:SA:87726729", + "nom": "Firminy", + "lat": 45.391656, + "lon": 4.28643 + }, + { + "uic": "87171330", + "stop_area": "stop_area:OCE:SA:87171330", + "nom": "Fismes", + "lat": 49.310722, + "lon": 3.682126 + }, + { + "uic": "87680728", + "stop_area": "stop_area:OCE:SA:87680728", + "nom": "Fix Saint-Geneys Rn102 Bourg", + "lat": 45.142783, + "lon": 3.668554 + }, + { + "uic": "87336990", + "stop_area": "stop_area:OCE:SA:87336990", + "nom": "FLAVIAC René Cassin", + "lat": 44.746402, + "lon": 4.674194 + }, + { + "uic": "87296871", + "stop_area": "stop_area:OCE:SA:87296871", + "nom": "Flavy-le-Martel", + "lat": 49.718446, + "lon": 3.190179 + }, + { + "uic": "87181040", + "stop_area": "stop_area:OCE:SA:87181040", + "nom": "Flaxlanden", + "lat": 47.698692, + "lon": 7.30447 + }, + { + "uic": "87448001", + "stop_area": "stop_area:OCE:SA:87448001", + "nom": "Flers", + "lat": 48.744785, + "lon": -0.573216 + }, + { + "uic": "87586339", + "stop_area": "stop_area:OCE:SA:87586339", + "nom": "Fleurance Allée Aristide Briand", + "lat": 43.85247, + "lon": 0.656725 + }, + { + "uic": "87462390", + "stop_area": "stop_area:OCE:SA:87462390", + "nom": "Fleurance Gendarmerie", + "lat": 43.849, + "lon": 0.663 + }, + { + "uic": "87698282", + "stop_area": "stop_area:OCE:SA:87698282", + "nom": "Fleurieux RN7", + "lat": 45.840513, + "lon": 4.653622 + }, + { + "uic": "87721563", + "stop_area": "stop_area:OCE:SA:87721563", + "nom": "Fleurieux-sur-l'Arbresle", + "lat": 45.844994, + "lon": 4.660381 + }, + { + "uic": "87725663", + "stop_area": "stop_area:OCE:SA:87725663", + "nom": "Fleurville - Pont-de-Vaux", + "lat": 46.450874, + "lon": 4.884195 + }, + { + "uic": "87696633", + "stop_area": "stop_area:OCE:SA:87696633", + "nom": "Flez-Cuzy - Tannay", + "lat": 47.362336, + "lon": 3.615881 + }, + { + "uic": "87698514", + "stop_area": "stop_area:OCE:SA:87698514", + "nom": "Flumet-Office-de-Tourisme", + "lat": 45.817764, + "lon": 6.513975 + }, + { + "uic": "87576108", + "stop_area": "stop_area:OCE:SA:87576108", + "nom": "Foëcy", + "lat": 47.175691, + "lon": 2.162506 + }, + { + "uic": "87611616", + "stop_area": "stop_area:OCE:SA:87611616", + "nom": "Foix", + "lat": 42.969707, + "lon": 1.60704 + }, + { + "uic": "87447649", + "stop_area": "stop_area:OCE:SA:87447649", + "nom": "Folligny", + "lat": 48.829946, + "lon": -1.407223 + }, + { + "uic": "87571505", + "stop_area": "stop_area:OCE:SA:87571505", + "nom": "Fondettes - Saint-Cyr-sur-Loire", + "lat": 47.39864, + "lon": 0.645977 + }, + { + "uic": "87775379", + "stop_area": "stop_area:OCE:SA:87775379", + "nom": "Fons - Saint-Mamert", + "lat": 43.907321, + "lon": 4.206696 + }, + { + "uic": "87784819", + "stop_area": "stop_area:OCE:SA:87784819", + "nom": "Font-Romeu-Odeillo-Via", + "lat": 42.491243, + "lon": 2.038396 + }, + { + "uic": "87727826", + "stop_area": "stop_area:OCE:SA:87727826", + "nom": "Fontaine-les-Grés Mairie", + "lat": 48.424302, + "lon": 3.911219 + }, + { + "uic": "88716886", + "stop_area": "stop_area:OCE:SA:88716886", + "nom": "FONTAINE-VALMONT", + "lat": 50.320439, + "lon": 4.211775 + }, + { + "uic": "87713586", + "stop_area": "stop_area:OCE:SA:87713586", + "nom": "Fontaines - Mercurey", + "lat": 46.851258, + "lon": 4.775005 + }, + { + "uic": "87756858", + "stop_area": "stop_area:OCE:SA:87756858", + "nom": "Fontan - Saorge", + "lat": 43.996638, + "lon": 7.551626 + }, + { + "uic": "87141051", + "stop_area": "stop_area:OCE:SA:87141051", + "nom": "Fontenoy-sur-Moselle", + "lat": 48.711419, + "lon": 5.980173 + }, + { + "uic": "87784769", + "stop_area": "stop_area:OCE:SA:87784769", + "nom": "Fontpédrouse St-Thomas les B.", + "lat": 42.513806, + "lon": 2.188658 + }, + { + "uic": "87193003", + "stop_area": "stop_area:OCE:SA:87193003", + "nom": "Forbach", + "lat": 49.189228, + "lon": 6.901318 + }, + { + "uic": "87313833", + "stop_area": "stop_area:OCE:SA:87313833", + "nom": "Formerie", + "lat": 49.654606, + "lon": 1.723582 + }, + { + "uic": "87485326", + "stop_area": "stop_area:OCE:SA:87485326", + "nom": "Fors", + "lat": 46.234552, + "lon": -0.406931 + }, + { + "uic": "87753442", + "stop_area": "stop_area:OCE:SA:87753442", + "nom": "Fos-sur-Mer", + "lat": 43.42807, + "lon": 4.974578 + }, + { + "uic": "87413377", + "stop_area": "stop_area:OCE:SA:87413377", + "nom": "Foucart - Alvimare", + "lat": 49.608329, + "lon": 0.59699 + }, + { + "uic": "87214734", + "stop_area": "stop_area:OCE:SA:87214734", + "nom": "Fouday", + "lat": 48.424867, + "lon": 7.187411 + }, + { + "uic": "87141036", + "stop_area": "stop_area:OCE:SA:87141036", + "nom": "Foug", + "lat": 48.679264, + "lon": 5.791265 + }, + { + "uic": "87471201", + "stop_area": "stop_area:OCE:SA:87471201", + "nom": "Fougeray - Langon", + "lat": 47.729865, + "lon": -1.851315 + }, + { + "uic": "87486316", + "stop_area": "stop_area:OCE:SA:87486316", + "nom": "Fougeré", + "lat": 46.665362, + "lon": -1.232103 + }, + { + "uic": "87313841", + "stop_area": "stop_area:OCE:SA:87313841", + "nom": "Fouilloy", + "lat": 49.736315, + "lon": 1.825774 + }, + { + "uic": "87342204", + "stop_area": "stop_area:OCE:SA:87342204", + "nom": "Fouquereuil", + "lat": 50.525383, + "lon": 2.608261 + }, + { + "uic": "87696229", + "stop_area": "stop_area:OCE:SA:87696229", + "nom": "Fourchambault", + "lat": 47.01896, + "lon": 3.087166 + }, + { + "uic": "87295048", + "stop_area": "stop_area:OCE:SA:87295048", + "nom": "Fourmies", + "lat": 50.015392, + "lon": 4.053593 + }, + { + "uic": "87696518", + "stop_area": "stop_area:OCE:SA:87696518", + "nom": "Fours", + "lat": 46.817134, + "lon": 3.720956 + }, + { + "uic": "87726737", + "stop_area": "stop_area:OCE:SA:87726737", + "nom": "Fraisses - Unieux", + "lat": 45.394823, + "lon": 4.261037 + }, + { + "uic": "80110684", + "stop_area": "stop_area:OCE:SA:80110684", + "nom": "Francfort sur le Main", + "lat": 50.1073, + "lon": 8.6624 + }, + { + "uic": "87417444", + "stop_area": "stop_area:OCE:SA:87417444", + "nom": "Franchet d'Esperey", + "lat": 49.242536, + "lon": 4.013869 + }, + { + "uic": "87722702", + "stop_area": "stop_area:OCE:SA:87722702", + "nom": "Francheville", + "lat": 45.73392, + "lon": 4.769748 + }, + { + "uic": "80190736", + "stop_area": "stop_area:OCE:SA:80190736", + "nom": "Frankenthal Hbf", + "lat": 49.5356, + "lon": 8.3497 + }, + { + "uic": "87718304", + "stop_area": "stop_area:OCE:SA:87718304", + "nom": "Franois", + "lat": 47.22751, + "lon": 5.937233 + }, + { + "uic": "87715136", + "stop_area": "stop_area:OCE:SA:87715136", + "nom": "Frasne", + "lat": 46.857596, + "lon": 6.157767 + }, + { + "uic": "80143503", + "stop_area": "stop_area:OCE:SA:80143503", + "nom": "Freiburg (Breisgau) Hbf", + "lat": 47.9979, + "lon": 7.8416 + }, + { + "uic": "87191395", + "stop_area": "stop_area:OCE:SA:87191395", + "nom": "Freistroff Passage À Niveau", + "lat": 49.278361, + "lon": 6.492212 + }, + { + "uic": "87757500", + "stop_area": "stop_area:OCE:SA:87757500", + "nom": "Fréjus", + "lat": 43.43203, + "lon": 6.732943 + }, + { + "uic": "87444182", + "stop_area": "stop_area:OCE:SA:87444182", + "nom": "Frénouville - Cagny", + "lat": 49.141155, + "lon": -0.26041 + }, + { + "uic": "87642082", + "stop_area": "stop_area:OCE:SA:87642082", + "nom": "Fresnes-au-Mont", + "lat": 48.896119, + "lon": 5.439869 + }, + { + "uic": "87296293", + "stop_area": "stop_area:OCE:SA:87296293", + "nom": "Fresnoy-le-Grand", + "lat": 49.949908, + "lon": 3.432208 + }, + { + "uic": "87574533", + "stop_area": "stop_area:OCE:SA:87574533", + "nom": "Fréteval - Morée", + "lat": 47.891842, + "lon": 1.211921 + }, + { + "uic": "87286641", + "stop_area": "stop_area:OCE:SA:87286641", + "nom": "Fretin", + "lat": 50.55996, + "lon": 3.149396 + }, + { + "uic": "87342212", + "stop_area": "stop_area:OCE:SA:87342212", + "nom": "Frévin-Capelle", + "lat": 50.347208, + "lon": 2.63317 + }, + { + "uic": "87642389", + "stop_area": "stop_area:OCE:SA:87642389", + "nom": "Frohmuhl Lavoir", + "lat": 48.907795, + "lon": 7.280985 + }, + { + "uic": "87592360", + "stop_area": "stop_area:OCE:SA:87592360", + "nom": "Fromental", + "lat": 46.171565, + "lon": 1.432432 + }, + { + "uic": "87112342", + "stop_area": "stop_area:OCE:SA:87112342", + "nom": "Fromy", + "lat": 49.596406, + "lon": 5.249472 + }, + { + "uic": "87142240", + "stop_area": "stop_area:OCE:SA:87142240", + "nom": "Froncles", + "lat": 48.296415, + "lon": 5.141939 + }, + { + "uic": "87741629", + "stop_area": "stop_area:OCE:SA:87741629", + "nom": "Frontenex", + "lat": 45.630568, + "lon": 6.314041 + }, + { + "uic": "87773556", + "stop_area": "stop_area:OCE:SA:87773556", + "nom": "Frontignan", + "lat": 43.444934, + "lon": 3.758689 + }, + { + "uic": "87107490", + "stop_area": "stop_area:OCE:SA:87107490", + "nom": "Fronville Lotissement", + "lat": 48.404662, + "lon": 5.154708 + }, + { + "uic": "87141077", + "stop_area": "stop_area:OCE:SA:87141077", + "nom": "Frouard", + "lat": 48.755428, + "lon": 6.143927 + }, + { + "uic": "88850685", + "stop_area": "stop_area:OCE:SA:88850685", + "nom": "FROYENNES", + "lat": 50.629, + "lon": 3.355 + }, + { + "uic": "87473876", + "stop_area": "stop_area:OCE:SA:87473876", + "nom": "Frynaudour", + "lat": 48.727592, + "lon": -3.128453 + }, + { + "uic": "87172098", + "stop_area": "stop_area:OCE:SA:87172098", + "nom": "Fumay", + "lat": 49.986048, + "lon": 4.6926 + }, + { + "uic": "87324095", + "stop_area": "stop_area:OCE:SA:87324095", + "nom": "Futuroscope", + "lat": 46.669918, + "lon": 0.377209 + }, + { + "uic": "87765446", + "stop_area": "stop_area:OCE:SA:87765446", + "nom": "Gadagne", + "lat": 43.929699, + "lon": 4.956824 + }, + { + "uic": "87615252", + "stop_area": "stop_area:OCE:SA:87615252", + "nom": "Gaillac", + "lat": 43.905984, + "lon": 1.89483 + }, + { + "uic": "87138438", + "stop_area": "stop_area:OCE:SA:87138438", + "nom": "Gaillac-D-Aveyron Lugans", + "lat": 44.364357, + "lon": 2.887366 + }, + { + "uic": "87138321", + "stop_area": "stop_area:OCE:SA:87138321", + "nom": "Gaillac-d'Aveyron Bourg", + "lat": 44.353629, + "lon": 2.92864 + }, + { + "uic": "87415620", + "stop_area": "stop_area:OCE:SA:87415620", + "nom": "Gaillon - Aubevoye", + "lat": 49.174664, + "lon": 1.352609 + }, + { + "uic": "87775130", + "stop_area": "stop_area:OCE:SA:87775130", + "nom": "Gallargues", + "lat": 43.716033, + "lon": 4.171079 + }, + { + "uic": "87497461", + "stop_area": "stop_area:OCE:SA:87497461", + "nom": "Gallieni-Cancéropôle", + "lat": 43.573088, + "lon": 1.41958 + }, + { + "uic": "87694638", + "stop_area": "stop_area:OCE:SA:87694638", + "nom": "Galuzot", + "lat": 46.642236, + "lon": 4.329962 + }, + { + "uic": "87212332", + "stop_area": "stop_area:OCE:SA:87212332", + "nom": "Gambsheim", + "lat": 48.694909, + "lon": 7.879179 + }, + { + "uic": "87659730", + "stop_area": "stop_area:OCE:SA:87659730", + "nom": "Gambsheim Garage Peugeot", + "lat": 48.688786, + "lon": 7.872003 + }, + { + "uic": "87672618", + "stop_area": "stop_area:OCE:SA:87672618", + "nom": "Gan", + "lat": 43.234315, + "lon": -0.391428 + }, + { + "uic": "87191742", + "stop_area": "stop_area:OCE:SA:87191742", + "nom": "Gandrange - Amnéville", + "lat": 49.260943, + "lon": 6.136047 + }, + { + "uic": "87732404", + "stop_area": "stop_area:OCE:SA:87732404", + "nom": "Gannat", + "lat": 46.097592, + "lon": 3.204773 + }, + { + "uic": "87589564", + "stop_area": "stop_area:OCE:SA:87589564", + "nom": "Gannat Lycee Eiffel", + "lat": 46.086182, + "lon": 3.197861 + }, + { + "uic": "87589572", + "stop_area": "stop_area:OCE:SA:87589572", + "nom": "Gannat Lycee Ste Procule", + "lat": 46.099225, + "lon": 3.19001 + }, + { + "uic": "87313262", + "stop_area": "stop_area:OCE:SA:87313262", + "nom": "Gannes", + "lat": 49.572092, + "lon": 2.437055 + }, + { + "uic": "87763003", + "stop_area": "stop_area:OCE:SA:87763003", + "nom": "Gap", + "lat": 44.563714, + "lon": 6.085669 + }, + { + "uic": "87733592", + "stop_area": "stop_area:OCE:SA:87733592", + "nom": "Gap Gare Routière", + "lat": 44.561601, + "lon": 6.082358 + }, + { + "uic": "87691436", + "stop_area": "stop_area:OCE:SA:87691436", + "nom": "Garchizy", + "lat": 47.044078, + "lon": 3.086241 + }, + { + "uic": "87751420", + "stop_area": "stop_area:OCE:SA:87751420", + "nom": "Gardanne", + "lat": 43.456023, + "lon": 5.463324 + }, + { + "uic": "87584235", + "stop_area": "stop_area:OCE:SA:87584235", + "nom": "Gardonne", + "lat": 44.834737, + "lon": 0.331929 + }, + { + "uic": "87491225", + "stop_area": "stop_area:OCE:SA:87491225", + "nom": "Gauriaguet", + "lat": 45.054292, + "lon": -0.399402 + }, + { + "uic": "87393348", + "stop_area": "stop_area:OCE:SA:87393348", + "nom": "Gazeran", + "lat": 48.625819, + "lon": 1.771828 + }, + { + "uic": "87582403", + "stop_area": "stop_area:OCE:SA:87582403", + "nom": "Gazinet - Cestas", + "lat": 44.772247, + "lon": -0.699448 + }, + { + "uic": "87212258", + "stop_area": "stop_area:OCE:SA:87212258", + "nom": "Geispolsheim", + "lat": 48.519052, + "lon": 7.684358 + }, + { + "uic": "87713842", + "stop_area": "stop_area:OCE:SA:87713842", + "nom": "Gemeaux", + "lat": 47.478322, + "lon": 5.129853 + }, + { + "uic": "87694653", + "stop_area": "stop_area:OCE:SA:87694653", + "nom": "Génelard", + "lat": 46.58122, + "lon": 4.237965 + }, + { + "uic": "87775791", + "stop_area": "stop_area:OCE:SA:87775791", + "nom": "Générac", + "lat": 43.732438, + "lon": 4.343474 + }, + { + "uic": "85010082", + "stop_area": "stop_area:OCE:SA:85010082", + "nom": "Genève Cornavin", + "lat": 46.21022, + "lon": 6.14244 + }, + { + "uic": "85928291", + "stop_area": "stop_area:OCE:SA:85928291", + "nom": "Genève Eaux-Vives Gare", + "lat": 46.20011, + "lon": 6.1643 + }, + { + "uic": "85010264", + "stop_area": "stop_area:OCE:SA:85010264", + "nom": "Geneve-Aeroport", + "lat": 46.23255, + "lon": 6.11197 + }, + { + "uic": "85162727", + "stop_area": "stop_area:OCE:SA:85162727", + "nom": "Genève-Champel", + "lat": 46.192191, + "lon": 6.153505 + }, + { + "uic": "85162735", + "stop_area": "stop_area:OCE:SA:85162735", + "nom": "Genève-Eaux-Vives", + "lat": 46.201444, + "lon": 6.16658 + }, + { + "uic": "85162834", + "stop_area": "stop_area:OCE:SA:85162834", + "nom": "Genève-Sécheron", + "lat": 46.222438, + "lon": 6.144557 + }, + { + "uic": "87713313", + "stop_area": "stop_area:OCE:SA:87713313", + "nom": "Genlis", + "lat": 47.244281, + "lon": 5.223965 + }, + { + "uic": "87775213", + "stop_area": "stop_area:OCE:SA:87775213", + "nom": "Génolhac", + "lat": 44.347119, + "lon": 3.95164 + }, + { + "uic": "85010215", + "stop_area": "stop_area:OCE:SA:85010215", + "nom": "Genthod-Bellevue", + "lat": 46.256728, + "lon": 6.153962 + }, + { + "uic": "87171587", + "stop_area": "stop_area:OCE:SA:87171587", + "nom": "Germaine", + "lat": 49.127763, + "lon": 4.022898 + }, + { + "uic": "87214254", + "stop_area": "stop_area:OCE:SA:87214254", + "nom": "Gertwiller", + "lat": 48.413314, + "lon": 7.466819 + }, + { + "uic": "87734046", + "stop_area": "stop_area:OCE:SA:87734046", + "nom": "Gerzat", + "lat": 45.833488, + "lon": 3.143236 + }, + { + "uic": "87476309", + "stop_area": "stop_area:OCE:SA:87476309", + "nom": "Gestel", + "lat": 47.80299, + "lon": -3.443134 + }, + { + "uic": "87713503", + "stop_area": "stop_area:OCE:SA:87713503", + "nom": "Gevrey-Chambertin", + "lat": 47.227601, + "lon": 4.998905 + }, + { + "uic": "87684290", + "stop_area": "stop_area:OCE:SA:87684290", + "nom": "Gien", + "lat": 47.699088, + "lon": 2.636205 + }, + { + "uic": "87576876", + "stop_area": "stop_area:OCE:SA:87576876", + "nom": "Gièvres", + "lat": 47.27878, + "lon": 1.667814 + }, + { + "uic": "87594325", + "stop_area": "stop_area:OCE:SA:87594325", + "nom": "Gignac - Cressensac", + "lat": 45.014731, + "lon": 1.483288 + }, + { + "uic": "87718577", + "stop_area": "stop_area:OCE:SA:87718577", + "nom": "Gilley", + "lat": 47.050357, + "lon": 6.492388 + }, + { + "uic": "87694869", + "stop_area": "stop_area:OCE:SA:87694869", + "nom": "Gilly-sur-Loire", + "lat": 46.536992, + "lon": 3.782111 + }, + { + "uic": "87462812", + "stop_area": "stop_area:OCE:SA:87462812", + "nom": "Gimat Salle des Fetes", + "lat": 43.851156, + "lon": 0.941691 + }, + { + "uic": "87611772", + "stop_area": "stop_area:OCE:SA:87611772", + "nom": "Gimont Cahuzac", + "lat": 43.633194, + "lon": 0.867711 + }, + { + "uic": "71793000", + "stop_area": "stop_area:OCE:SA:71793000", + "nom": "GIRONA", + "lat": 41.979371, + "lon": 2.816957 + }, + { + "uic": "87582858", + "stop_area": "stop_area:OCE:SA:87582858", + "nom": "Gironde", + "lat": 44.583292, + "lon": -0.092013 + }, + { + "uic": "87172130", + "stop_area": "stop_area:OCE:SA:87172130", + "nom": "Givet", + "lat": 50.140283, + "lon": 4.818068 + }, + { + "uic": "87722439", + "stop_area": "stop_area:OCE:SA:87722439", + "nom": "Givors Canal", + "lat": 45.595742, + "lon": 4.772522 + }, + { + "uic": "87722405", + "stop_area": "stop_area:OCE:SA:87722405", + "nom": "Givors Ville", + "lat": 45.584948, + "lon": 4.766086 + }, + { + "uic": "87430785", + "stop_area": "stop_area:OCE:SA:87430785", + "nom": "Goderville", + "lat": 49.645581, + "lon": 0.367785 + }, + { + "uic": "87757641", + "stop_area": "stop_area:OCE:SA:87757641", + "nom": "Golfe Juan Vallauris", + "lat": 43.566532, + "lon": 7.073615 + }, + { + "uic": "87747477", + "stop_area": "stop_area:OCE:SA:87747477", + "nom": "Goncelin", + "lat": 45.341962, + "lon": 5.974103 + }, + { + "uic": "87407403", + "stop_area": "stop_area:OCE:SA:87407403", + "nom": "Gondrexange Centre", + "lat": 48.685131, + "lon": 6.926093 + }, + { + "uic": "87215137", + "stop_area": "stop_area:OCE:SA:87215137", + "nom": "Gondrexange Domaine Ketzing", + "lat": 48.68329, + "lon": 6.898942 + }, + { + "uic": "87755397", + "stop_area": "stop_area:OCE:SA:87755397", + "nom": "Gonfaron", + "lat": 43.31724, + "lon": 6.281763 + }, + { + "uic": "87481432", + "stop_area": "stop_area:OCE:SA:87481432", + "nom": "Gorges", + "lat": 47.100191, + "lon": -1.305914 + }, + { + "uic": "87703595", + "stop_area": "stop_area:OCE:SA:87703595", + "nom": "Gosselming Mairie", + "lat": 48.793028, + "lon": 7.000769 + }, + { + "uic": "87407130", + "stop_area": "stop_area:OCE:SA:87407130", + "nom": "Gosselming Poste", + "lat": 48.790791, + "lon": 7.00551 + }, + { + "uic": "87586313", + "stop_area": "stop_area:OCE:SA:87586313", + "nom": "Goulens", + "lat": 44.096539, + "lon": 0.654979 + }, + { + "uic": "87176974", + "stop_area": "stop_area:OCE:SA:87176974", + "nom": "Gourdan-Polignan Lycée", + "lat": 43.076553, + "lon": 0.58441 + }, + { + "uic": "87613141", + "stop_area": "stop_area:OCE:SA:87613141", + "nom": "Gourdon", + "lat": 44.741932, + "lon": 1.389264 + }, + { + "uic": "87473801", + "stop_area": "stop_area:OCE:SA:87473801", + "nom": "Gourland", + "lat": 48.560998, + "lon": -3.166819 + }, + { + "uic": "87338152", + "stop_area": "stop_area:OCE:SA:87338152", + "nom": "Gourzon", + "lat": 48.545851, + "lon": 5.084749 + }, + { + "uic": "87158006", + "stop_area": "stop_area:OCE:SA:87158006", + "nom": "Gouzon Champ de Foire", + "lat": 46.191202, + "lon": 2.239953 + }, + { + "uic": "87214270", + "stop_area": "stop_area:OCE:SA:87214270", + "nom": "Goxwiller", + "lat": 48.432755, + "lon": 7.47873 + }, + { + "uic": "87212241", + "stop_area": "stop_area:OCE:SA:87212241", + "nom": "Graffenstaden", + "lat": 48.532834, + "lon": 7.689874 + }, + { + "uic": "87181131", + "stop_area": "stop_area:OCE:SA:87181131", + "nom": "Graffenwald", + "lat": 47.780823, + "lon": 7.224791 + }, + { + "uic": "87615377", + "stop_area": "stop_area:OCE:SA:87615377", + "nom": "Gragnague", + "lat": 43.695951, + "lon": 1.567514 + }, + { + "uic": "87613059", + "stop_area": "stop_area:OCE:SA:87613059", + "nom": "Gramat", + "lat": 44.773549, + "lon": 1.722343 + }, + { + "uic": "87775254", + "stop_area": "stop_area:OCE:SA:87775254", + "nom": "Grand-Combe la Pise", + "lat": 44.209816, + "lon": 4.032959 + }, + { + "uic": "87281311", + "stop_area": "stop_area:OCE:SA:87281311", + "nom": "Grande-Synthe", + "lat": 51.002569, + "lon": 2.313346 + }, + { + "uic": "87721852", + "stop_area": "stop_area:OCE:SA:87721852", + "nom": "Grandris La Folletière", + "lat": 46.03569, + "lon": 4.493623 + }, + { + "uic": "87698290", + "stop_area": "stop_area:OCE:SA:87698290", + "nom": "Grandris-Centre", + "lat": 46.036825, + "lon": 4.472091 + }, + { + "uic": "87184432", + "stop_area": "stop_area:OCE:SA:87184432", + "nom": "Grandvillars", + "lat": 47.53763, + "lon": 6.9785 + }, + { + "uic": "87313734", + "stop_area": "stop_area:OCE:SA:87313734", + "nom": "Grandvilliers", + "lat": 49.659393, + "lon": 1.93854 + }, + { + "uic": "87447680", + "stop_area": "stop_area:OCE:SA:87447680", + "nom": "Granville", + "lat": 48.838322, + "lon": -1.587547 + }, + { + "uic": "87757724", + "stop_area": "stop_area:OCE:SA:87757724", + "nom": "Grasse", + "lat": 43.653344, + "lon": 6.925549 + }, + { + "uic": "87281246", + "stop_area": "stop_area:OCE:SA:87281246", + "nom": "Gravelines", + "lat": 50.978868, + "lon": 2.123312 + }, + { + "uic": "87335521", + "stop_area": "stop_area:OCE:SA:87335521", + "nom": "Grenoble", + "lat": 45.192693, + "lon": 5.714366 + }, + { + "uic": "87747006", + "stop_area": "stop_area:OCE:SA:87747006", + "nom": "Grenoble", + "lat": 45.191491, + "lon": 5.714548 + }, + { + "uic": "87742056", + "stop_area": "stop_area:OCE:SA:87742056", + "nom": "Grenoble Cité Internationale", + "lat": 45.195332, + "lon": 5.710879 + }, + { + "uic": "87697490", + "stop_area": "stop_area:OCE:SA:87697490", + "nom": "Grenoble Europole", + "lat": 45.191241, + "lon": 5.713017 + }, + { + "uic": "87747402", + "stop_area": "stop_area:OCE:SA:87747402", + "nom": "Grenoble Universités - Gières", + "lat": 45.184971, + "lon": 5.784731 + }, + { + "uic": "87697482", + "stop_area": "stop_area:OCE:SA:87697482", + "nom": "Grenoble-Champollion", + "lat": 45.186336, + "lon": 5.725304 + }, + { + "uic": "87697466", + "stop_area": "stop_area:OCE:SA:87697466", + "nom": "Grenoble-Eugène-Chavant", + "lat": 45.172844, + "lon": 5.724751 + }, + { + "uic": "87697474", + "stop_area": "stop_area:OCE:SA:87697474", + "nom": "Grenoble-Victor-Hugo", + "lat": 45.188405, + "lon": 5.724939 + }, + { + "uic": "87214593", + "stop_area": "stop_area:OCE:SA:87214593", + "nom": "Gresswiller", + "lat": 48.53334, + "lon": 7.42468 + }, + { + "uic": "87660589", + "stop_area": "stop_area:OCE:SA:87660589", + "nom": "Gresswiller Abri", + "lat": 48.535956, + "lon": 7.42571 + }, + { + "uic": "87746107", + "stop_area": "stop_area:OCE:SA:87746107", + "nom": "Grésy-sur-Aix", + "lat": 45.724527, + "lon": 5.922146 + }, + { + "uic": "87698308", + "stop_area": "stop_area:OCE:SA:87698308", + "nom": "Grésy-sur-Aix Le Chevret Ondéa", + "lat": 45.723536, + "lon": 5.922275 + }, + { + "uic": "87741611", + "stop_area": "stop_area:OCE:SA:87741611", + "nom": "Grésy-sur-Isère", + "lat": 45.594467, + "lon": 6.258838 + }, + { + "uic": "87450874", + "stop_area": "stop_area:OCE:SA:87450874", + "nom": "Grèzes Séverac-l'Eglise", + "lat": 44.367687, + "lon": 2.851695 + }, + { + "uic": "87763177", + "stop_area": "stop_area:OCE:SA:87763177", + "nom": "Griesbach-le-Bastberg Église", + "lat": 48.815549, + "lon": 7.432742 + }, + { + "uic": "87722298", + "stop_area": "stop_area:OCE:SA:87722298", + "nom": "Grigny le Sablon", + "lat": 45.607139, + "lon": 4.795878 + }, + { + "uic": "87611673", + "stop_area": "stop_area:OCE:SA:87611673", + "nom": "Grisolles", + "lat": 43.827085, + "lon": 1.302396 + }, + { + "uic": "87746248", + "stop_area": "stop_area:OCE:SA:87746248", + "nom": "Groisy - Thorens - La Caille", + "lat": 46.01116, + "lon": 6.175733 + }, + { + "uic": "87199604", + "stop_area": "stop_area:OCE:SA:87199604", + "nom": "Gros-Réderching", + "lat": 49.068036, + "lon": 7.219659 + }, + { + "uic": "87107458", + "stop_area": "stop_area:OCE:SA:87107458", + "nom": "Gudmont-Centre", + "lat": 48.342516, + "lon": 5.136969 + }, + { + "uic": "87678474", + "stop_area": "stop_area:OCE:SA:87678474", + "nom": "Guémar Rond-point Sony", + "lat": 48.190018, + "lon": 7.370849 + }, + { + "uic": "87597609", + "stop_area": "stop_area:OCE:SA:87597609", + "nom": "Guéret", + "lat": 46.174142, + "lon": 1.879131 + }, + { + "uic": "87673459", + "stop_area": "stop_area:OCE:SA:87673459", + "nom": "Guéthary", + "lat": 43.425238, + "lon": -1.609972 + }, + { + "uic": "87471151", + "stop_area": "stop_area:OCE:SA:87471151", + "nom": "Guichen - Bourg-des-Comptes", + "lat": 47.935096, + "lon": -1.760185 + }, + { + "uic": "87171736", + "stop_area": "stop_area:OCE:SA:87171736", + "nom": "Guignicourt", + "lat": 49.434862, + "lon": 3.961334 + }, + { + "uic": "87717389", + "stop_area": "stop_area:OCE:SA:87717389", + "nom": "Guilberville-le Saussey", + "lat": 48.982127, + "lon": -0.954102 + }, + { + "uic": "87545129", + "stop_area": "stop_area:OCE:SA:87545129", + "nom": "Guillerval", + "lat": 48.374745, + "lon": 2.059875 + }, + { + "uic": "87474296", + "stop_area": "stop_area:OCE:SA:87474296", + "nom": "Guimiliau", + "lat": 48.485267, + "lon": -3.999616 + }, + { + "uic": "87473207", + "stop_area": "stop_area:OCE:SA:87473207", + "nom": "Guingamp", + "lat": 48.555659, + "lon": -3.143343 + }, + { + "uic": "87582619", + "stop_area": "stop_area:OCE:SA:87582619", + "nom": "Gujan-Mestras", + "lat": 44.640514, + "lon": -1.069075 + }, + { + "uic": "87213223", + "stop_area": "stop_area:OCE:SA:87213223", + "nom": "Gundershoffen", + "lat": 48.905261, + "lon": 7.653535 + }, + { + "uic": "87407262", + "stop_area": "stop_area:OCE:SA:87407262", + "nom": "Gundershoffen au Cygne", + "lat": 48.90724, + "lon": 7.658643 + }, + { + "uic": "87182386", + "stop_area": "stop_area:OCE:SA:87182386", + "nom": "Gunsbach - Griesbach", + "lat": 48.041544, + "lon": 7.174437 + }, + { + "uic": "87665471", + "stop_area": "stop_area:OCE:SA:87665471", + "nom": "Gunsbach D417", + "lat": 48.042642, + "lon": 7.17419 + }, + { + "uic": "87611970", + "stop_area": "stop_area:OCE:SA:87611970", + "nom": "Guran Artigueplan", + "lat": 42.884874, + "lon": 0.616732 + }, + { + "uic": "87182089", + "stop_area": "stop_area:OCE:SA:87182089", + "nom": "Habsheim", + "lat": 47.737689, + "lon": 7.418008 + }, + { + "uic": "87297523", + "stop_area": "stop_area:OCE:SA:87297523", + "nom": "Hachette", + "lat": 50.158171, + "lon": 3.74306 + }, + { + "uic": "80191049", + "stop_area": "stop_area:OCE:SA:80191049", + "nom": "Hagenbach", + "lat": 49.016, + "lon": 8.253 + }, + { + "uic": "87191114", + "stop_area": "stop_area:OCE:SA:87191114", + "nom": "Hagondange", + "lat": 49.25356, + "lon": 6.16448 + }, + { + "uic": "87742239", + "stop_area": "stop_area:OCE:SA:87742239", + "nom": "Hagondange Ballastière", + "lat": 49.254162, + "lon": 6.162804 + }, + { + "uic": "87213058", + "stop_area": "stop_area:OCE:SA:87213058", + "nom": "Haguenau", + "lat": 48.813486, + "lon": 7.782757 + }, + { + "uic": "87678680", + "stop_area": "stop_area:OCE:SA:87678680", + "nom": "Haguenau Arrêt Ritmo Moulin Neuf", + "lat": 48.815794, + "lon": 7.780509 + }, + { + "uic": "87659847", + "stop_area": "stop_area:OCE:SA:87659847", + "nom": "Haguenau Statuette", + "lat": 48.804194, + "lon": 7.798091 + }, + { + "uic": "87673640", + "stop_area": "stop_area:OCE:SA:87673640", + "nom": "Halsou - Larressore", + "lat": 43.37813, + "lon": -1.4279 + }, + { + "uic": "87565143", + "stop_area": "stop_area:OCE:SA:87565143", + "nom": "Halte de Fontanil - Lycée de Drap", + "lat": 43.764152, + "lon": 7.338854 + }, + { + "uic": "87590331", + "stop_area": "stop_area:OCE:SA:87590331", + "nom": "Haluchère Batignolles Beaujoire", + "lat": 47.249196, + "lon": -1.522475 + }, + { + "uic": "87313494", + "stop_area": "stop_area:OCE:SA:87313494", + "nom": "Ham", + "lat": 49.739855, + "lon": 3.070268 + }, + { + "uic": "87342261", + "stop_area": "stop_area:OCE:SA:87342261", + "nom": "Ham-en-Artois", + "lat": 50.590055, + "lon": 2.46576 + }, + { + "uic": "87193136", + "stop_area": "stop_area:OCE:SA:87193136", + "nom": "Han-sur-Nied Rue Principale", + "lat": 48.990495, + "lon": 6.436339 + }, + { + "uic": "87313114", + "stop_area": "stop_area:OCE:SA:87313114", + "nom": "Hangest-sur-Somme", + "lat": 49.982239, + "lon": 2.065996 + }, + { + "uic": "87700971", + "stop_area": "stop_area:OCE:SA:87700971", + "nom": "Haréville sous Monfort Centre", + "lat": 48.205615, + "lon": 5.999557 + }, + { + "uic": "87413302", + "stop_area": "stop_area:OCE:SA:87413302", + "nom": "Harfleur", + "lat": 49.513617, + "lon": 0.19909 + }, + { + "uic": "87117523", + "stop_area": "stop_area:OCE:SA:87117523", + "nom": "Hargarten-aux-Mines Rue Principale", + "lat": 49.225295, + "lon": 6.609196 + }, + { + "uic": "87313338", + "stop_area": "stop_area:OCE:SA:87313338", + "nom": "Hargicourt - Pierrepont", + "lat": 49.71431, + "lon": 2.531238 + }, + { + "uic": "87192724", + "stop_area": "stop_area:OCE:SA:87192724", + "nom": "Hatrize", + "lat": 49.193936, + "lon": 5.907426 + }, + { + "uic": "87742254", + "stop_area": "stop_area:OCE:SA:87742254", + "nom": "Hatrize Centre", + "lat": 49.192222, + "lon": 5.907748 + }, + { + "uic": "87286096", + "stop_area": "stop_area:OCE:SA:87286096", + "nom": "Haubourdin", + "lat": 50.60707, + "lon": 2.990145 + }, + { + "uic": "87295568", + "stop_area": "stop_area:OCE:SA:87295568", + "nom": "Hautmont", + "lat": 50.253993, + "lon": 3.915207 + }, + { + "uic": "87191239", + "stop_area": "stop_area:OCE:SA:87191239", + "nom": "Hayange", + "lat": 49.330408, + "lon": 6.073125 + }, + { + "uic": "87172106", + "stop_area": "stop_area:OCE:SA:87172106", + "nom": "Haybes", + "lat": 50.011689, + "lon": 4.704538 + }, + { + "uic": "87286302", + "stop_area": "stop_area:OCE:SA:87286302", + "nom": "Hazebrouck", + "lat": 50.724924, + "lon": 2.541463 + }, + { + "uic": "87214627", + "stop_area": "stop_area:OCE:SA:87214627", + "nom": "Heiligenberg - Mollkirch", + "lat": 48.52747, + "lon": 7.381576 + }, + { + "uic": "87316398", + "stop_area": "stop_area:OCE:SA:87316398", + "nom": "Heilles - Mouchy", + "lat": 49.340507, + "lon": 2.272494 + }, + { + "uic": "87316059", + "stop_area": "stop_area:OCE:SA:87316059", + "nom": "Heilly", + "lat": 49.943356, + "lon": 2.539521 + }, + { + "uic": "87286062", + "stop_area": "stop_area:OCE:SA:87286062", + "nom": "Hellemmes", + "lat": 50.622635, + "lon": 3.114932 + }, + { + "uic": "87215145", + "stop_area": "stop_area:OCE:SA:87215145", + "nom": "Heming Mairie", + "lat": 48.693531, + "lon": 6.963884 + }, + { + "uic": "87677005", + "stop_area": "stop_area:OCE:SA:87677005", + "nom": "Hendaye", + "lat": 43.353132, + "lon": -1.781724 + }, + { + "uic": "87345157", + "stop_area": "stop_area:OCE:SA:87345157", + "nom": "Hénin-Beaumont", + "lat": 50.417084, + "lon": 2.952082 + }, + { + "uic": "87476259", + "stop_area": "stop_area:OCE:SA:87476259", + "nom": "Hennebont", + "lat": 47.79913, + "lon": -3.285796 + }, + { + "uic": "87717751", + "stop_area": "stop_area:OCE:SA:87717751", + "nom": "Herbitzheim Mairie", + "lat": 49.01705, + "lon": 7.082943 + }, + { + "uic": "87717769", + "stop_area": "stop_area:OCE:SA:87717769", + "nom": "Herbitzheim Msp", + "lat": 49.012883, + "lon": 7.081511 + }, + { + "uic": "87728592", + "stop_area": "stop_area:OCE:SA:87728592", + "nom": "Herbitzheim Rue de Hambach", + "lat": 49.021414, + "lon": 7.076665 + }, + { + "uic": "87313692", + "stop_area": "stop_area:OCE:SA:87313692", + "nom": "Herchies", + "lat": 49.488061, + "lon": 2.010646 + }, + { + "uic": "87184507", + "stop_area": "stop_area:OCE:SA:87184507", + "nom": "Héricourt", + "lat": 47.572971, + "lon": 6.769388 + }, + { + "uic": "87313585", + "stop_area": "stop_area:OCE:SA:87313585", + "nom": "Hermes - Berthecourt", + "lat": 49.354439, + "lon": 2.2419 + }, + { + "uic": "87193383", + "stop_area": "stop_area:OCE:SA:87193383", + "nom": "Herny", + "lat": 49.003632, + "lon": 6.476856 + }, + { + "uic": "87212340", + "stop_area": "stop_area:OCE:SA:87212340", + "nom": "Herrlisheim", + "lat": 48.72792, + "lon": 7.910146 + }, + { + "uic": "87182329", + "stop_area": "stop_area:OCE:SA:87182329", + "nom": "Herrlisheim-près-Colmar", + "lat": 48.016572, + "lon": 7.320888 + }, + { + "uic": "87117689", + "stop_area": "stop_area:OCE:SA:87117689", + "nom": "Hertzing Centre", + "lat": 48.686449, + "lon": 6.950784 + }, + { + "uic": "87317107", + "stop_area": "stop_area:OCE:SA:87317107", + "nom": "Hesdigneul", + "lat": 50.661076, + "lon": 1.667119 + }, + { + "uic": "87317222", + "stop_area": "stop_area:OCE:SA:87317222", + "nom": "Hesdin", + "lat": 50.378181, + "lon": 2.0353 + }, + { + "uic": "87117499", + "stop_area": "stop_area:OCE:SA:87117499", + "nom": "Hestroff Eglise", + "lat": 49.262268, + "lon": 6.433667 + }, + { + "uic": "87191163", + "stop_area": "stop_area:OCE:SA:87191163", + "nom": "Hettange-Grande", + "lat": 49.407685, + "lon": 6.156759 + }, + { + "uic": "87295063", + "stop_area": "stop_area:OCE:SA:87295063", + "nom": "Hirson", + "lat": 49.914558, + "lon": 4.084285 + }, + { + "uic": "87324335", + "stop_area": "stop_area:OCE:SA:87324335", + "nom": "Hirson Écoles", + "lat": 49.928848, + "lon": 4.086152 + }, + { + "uic": "87212167", + "stop_area": "stop_area:OCE:SA:87212167", + "nom": "Hochfelden", + "lat": 48.755416, + "lon": 7.572281 + }, + { + "uic": "87213413", + "stop_area": "stop_area:OCE:SA:87213413", + "nom": "Hoelschloch-Surbourg", + "lat": 48.916318, + "lon": 7.831509 + }, + { + "uic": "87338517", + "stop_area": "stop_area:OCE:SA:87338517", + "nom": "Hoenheim Tram", + "lat": 48.628622, + "lon": 7.758123 + }, + { + "uic": "87213686", + "stop_area": "stop_area:OCE:SA:87213686", + "nom": "Hoerdt", + "lat": 48.70296, + "lon": 7.779415 + }, + { + "uic": "87659763", + "stop_area": "stop_area:OCE:SA:87659763", + "nom": "Hoerdt Mairie", + "lat": 48.69819, + "lon": 7.784133 + }, + { + "uic": "87659755", + "stop_area": "stop_area:OCE:SA:87659755", + "nom": "Hoerdt Maison de Retraite", + "lat": 48.692017, + "lon": 7.782193 + }, + { + "uic": "87213447", + "stop_area": "stop_area:OCE:SA:87213447", + "nom": "Hoffen", + "lat": 48.931235, + "lon": 7.933532 + }, + { + "uic": "87192146", + "stop_area": "stop_area:OCE:SA:87192146", + "nom": "Holacourt Rue Principale", + "lat": 48.97262, + "lon": 6.515158 + }, + { + "uic": "87406777", + "stop_area": "stop_area:OCE:SA:87406777", + "nom": "Hombourg Chapelle", + "lat": 49.295863, + "lon": 6.343475 + }, + { + "uic": "87406793", + "stop_area": "stop_area:OCE:SA:87406793", + "nom": "Hombourg Tilleuls", + "lat": 49.297728, + "lon": 6.339154 + }, + { + "uic": "87193276", + "stop_area": "stop_area:OCE:SA:87193276", + "nom": "Hombourg-Haut", + "lat": 49.126109, + "lon": 6.77427 + }, + { + "uic": "87191692", + "stop_area": "stop_area:OCE:SA:87191692", + "nom": "Homécourt", + "lat": 49.218291, + "lon": 5.999031 + }, + { + "uic": "87693325", + "stop_area": "stop_area:OCE:SA:87693325", + "nom": "Honfleur-Normandie", + "lat": 49.418557, + "lon": 0.238615 + }, + { + "uic": "87141473", + "stop_area": "stop_area:OCE:SA:87141473", + "nom": "Houdemont", + "lat": 48.645525, + "lon": 6.179726 + }, + { + "uic": "87444406", + "stop_area": "stop_area:OCE:SA:87444406", + "nom": "Houlgate", + "lat": 49.300195, + "lon": -0.077355 + }, + { + "uic": "88718296", + "stop_area": "stop_area:OCE:SA:88718296", + "nom": "HOURPES", + "lat": 50.3637, + "lon": 4.3087 + }, + { + "uic": "82002501", + "stop_area": "stop_area:OCE:SA:82002501", + "nom": "Howald", + "lat": 49.58032, + "lon": 6.13232 + }, + { + "uic": "87193540", + "stop_area": "stop_area:OCE:SA:87193540", + "nom": "Hundling Hôtel de Ville", + "lat": 49.106649, + "lon": 6.977531 + }, + { + "uic": "87748376", + "stop_area": "stop_area:OCE:SA:87748376", + "nom": "Hundling Hôtel de Ville", + "lat": 49.107585, + "lon": 6.98149 + }, + { + "uic": "87737718", + "stop_area": "stop_area:OCE:SA:87737718", + "nom": "Hundling Stade", + "lat": 49.107769, + "lon": 6.981527 + }, + { + "uic": "87641217", + "stop_area": "stop_area:OCE:SA:87641217", + "nom": "Huriel", + "lat": 46.371341, + "lon": 2.476249 + }, + { + "uic": "87755629", + "stop_area": "stop_area:OCE:SA:87755629", + "nom": "Hyères", + "lat": 43.108902, + "lon": 6.124207 + }, + { + "uic": "87700963", + "stop_area": "stop_area:OCE:SA:87700963", + "nom": "Hymont Mairie", + "lat": 48.265629, + "lon": 6.142194 + }, + { + "uic": "87144089", + "stop_area": "stop_area:OCE:SA:87144089", + "nom": "Igney", + "lat": 48.270747, + "lon": 6.39969 + }, + { + "uic": "87215103", + "stop_area": "stop_area:OCE:SA:87215103", + "nom": "Igney - Avricourt", + "lat": 48.646701, + "lon": 6.805306 + }, + { + "uic": "87407064", + "stop_area": "stop_area:OCE:SA:87407064", + "nom": "Igney Mairie", + "lat": 48.633706, + "lon": 6.813052 + }, + { + "uic": "87784561", + "stop_area": "stop_area:OCE:SA:87784561", + "nom": "Ille-sur-Têt", + "lat": 42.66824, + "lon": 2.624286 + }, + { + "uic": "87182204", + "stop_area": "stop_area:OCE:SA:87182204", + "nom": "Illfurth", + "lat": 47.676432, + "lon": 7.268571 + }, + { + "uic": "87654558", + "stop_area": "stop_area:OCE:SA:87654558", + "nom": "Illfurth Croisement Gare-CD68", + "lat": 47.674465, + "lon": 7.266448 + }, + { + "uic": "87394437", + "stop_area": "stop_area:OCE:SA:87394437", + "nom": "Illiers-Combray", + "lat": 48.304009, + "lon": 1.24492 + }, + { + "uic": "87696450", + "stop_area": "stop_area:OCE:SA:87696450", + "nom": "Imphy", + "lat": 46.933402, + "lon": 3.259737 + }, + { + "uic": "87499939", + "stop_area": "stop_area:OCE:SA:87499939", + "nom": "Imphy Grand Vernay", + "lat": 46.912, + "lon": 3.2785 + }, + { + "uic": "87499954", + "stop_area": "stop_area:OCE:SA:87499954", + "nom": "Imphy Square Lamartine", + "lat": 46.9262, + "lon": 3.2647 + }, + { + "uic": "87303875", + "stop_area": "stop_area:OCE:SA:87303875", + "nom": "Ingersheim Cité Scolaire", + "lat": 48.088889, + "lon": 7.297674 + }, + { + "uic": "87665265", + "stop_area": "stop_area:OCE:SA:87665265", + "nom": "Ingersheim Lycée R. Turckheim", + "lat": 48.09179, + "lon": 7.297819 + }, + { + "uic": "87665356", + "stop_area": "stop_area:OCE:SA:87665356", + "nom": "Ingersheim Place du Général de Gaulle", + "lat": 48.094219, + "lon": 7.306305 + }, + { + "uic": "87660340", + "stop_area": "stop_area:OCE:SA:87660340", + "nom": "Ingolsheim Centre", + "lat": 48.974765, + "lon": 7.937294 + }, + { + "uic": "87484360", + "stop_area": "stop_area:OCE:SA:87484360", + "nom": "Ingrandes", + "lat": 47.405929, + "lon": -0.920832 + }, + { + "uic": "87575134", + "stop_area": "stop_area:OCE:SA:87575134", + "nom": "Ingrandes sur Vienne", + "lat": 46.875154, + "lon": 0.569763 + }, + { + "uic": "87213785", + "stop_area": "stop_area:OCE:SA:87213785", + "nom": "Ingwiller", + "lat": 48.872407, + "lon": 7.477162 + }, + { + "uic": "80194308", + "stop_area": "stop_area:OCE:SA:80194308", + "nom": "Insheim", + "lat": 49.15724, + "lon": 8.15214 + }, + { + "uic": "87193565", + "stop_area": "stop_area:OCE:SA:87193565", + "nom": "Ippling Rue de Sarreguemines", + "lat": 49.106359, + "lon": 7.004908 + }, + { + "uic": "87722249", + "stop_area": "stop_area:OCE:SA:87722249", + "nom": "Irigny - Yvours", + "lat": 45.690023, + "lon": 4.832305 + }, + { + "uic": "87713859", + "stop_area": "stop_area:OCE:SA:87713859", + "nom": "Is-sur-Tille", + "lat": 47.520454, + "lon": 5.129481 + }, + { + "uic": "87481622", + "stop_area": "stop_area:OCE:SA:87481622", + "nom": "Issé", + "lat": 47.627019, + "lon": -1.450442 + }, + { + "uic": "87734202", + "stop_area": "stop_area:OCE:SA:87734202", + "nom": "Issoire", + "lat": 45.543949, + "lon": 3.25404 + }, + { + "uic": "87395665", + "stop_area": "stop_area:OCE:SA:87395665", + "nom": "Issoire Lycée Deville", + "lat": 45.539947, + "lon": 3.258023 + }, + { + "uic": "87395673", + "stop_area": "stop_area:OCE:SA:87395673", + "nom": "Issoire Lycée Murat", + "lat": 45.55041, + "lon": 3.249955 + }, + { + "uic": "87597062", + "stop_area": "stop_area:OCE:SA:87597062", + "nom": "Issoudun", + "lat": 46.948696, + "lon": 1.985741 + }, + { + "uic": "87753418", + "stop_area": "stop_area:OCE:SA:87753418", + "nom": "Istres", + "lat": 43.515428, + "lon": 4.98043 + }, + { + "uic": "87577403", + "stop_area": "stop_area:OCE:SA:87577403", + "nom": "Iteuil", + "lat": 46.484122, + "lon": 0.31683 + }, + { + "uic": "87673665", + "stop_area": "stop_area:OCE:SA:87673665", + "nom": "Itxassou", + "lat": 43.324118, + "lon": -1.39562 + }, + { + "uic": "87345397", + "stop_area": "stop_area:OCE:SA:87345397", + "nom": "Iwuy", + "lat": 50.225853, + "lon": 3.329875 + }, + { + "uic": "87471334", + "stop_area": "stop_area:OCE:SA:87471334", + "nom": "Janzé", + "lat": 47.955308, + "lon": -1.497627 + }, + { + "uic": "87491472", + "stop_area": "stop_area:OCE:SA:87491472", + "nom": "Jarnac", + "lat": 45.671147, + "lon": -0.17736 + }, + { + "uic": "87747535", + "stop_area": "stop_area:OCE:SA:87747535", + "nom": "Jarrie - Vizille", + "lat": 45.085439, + "lon": 5.742357 + }, + { + "uic": "87141010", + "stop_area": "stop_area:OCE:SA:87141010", + "nom": "Jarville-la-Malgrange", + "lat": 48.669712, + "lon": 6.202401 + }, + { + "uic": "87594085", + "stop_area": "stop_area:OCE:SA:87594085", + "nom": "Jassonneix", + "lat": 45.543481, + "lon": 2.139381 + }, + { + "uic": "87575217", + "stop_area": "stop_area:OCE:SA:87575217", + "nom": "Jaunay-Clan", + "lat": 46.682057, + "lon": 0.381684 + }, + { + "uic": "87272013", + "stop_area": "stop_area:OCE:SA:87272013", + "nom": "Jaux", + "lat": 49.386448, + "lon": 2.777299 + }, + { + "uic": "87279919", + "stop_area": "stop_area:OCE:SA:87279919", + "nom": "Jessains Église", + "lat": 48.296961, + "lon": 4.577807 + }, + { + "uic": "87117929", + "stop_area": "stop_area:OCE:SA:87117929", + "nom": "Jeugny Église", + "lat": 48.130244, + "lon": 4.036081 + }, + { + "uic": "87295014", + "stop_area": "stop_area:OCE:SA:87295014", + "nom": "Jeumont", + "lat": 50.296149, + "lon": 4.08722 + }, + { + "uic": "87191700", + "stop_area": "stop_area:OCE:SA:87191700", + "nom": "Joeuf", + "lat": 49.225008, + "lon": 6.017702 + }, + { + "uic": "87683243", + "stop_area": "stop_area:OCE:SA:87683243", + "nom": "Joigny", + "lat": 47.973855, + "lon": 3.392997 + }, + { + "uic": "87172031", + "stop_area": "stop_area:OCE:SA:87172031", + "nom": "Joigny-sur-Meuse", + "lat": 49.833681, + "lon": 4.767239 + }, + { + "uic": "87175091", + "stop_area": "stop_area:OCE:SA:87175091", + "nom": "Joinville", + "lat": 48.44433, + "lon": 5.143259 + }, + { + "uic": "87784710", + "stop_area": "stop_area:OCE:SA:87784710", + "nom": "Joncet", + "lat": 42.561524, + "lon": 2.311146 + }, + { + "uic": "87700153", + "stop_area": "stop_area:OCE:SA:87700153", + "nom": "Joncherey", + "lat": 47.526217, + "lon": 6.998642 + }, + { + "uic": "87171314", + "stop_area": "stop_area:OCE:SA:87171314", + "nom": "Jonchery-sur-Vesle", + "lat": 49.290057, + "lon": 3.819422 + }, + { + "uic": "87491142", + "stop_area": "stop_area:OCE:SA:87491142", + "nom": "Jonzac", + "lat": 45.438746, + "lon": -0.44164 + }, + { + "uic": "87571885", + "stop_area": "stop_area:OCE:SA:87571885", + "nom": "Joué-lès-Tours", + "lat": 47.354174, + "lon": 0.667559 + }, + { + "uic": "87715524", + "stop_area": "stop_area:OCE:SA:87715524", + "nom": "Jougne", + "lat": 46.75935, + "lon": 6.388285 + }, + { + "uic": "87394155", + "stop_area": "stop_area:OCE:SA:87394155", + "nom": "Jouy", + "lat": 48.510247, + "lon": 1.557462 + }, + { + "uic": "87746917", + "stop_area": "stop_area:OCE:SA:87746917", + "nom": "Jouy Gare Routière", + "lat": 48.510217, + "lon": 1.557323 + }, + { + "uic": "87757666", + "stop_area": "stop_area:OCE:SA:87757666", + "nom": "Juan les Pins", + "lat": 43.570939, + "lon": 7.111472 + }, + { + "uic": "87721696", + "stop_area": "stop_area:OCE:SA:87721696", + "nom": "Jumeaux", + "lat": 45.430201, + "lon": 3.339211 + }, + { + "uic": "87711713", + "stop_area": "stop_area:OCE:SA:87711713", + "nom": "Juvancourt", + "lat": 48.114344, + "lon": 4.799996 + }, + { + "uic": "87545244", + "stop_area": "stop_area:OCE:SA:87545244", + "nom": "Juvisy", + "lat": 48.68917, + "lon": 2.38267 + }, + { + "uic": "80196980", + "stop_area": "stop_area:OCE:SA:80196980", + "nom": "Kaiserslautern Hbf", + "lat": 49.4359, + "lon": 7.7688 + }, + { + "uic": "87193664", + "stop_area": "stop_area:OCE:SA:87193664", + "nom": "Kalhausen Gare", + "lat": 49.035033, + "lon": 7.125438 + }, + { + "uic": "87659821", + "stop_area": "stop_area:OCE:SA:87659821", + "nom": "Kaltenhouse Rue de Bischwiller", + "lat": 48.789926, + "lon": 7.836572 + }, + { + "uic": "80197871", + "stop_area": "stop_area:OCE:SA:80197871", + "nom": "Kapsweyer", + "lat": 49.038889, + "lon": 8.022222 + }, + { + "uic": "80142281", + "stop_area": "stop_area:OCE:SA:80142281", + "nom": "Karlsruhe Hbf", + "lat": 48.9935, + "lon": 8.4019 + }, + { + "uic": "87406801", + "stop_area": "stop_area:OCE:SA:87406801", + "nom": "Kédange Église", + "lat": 49.308345, + "lon": 6.33836 + }, + { + "uic": "87191346", + "stop_area": "stop_area:OCE:SA:87191346", + "nom": "Kédange Gare", + "lat": 49.305855, + "lon": 6.332512 + }, + { + "uic": "80142927", + "stop_area": "stop_area:OCE:SA:80142927", + "nom": "Kehl", + "lat": 48.5767, + "lon": 7.8063 + }, + { + "uic": "87159947", + "stop_area": "stop_area:OCE:SA:87159947", + "nom": "Ker Lann", + "lat": 48.042986, + "lon": -1.739831 + }, + { + "uic": "87476432", + "stop_area": "stop_area:OCE:SA:87476432", + "nom": "Kerhostin", + "lat": 47.53619, + "lon": -3.136509 + }, + { + "uic": "87474213", + "stop_area": "stop_area:OCE:SA:87474213", + "nom": "Kerhuon", + "lat": 48.409537, + "lon": -4.388309 + }, + { + "uic": "87215491", + "stop_area": "stop_area:OCE:SA:87215491", + "nom": "Keskastel Gare", + "lat": 48.966364, + "lon": 7.050139 + }, + { + "uic": "87730994", + "stop_area": "stop_area:OCE:SA:87730994", + "nom": "Keskastel Rue de la Libération", + "lat": 48.977149, + "lon": 7.046092 + }, + { + "uic": "87212324", + "stop_area": "stop_area:OCE:SA:87212324", + "nom": "Kilstett", + "lat": 48.679287, + "lon": 7.854769 + }, + { + "uic": "87658948", + "stop_area": "stop_area:OCE:SA:87658948", + "nom": "Kilstett 13 Route Nationale", + "lat": 48.679225, + "lon": 7.855337 + }, + { + "uic": "87643411", + "stop_area": "stop_area:OCE:SA:87643411", + "nom": "Kintzheim Mairie", + "lat": 48.254552, + "lon": 7.394972 + }, + { + "uic": "80194233", + "stop_area": "stop_area:OCE:SA:80194233", + "nom": "Knöringen-Essingen", + "lat": 49.2375, + "lon": 8.148334 + }, + { + "uic": "87191619", + "stop_area": "stop_area:OCE:SA:87191619", + "nom": "Koenigsmacker", + "lat": 49.396554, + "lon": 6.27355 + }, + { + "uic": "87635821", + "stop_area": "stop_area:OCE:SA:87635821", + "nom": "Koenigsmacker Centre", + "lat": 49.396417, + "lon": 6.27991 + }, + { + "uic": "87703694", + "stop_area": "stop_area:OCE:SA:87703694", + "nom": "Koenigsmacker Metrich École", + "lat": 49.407556, + "lon": 6.2978 + }, + { + "uic": "87214114", + "stop_area": "stop_area:OCE:SA:87214114", + "nom": "Kogenheim", + "lat": 48.33879, + "lon": 7.535288 + }, + { + "uic": "80251850", + "stop_area": "stop_area:OCE:SA:80251850", + "nom": "Konz Mitte", + "lat": 49.700046, + "lon": 6.57329 + }, + { + "uic": "80142919", + "stop_area": "stop_area:OCE:SA:80142919", + "nom": "Kork", + "lat": 48.5702, + "lon": 7.8744 + }, + { + "uic": "87338525", + "stop_area": "stop_area:OCE:SA:87338525", + "nom": "Krimmeri Meinau", + "lat": 48.563644, + "lon": 7.752614 + }, + { + "uic": "87182642", + "stop_area": "stop_area:OCE:SA:87182642", + "nom": "Kruth", + "lat": 47.92396, + "lon": 6.969094 + }, + { + "uic": "87406819", + "stop_area": "stop_area:OCE:SA:87406819", + "nom": "Kuntzig Bibiche", + "lat": 49.343873, + "lon": 6.24297 + }, + { + "uic": "87406827", + "stop_area": "stop_area:OCE:SA:87406827", + "nom": "Kuntzig Place de la Liberté", + "lat": 49.34721, + "lon": 6.237059 + }, + { + "uic": "87213660", + "stop_area": "stop_area:OCE:SA:87213660", + "nom": "Kurtzenhouse", + "lat": 48.741894, + "lon": 7.813039 + }, + { + "uic": "87659797", + "stop_area": "stop_area:OCE:SA:87659797", + "nom": "Kurtzenhouse 71 Route Principale", + "lat": 48.742614, + "lon": 7.812572 + }, + { + "uic": "87659789", + "stop_area": "stop_area:OCE:SA:87659789", + "nom": "Kurtzenhouse Mairie", + "lat": 48.739129, + "lon": 7.806639 + }, + { + "uic": "87444638", + "stop_area": "stop_area:OCE:SA:87444638", + "nom": "L'Aigle", + "lat": 48.766229, + "lon": 0.620014 + }, + { + "uic": "87592634", + "stop_area": "stop_area:OCE:SA:87592634", + "nom": "L'Aiguille", + "lat": 45.778372, + "lon": 1.205044 + }, + { + "uic": "87721431", + "stop_area": "stop_area:OCE:SA:87721431", + "nom": "L'Arbresle", + "lat": 45.833285, + "lon": 4.618262 + }, + { + "uic": "87763557", + "stop_area": "stop_area:OCE:SA:87763557", + "nom": "L'Argentière les Écrins", + "lat": 44.791013, + "lon": 6.556408 + }, + { + "uic": "87751529", + "stop_area": "stop_area:OCE:SA:87751529", + "nom": "L'Ariane La Trinité", + "lat": 43.734399, + "lon": 7.302478 + }, + { + "uic": "87756809", + "stop_area": "stop_area:OCE:SA:87756809", + "nom": "L'Escarène", + "lat": 43.839743, + "lon": 7.351779 + }, + { + "uic": "87751602", + "stop_area": "stop_area:OCE:SA:87751602", + "nom": "L'Estaque", + "lat": 43.363646, + "lon": 5.321342 + }, + { + "uic": "87503524", + "stop_area": "stop_area:OCE:SA:87503524", + "nom": "L'Habitarelle", + "lat": 44.640567, + "lon": 3.675259 + }, + { + "uic": "87486126", + "stop_area": "stop_area:OCE:SA:87486126", + "nom": "L'Herbergement - Les Brouzils", + "lat": 46.906946, + "lon": -1.371279 + }, + { + "uic": "87471060", + "stop_area": "stop_area:OCE:SA:87471060", + "nom": "L'Hermitage - Mordelles", + "lat": 48.123282, + "lon": -1.81921 + }, + { + "uic": "87718528", + "stop_area": "stop_area:OCE:SA:87718528", + "nom": "L'Hôpital-du-Grosbois", + "lat": 47.169212, + "lon": 6.21327 + }, + { + "uic": "87761239", + "stop_area": "stop_area:OCE:SA:87761239", + "nom": "L'Isle-d'Abeau", + "lat": 45.607647, + "lon": 5.219598 + }, + { + "uic": "87611806", + "stop_area": "stop_area:OCE:SA:87611806", + "nom": "L'Isle-Jourdain", + "lat": 43.617185, + "lon": 1.089829 + }, + { + "uic": "87184572", + "stop_area": "stop_area:OCE:SA:87184572", + "nom": "L'Isle-sur-le-Doubs", + "lat": 47.447378, + "lon": 6.581261 + }, + { + "uic": "87765479", + "stop_area": "stop_area:OCE:SA:87765479", + "nom": "L'Isle-sur-Sorgue - Fontaine-V", + "lat": 43.917398, + "lon": 5.047606 + }, + { + "uic": "87476275", + "stop_area": "stop_area:OCE:SA:87476275", + "nom": "L'Isthme", + "lat": 47.546505, + "lon": -3.133699 + }, + { + "uic": "87635581", + "stop_area": "stop_area:OCE:SA:87635581", + "nom": "La Barasse", + "lat": 43.285319, + "lon": 5.482365 + }, + { + "uic": "87481069", + "stop_area": "stop_area:OCE:SA:87481069", + "nom": "La Basse Indre - Saint-Herblain", + "lat": 47.204116, + "lon": -1.660531 + }, + { + "uic": "87342436", + "stop_area": "stop_area:OCE:SA:87342436", + "nom": "La Bassée", + "lat": 50.527937, + "lon": 2.80477 + }, + { + "uic": "87775171", + "stop_area": "stop_area:OCE:SA:87775171", + "nom": "La Bastide-St-Laurent-les-B.", + "lat": 44.593483, + "lon": 3.904285 + }, + { + "uic": "87741678", + "stop_area": "stop_area:OCE:SA:87741678", + "nom": "La Bathie", + "lat": 45.630508, + "lon": 6.445101 + }, + { + "uic": "87481697", + "stop_area": "stop_area:OCE:SA:87481697", + "nom": "La Baule les Pins", + "lat": 47.28345, + "lon": -2.364885 + }, + { + "uic": "87481754", + "stop_area": "stop_area:OCE:SA:87481754", + "nom": "La Baule-Escoublac", + "lat": 47.288459, + "lon": -2.38921 + }, + { + "uic": "87481267", + "stop_area": "stop_area:OCE:SA:87481267", + "nom": "La Bernerie-en-Retz", + "lat": 47.083162, + "lon": -2.03377 + }, + { + "uic": "87487843", + "stop_area": "stop_area:OCE:SA:87487843", + "nom": "La Bohalle", + "lat": 47.434229, + "lon": -0.400124 + }, + { + "uic": "87387142", + "stop_area": "stop_area:OCE:SA:87387142", + "nom": "La Bonneville-sur-Iton", + "lat": 48.988464, + "lon": 1.035073 + }, + { + "uic": "87297085", + "stop_area": "stop_area:OCE:SA:87297085", + "nom": "La Bouteille", + "lat": 49.859729, + "lon": 3.981616 + }, + { + "uic": "87741447", + "stop_area": "stop_area:OCE:SA:87741447", + "nom": "La Bridoire", + "lat": 45.53104, + "lon": 5.742902 + }, + { + "uic": "87756874", + "stop_area": "stop_area:OCE:SA:87756874", + "nom": "La Brigue", + "lat": 44.062611, + "lon": 7.605575 + }, + { + "uic": "87751271", + "stop_area": "stop_area:OCE:SA:87751271", + "nom": "La Brillanne - Oraison", + "lat": 43.924823, + "lon": 5.892371 + }, + { + "uic": "87471094", + "stop_area": "stop_area:OCE:SA:87471094", + "nom": "La Brohinière", + "lat": 48.213472, + "lon": -2.110452 + }, + { + "uic": "87486308", + "stop_area": "stop_area:OCE:SA:87486308", + "nom": "La Chaize-le-Vicomte", + "lat": 46.67684, + "lon": -1.283601 + }, + { + "uic": "87697698", + "stop_area": "stop_area:OCE:SA:87697698", + "nom": "La Chambre", + "lat": 45.359174, + "lon": 6.299657 + }, + { + "uic": "87590364", + "stop_area": "stop_area:OCE:SA:87590364", + "nom": "La Chapelle - Aulnay", + "lat": 47.308545, + "lon": -1.541508 + }, + { + "uic": "87481564", + "stop_area": "stop_area:OCE:SA:87481564", + "nom": "La Chapelle Centre", + "lat": 47.297692, + "lon": -1.547956 + }, + { + "uic": "87543371", + "stop_area": "stop_area:OCE:SA:87543371", + "nom": "La Chapelle-Saint-Mesmin", + "lat": 47.892935, + "lon": 1.826981 + }, + { + "uic": "87699009", + "stop_area": "stop_area:OCE:SA:87699009", + "nom": "La Chapelle-sous-Dun", + "lat": 46.260405, + "lon": 4.293466 + }, + { + "uic": "87571802", + "stop_area": "stop_area:OCE:SA:87571802", + "nom": "La Chapelle-sur-Loire", + "lat": 47.251227, + "lon": 0.218481 + }, + { + "uic": "87696195", + "stop_area": "stop_area:OCE:SA:87696195", + "nom": "La Charité-sur-Loire", + "lat": 47.179914, + "lon": 3.023883 + }, + { + "uic": "87715391", + "stop_area": "stop_area:OCE:SA:87715391", + "nom": "La Chaumusse - Fort-du-Plasne", + "lat": 46.604912, + "lon": 5.961419 + }, + { + "uic": "87574251", + "stop_area": "stop_area:OCE:SA:87574251", + "nom": "La Chaussée-Saint-Victor", + "lat": 47.612517, + "lon": 1.353372 + }, + { + "uic": "85043141", + "stop_area": "stop_area:OCE:SA:85043141", + "nom": "La Chaux-de-Fonds", + "lat": 47.09865, + "lon": 6.82603 + }, + { + "uic": "85043216", + "stop_area": "stop_area:OCE:SA:85043216", + "nom": "La Chaux-de-Fonds Les Forges", + "lat": 47.091404, + "lon": 6.812825 + }, + { + "uic": "87715383", + "stop_area": "stop_area:OCE:SA:87715383", + "nom": "La Chaux-des-Crotenay", + "lat": 46.654591, + "lon": 5.94384 + }, + { + "uic": "87407692", + "stop_area": "stop_area:OCE:SA:87407692", + "nom": "La Chomette", + "lat": 45.229495, + "lon": 3.474501 + }, + { + "uic": "87751784", + "stop_area": "stop_area:OCE:SA:87751784", + "nom": "La Ciotat-Ceyreste", + "lat": 43.199602, + "lon": 5.632741 + }, + { + "uic": "87694737", + "stop_area": "stop_area:OCE:SA:87694737", + "nom": "La Clayette - Baudemont", + "lat": 46.288148, + "lon": 4.298436 + }, + { + "uic": "87592501", + "stop_area": "stop_area:OCE:SA:87592501", + "nom": "La Coquille", + "lat": 45.540778, + "lon": 0.974417 + }, + { + "uic": "87753541", + "stop_area": "stop_area:OCE:SA:87753541", + "nom": "La Couronne Carro", + "lat": 43.339853, + "lon": 5.051718 + }, + { + "uic": "87583617", + "stop_area": "stop_area:OCE:SA:87583617", + "nom": "La Couronne Charente", + "lat": 45.604785, + "lon": 0.101235 + }, + { + "uic": "87755611", + "stop_area": "stop_area:OCE:SA:87755611", + "nom": "La Crau", + "lat": 43.144949, + "lon": 6.068664 + }, + { + "uic": "87485474", + "stop_area": "stop_area:OCE:SA:87485474", + "nom": "La Crèche", + "lat": 46.36044, + "lon": -0.296204 + }, + { + "uic": "87481689", + "stop_area": "stop_area:OCE:SA:87481689", + "nom": "La Croix de Méan", + "lat": 47.300604, + "lon": -2.192942 + }, + { + "uic": "87009696", + "stop_area": "stop_area:OCE:SA:87009696", + "nom": "La Douzillère", + "lat": 47.338792, + "lon": 0.652962 + }, + { + "uic": "87313239", + "stop_area": "stop_area:OCE:SA:87313239", + "nom": "La Faloise", + "lat": 49.696476, + "lon": 2.348668 + }, + { + "uic": "87296632", + "stop_area": "stop_area:OCE:SA:87296632", + "nom": "La Fère", + "lat": 49.658015, + "lon": 3.369817 + }, + { + "uic": "87396325", + "stop_area": "stop_area:OCE:SA:87396325", + "nom": "La Ferté-Bernard", + "lat": 48.186527, + "lon": 0.63938 + }, + { + "uic": "87576082", + "stop_area": "stop_area:OCE:SA:87576082", + "nom": "La Ferté-Imbault", + "lat": 47.383743, + "lon": 1.957994 + }, + { + "uic": "87543124", + "stop_area": "stop_area:OCE:SA:87543124", + "nom": "La Ferté-Saint-Aubin", + "lat": 47.721008, + "lon": 1.932344 + }, + { + "uic": "87116517", + "stop_area": "stop_area:OCE:SA:87116517", + "nom": "La Ferté-sous-Jouarre", + "lat": 48.95078, + "lon": 3.125466 + }, + { + "uic": "87173401", + "stop_area": "stop_area:OCE:SA:87173401", + "nom": "La Ferté-sur-Chiers", + "lat": 49.574639, + "lon": 5.242653 + }, + { + "uic": "87286427", + "stop_area": "stop_area:OCE:SA:87286427", + "nom": "La Fontaine", + "lat": 50.566305, + "lon": 2.926108 + }, + { + "uic": "87474221", + "stop_area": "stop_area:OCE:SA:87474221", + "nom": "La Forest-Landerneau", + "lat": 48.426374, + "lon": -4.307151 + }, + { + "uic": "87440016", + "stop_area": "stop_area:OCE:SA:87440016", + "nom": "La Fouillade", + "lat": 44.231109, + "lon": 2.041993 + }, + { + "uic": "87726232", + "stop_area": "stop_area:OCE:SA:87726232", + "nom": "La Fouillouse", + "lat": 45.497768, + "lon": 4.317084 + }, + { + "uic": "87757740", + "stop_area": "stop_area:OCE:SA:87757740", + "nom": "La Frayère", + "lat": 43.558143, + "lon": 6.972046 + }, + { + "uic": "87478081", + "stop_area": "stop_area:OCE:SA:87478081", + "nom": "La Fresnais", + "lat": 48.593647, + "lon": -1.843107 + }, + { + "uic": "87755306", + "stop_area": "stop_area:OCE:SA:87755306", + "nom": "La Garde", + "lat": 43.118739, + "lon": 6.010069 + }, + { + "uic": "87576355", + "stop_area": "stop_area:OCE:SA:87576355", + "nom": "La Gauterie", + "lat": 47.139636, + "lon": 1.491477 + }, + { + "uic": "87584755", + "stop_area": "stop_area:OCE:SA:87584755", + "nom": "La Gorp", + "lat": 44.92874, + "lon": -0.496632 + }, + { + "uic": "87478099", + "stop_area": "stop_area:OCE:SA:87478099", + "nom": "La Gouesnière - Cancale", + "lat": 48.614456, + "lon": -1.905688 + }, + { + "uic": "87407726", + "stop_area": "stop_area:OCE:SA:87407726", + "nom": "La Grave Carrefour", + "lat": 46.533453, + "lon": 2.61985 + }, + { + "uic": "87491274", + "stop_area": "stop_area:OCE:SA:87491274", + "nom": "La Grave d'Ambarès", + "lat": 44.935671, + "lon": -0.476918 + }, + { + "uic": "87576470", + "stop_area": "stop_area:OCE:SA:87576470", + "nom": "La Guerche-sur-l'Aubois", + "lat": 46.947816, + "lon": 2.948536 + }, + { + "uic": "87396036", + "stop_area": "stop_area:OCE:SA:87396036", + "nom": "La Guierche", + "lat": 48.113941, + "lon": 0.193108 + }, + { + "uic": "87481416", + "stop_area": "stop_area:OCE:SA:87481416", + "nom": "La Haie-Fouassière", + "lat": 47.161616, + "lon": -1.392174 + }, + { + "uic": "87478156", + "stop_area": "stop_area:OCE:SA:87478156", + "nom": "La Hisse", + "lat": 48.496125, + "lon": -2.003661 + }, + { + "uic": "87716811", + "stop_area": "stop_area:OCE:SA:87716811", + "nom": "La Houssière Vanémont Centre", + "lat": 48.20039, + "lon": 6.878465 + }, + { + "uic": "87582635", + "stop_area": "stop_area:OCE:SA:87582635", + "nom": "La Hume", + "lat": 44.639914, + "lon": -1.116043 + }, + { + "uic": "87396093", + "stop_area": "stop_area:OCE:SA:87396093", + "nom": "La Hutte Coulombiers", + "lat": 48.303256, + "lon": 0.105451 + }, + { + "uic": "87485185", + "stop_area": "stop_area:OCE:SA:87485185", + "nom": "La Jarrie", + "lat": 46.12045, + "lon": -1.02347 + }, + { + "uic": "87592337", + "stop_area": "stop_area:OCE:SA:87592337", + "nom": "La Jonchère", + "lat": 45.994458, + "lon": 1.480385 + }, + { + "uic": "87746842", + "stop_area": "stop_area:OCE:SA:87746842", + "nom": "La Joux", + "lat": 45.965766, + "lon": 6.910087 + }, + { + "uic": "87741702", + "stop_area": "stop_area:OCE:SA:87741702", + "nom": "La Léchère les Bains Petit Coeur", + "lat": 45.520481, + "lon": 6.484015 + }, + { + "uic": "87775247", + "stop_area": "stop_area:OCE:SA:87775247", + "nom": "La Levade", + "lat": 44.228602, + "lon": 4.010274 + }, + { + "uic": "87394254", + "stop_area": "stop_area:OCE:SA:87394254", + "nom": "La Loupe", + "lat": 48.473828, + "lon": 1.010898 + }, + { + "uic": "87286187", + "stop_area": "stop_area:OCE:SA:87286187", + "nom": "La Madeleine", + "lat": 50.660628, + "lon": 3.072631 + }, + { + "uic": "87691394", + "stop_area": "stop_area:OCE:SA:87691394", + "nom": "La Marche", + "lat": 47.139786, + "lon": 3.039533 + }, + { + "uic": "87473124", + "stop_area": "stop_area:OCE:SA:87473124", + "nom": "La Méaugon", + "lat": 48.500057, + "lon": -2.84489 + }, + { + "uic": "85303347", + "stop_area": "stop_area:OCE:SA:85303347", + "nom": "La Médettaz", + "lat": 46.108832, + "lon": 7.007843 + }, + { + "uic": "87571513", + "stop_area": "stop_area:OCE:SA:87571513", + "nom": "La Membrolle-sur-Choisille", + "lat": 47.431335, + "lon": 0.640737 + }, + { + "uic": "87487884", + "stop_area": "stop_area:OCE:SA:87487884", + "nom": "La Ménitré", + "lat": 47.397383, + "lon": -0.275838 + }, + { + "uic": "87592808", + "stop_area": "stop_area:OCE:SA:87592808", + "nom": "La Meyze", + "lat": 45.621443, + "lon": 1.212164 + }, + { + "uic": "87486423", + "stop_area": "stop_area:OCE:SA:87486423", + "nom": "La Mothe-Achard", + "lat": 46.606971, + "lon": -1.659513 + }, + { + "uic": "87485508", + "stop_area": "stop_area:OCE:SA:87485508", + "nom": "La Mothe-Saint-Héray", + "lat": 46.380784, + "lon": -0.129994 + }, + { + "uic": "87755314", + "stop_area": "stop_area:OCE:SA:87755314", + "nom": "La Pauline", + "lat": 43.136244, + "lon": 6.035043 + }, + { + "uic": "87748525", + "stop_area": "stop_area:OCE:SA:87748525", + "nom": "La Pelletière Crépieux-la-Pape (arrêt Tcl)", + "lat": 45.807316, + "lon": 4.892888 + }, + { + "uic": "87751743", + "stop_area": "stop_area:OCE:SA:87751743", + "nom": "La Penne-sur-Huveaune", + "lat": 43.284688, + "lon": 5.515552 + }, + { + "uic": "85010017", + "stop_area": "stop_area:OCE:SA:85010017", + "nom": "La Plaine (Suisse)", + "lat": 46.17866, + "lon": 5.999991 + }, + { + "uic": "87751719", + "stop_area": "stop_area:OCE:SA:87751719", + "nom": "La Pomme", + "lat": 43.290481, + "lon": 5.441279 + }, + { + "uic": "87592295", + "stop_area": "stop_area:OCE:SA:87592295", + "nom": "La Porcherie", + "lat": 45.574079, + "lon": 1.538327 + }, + { + "uic": "87484337", + "stop_area": "stop_area:OCE:SA:87484337", + "nom": "La Possonnière", + "lat": 47.37149, + "lon": -0.691742 + }, + { + "uic": "87334508", + "stop_area": "stop_area:OCE:SA:87334508", + "nom": "La Poterie", + "lat": 48.092345, + "lon": -1.630773 + }, + { + "uic": "87753574", + "stop_area": "stop_area:OCE:SA:87753574", + "nom": "La Redonne Ensuès", + "lat": 43.334471, + "lon": 5.197619 + }, + { + "uic": "87582866", + "stop_area": "stop_area:OCE:SA:87582866", + "nom": "La Réole", + "lat": 44.57977, + "lon": -0.030674 + }, + { + "uic": "87726703", + "stop_area": "stop_area:OCE:SA:87726703", + "nom": "La Ricamarie", + "lat": 45.404152, + "lon": 4.360686 + }, + { + "uic": "87715144", + "stop_area": "stop_area:OCE:SA:87715144", + "nom": "La Rivière", + "lat": 46.870007, + "lon": 6.213448 + }, + { + "uic": "87594416", + "stop_area": "stop_area:OCE:SA:87594416", + "nom": "La Rivière de Mansac", + "lat": 45.139681, + "lon": 1.365509 + }, + { + "uic": "87474262", + "stop_area": "stop_area:OCE:SA:87474262", + "nom": "La Roche-Maurice", + "lat": 48.473978, + "lon": -4.205358 + }, + { + "uic": "87746305", + "stop_area": "stop_area:OCE:SA:87746305", + "nom": "La Roche-sur-Foron", + "lat": 46.067542, + "lon": 6.30384 + }, + { + "uic": "87486019", + "stop_area": "stop_area:OCE:SA:87486019", + "nom": "La Roche-sur-Yon", + "lat": 46.672075, + "lon": -1.43566 + }, + { + "uic": "87485003", + "stop_area": "stop_area:OCE:SA:87485003", + "nom": "La Rochelle", + "lat": 46.152705, + "lon": -1.145853 + }, + { + "uic": "87437798", + "stop_area": "stop_area:OCE:SA:87437798", + "nom": "La Rochelle Porte Dauphine", + "lat": 46.167616, + "lon": -1.151875 + }, + { + "uic": "87755264", + "stop_area": "stop_area:OCE:SA:87755264", + "nom": "La Seyne - Six Fours", + "lat": 43.11702, + "lon": 5.876969 + }, + { + "uic": "87592378", + "stop_area": "stop_area:OCE:SA:87592378", + "nom": "La Souterraine", + "lat": 46.239782, + "lon": 1.492207 + }, + { + "uic": "87396366", + "stop_area": "stop_area:OCE:SA:87396366", + "nom": "La Suze", + "lat": 47.892235, + "lon": 0.026567 + }, + { + "uic": "87394403", + "stop_area": "stop_area:OCE:SA:87394403", + "nom": "La Taye", + "lat": 48.407757, + "lon": 1.373402 + }, + { + "uic": "87582643", + "stop_area": "stop_area:OCE:SA:87582643", + "nom": "La Teste", + "lat": 44.636966, + "lon": -1.14297 + }, + { + "uic": "87721548", + "stop_area": "stop_area:OCE:SA:87721548", + "nom": "La Tour-de-Salvagny", + "lat": 45.799882, + "lon": 4.716492 + }, + { + "uic": "87698324", + "stop_area": "stop_area:OCE:SA:87698324", + "nom": "La Tour-de-Salvagny Centre", + "lat": 45.815018, + "lon": 4.717727 + }, + { + "uic": "87698316", + "stop_area": "stop_area:OCE:SA:87698316", + "nom": "La Tour-de-Salvagny Hippodrome", + "lat": 45.813816, + "lon": 4.716954 + }, + { + "uic": "87723478", + "stop_area": "stop_area:OCE:SA:87723478", + "nom": "La Tour-du-Pin", + "lat": 45.560287, + "lon": 5.449582 + }, + { + "uic": "87575183", + "stop_area": "stop_area:OCE:SA:87575183", + "nom": "La Tricherie", + "lat": 46.728953, + "lon": 0.441469 + }, + { + "uic": "87756767", + "stop_area": "stop_area:OCE:SA:87756767", + "nom": "La Trinité Victor", + "lat": 43.742737, + "lon": 7.311721 + }, + { + "uic": "87723577", + "stop_area": "stop_area:OCE:SA:87723577", + "nom": "La Valbonne", + "lat": 45.849268, + "lon": 5.124964 + }, + { + "uic": "87640474", + "stop_area": "stop_area:OCE:SA:87640474", + "nom": "La Vancelle Centre", + "lat": 48.285278, + "lon": 7.301402 + }, + { + "uic": "87640466", + "stop_area": "stop_area:OCE:SA:87640466", + "nom": "La Vancelle Hurst", + "lat": 48.278908, + "lon": 7.342239 + }, + { + "uic": "87743104", + "stop_area": "stop_area:OCE:SA:87743104", + "nom": "La Vavrette Tossiat RD1075", + "lat": 46.134616, + "lon": 5.290295 + }, + { + "uic": "87723395", + "stop_area": "stop_area:OCE:SA:87723395", + "nom": "La Verpillière", + "lat": 45.627619, + "lon": 5.150785 + }, + { + "uic": "87641191", + "stop_area": "stop_area:OCE:SA:87641191", + "nom": "La Ville Gozet", + "lat": 46.350055, + "lon": 2.59169 + }, + { + "uic": "87589580", + "stop_area": "stop_area:OCE:SA:87589580", + "nom": "La Ville Gozet Square H. Duna", + "lat": 46.347927, + "lon": 2.593626 + }, + { + "uic": "87279935", + "stop_area": "stop_area:OCE:SA:87279935", + "nom": "La Villeneuve-au-Chêne RN19", + "lat": 48.237179, + "lon": 4.386655 + }, + { + "uic": "87394171", + "stop_area": "stop_area:OCE:SA:87394171", + "nom": "La Villette Saint-Prest", + "lat": 48.482752, + "lon": 1.522905 + }, + { + "uic": "87746925", + "stop_area": "stop_area:OCE:SA:87746925", + "nom": "La Villette-Saint Prest Gare Routière", + "lat": 48.482726, + "lon": 1.522931 + }, + { + "uic": "87336974", + "stop_area": "stop_area:OCE:SA:87336974", + "nom": "La Voulte-sur-Rhône Mairie", + "lat": 44.799429, + "lon": 4.781381 + }, + { + "uic": "87595983", + "stop_area": "stop_area:OCE:SA:87595983", + "nom": "La Walck Monument Aux Morts", + "lat": 48.848123, + "lon": 7.611428 + }, + { + "uic": "87212316", + "stop_area": "stop_area:OCE:SA:87212316", + "nom": "La Wantzenau", + "lat": 48.665204, + "lon": 7.824822 + }, + { + "uic": "87757419", + "stop_area": "stop_area:OCE:SA:87757419", + "nom": "La Wantzenau Église", + "lat": 48.663876, + "lon": 7.822897 + }, + { + "uic": "87697508", + "stop_area": "stop_area:OCE:SA:87697508", + "nom": "La-Bridoire-Abris-Bus-le-Haut", + "lat": 45.532004, + "lon": 5.743918 + }, + { + "uic": "87612002", + "stop_area": "stop_area:OCE:SA:87612002", + "nom": "Labège Innopole", + "lat": 43.547467, + "lon": 1.512964 + }, + { + "uic": "87612028", + "stop_area": "stop_area:OCE:SA:87612028", + "nom": "Labège Village", + "lat": 43.531025, + "lon": 1.532597 + }, + { + "uic": "87673293", + "stop_area": "stop_area:OCE:SA:87673293", + "nom": "Labenne", + "lat": 43.587212, + "lon": -1.428953 + }, + { + "uic": "87715219", + "stop_area": "stop_area:OCE:SA:87715219", + "nom": "Labergement-Sainte-Marie", + "lat": 46.77632, + "lon": 6.28011 + }, + { + "uic": "87313676", + "stop_area": "stop_area:OCE:SA:87313676", + "nom": "Laboissière - Le Déluge", + "lat": 49.28867, + "lon": 2.136197 + }, + { + "uic": "87582551", + "stop_area": "stop_area:OCE:SA:87582551", + "nom": "Labouheyre", + "lat": 44.210613, + "lon": -0.920974 + }, + { + "uic": "87611160", + "stop_area": "stop_area:OCE:SA:87611160", + "nom": "Labroquère Moulin", + "lat": 43.035796, + "lon": 0.593307 + }, + { + "uic": "87615526", + "stop_area": "stop_area:OCE:SA:87615526", + "nom": "Labruguière", + "lat": 43.542566, + "lon": 2.259426 + }, + { + "uic": "88716704", + "stop_area": "stop_area:OCE:SA:88716704", + "nom": "LABUISSIERE", + "lat": 50.316139, + "lon": 4.186581 + }, + { + "uic": "87645150", + "stop_area": "stop_area:OCE:SA:87645150", + "nom": "Lacapelle-Viescamp", + "lat": 44.920348, + "lon": 2.265482 + }, + { + "uic": "87592147", + "stop_area": "stop_area:OCE:SA:87592147", + "nom": "Lacelle Corrèze", + "lat": 45.6411, + "lon": 1.826377 + }, + { + "uic": "87731828", + "stop_area": "stop_area:OCE:SA:87731828", + "nom": "Lachaud-Curmilhac", + "lat": 45.122888, + "lon": 3.61043 + }, + { + "uic": "87752998", + "stop_area": "stop_area:OCE:SA:87752998", + "nom": "Lacourt-Saint-Pierre Talicous", + "lat": 43.976529, + "lon": 1.284199 + }, + { + "uic": "87611434", + "stop_area": "stop_area:OCE:SA:87611434", + "nom": "Lacourtensourt", + "lat": 43.663842, + "lon": 1.41409 + }, + { + "uic": "87592733", + "stop_area": "stop_area:OCE:SA:87592733", + "nom": "Lafarge", + "lat": 45.633878, + "lon": 1.130908 + }, + { + "uic": "87613471", + "stop_area": "stop_area:OCE:SA:87613471", + "nom": "Laguépie", + "lat": 44.145485, + "lon": 1.968591 + }, + { + "uic": "80143198", + "stop_area": "stop_area:OCE:SA:80143198", + "nom": "Lahr (Schwarzw)", + "lat": 48.3406, + "lon": 7.8353 + }, + { + "uic": "87172072", + "stop_area": "stop_area:OCE:SA:87172072", + "nom": "Laifour", + "lat": 49.911256, + "lon": 4.692348 + }, + { + "uic": "87396556", + "stop_area": "stop_area:OCE:SA:87396556", + "nom": "Laigné - Saint-Gervais", + "lat": 47.874051, + "lon": 0.217125 + }, + { + "uic": "87276204", + "stop_area": "stop_area:OCE:SA:87276204", + "nom": "Laigneville", + "lat": 49.29291, + "lon": 2.449251 + }, + { + "uic": "87471144", + "stop_area": "stop_area:OCE:SA:87471144", + "nom": "Laillé", + "lat": 47.971069, + "lon": -1.749252 + }, + { + "uic": "87177170", + "stop_area": "stop_area:OCE:SA:87177170", + "nom": "Laissac Place du Foiral", + "lat": 44.382444, + "lon": 2.821614 + }, + { + "uic": "87718437", + "stop_area": "stop_area:OCE:SA:87718437", + "nom": "Laissey", + "lat": 47.298874, + "lon": 6.233615 + }, + { + "uic": "87613323", + "stop_area": "stop_area:OCE:SA:87613323", + "nom": "Lalbenque - Fontanes", + "lat": 44.333656, + "lon": 1.511578 + }, + { + "uic": "87584441", + "stop_area": "stop_area:OCE:SA:87584441", + "nom": "Lalinde", + "lat": 44.839602, + "lon": 0.742806 + }, + { + "uic": "87611855", + "stop_area": "stop_area:OCE:SA:87611855", + "nom": "Lamagistère", + "lat": 44.126777, + "lon": 0.825357 + }, + { + "uic": "87753731", + "stop_area": "stop_area:OCE:SA:87753731", + "nom": "Lamanon", + "lat": 43.700033, + "lon": 5.091369 + }, + { + "uic": "87144303", + "stop_area": "stop_area:OCE:SA:87144303", + "nom": "Lamarche", + "lat": 48.09013, + "lon": 5.760439 + }, + { + "uic": "87700997", + "stop_area": "stop_area:OCE:SA:87700997", + "nom": "Lamarche Centre", + "lat": 48.070778, + "lon": 5.782199 + }, + { + "uic": "87473108", + "stop_area": "stop_area:OCE:SA:87473108", + "nom": "Lamballe", + "lat": 48.46606, + "lon": -2.511546 + }, + { + "uic": "87584243", + "stop_area": "stop_area:OCE:SA:87584243", + "nom": "Lamonzie-Saint-Martin", + "lat": 44.843408, + "lon": 0.380259 + }, + { + "uic": "87582882", + "stop_area": "stop_area:OCE:SA:87582882", + "nom": "Lamothe-Landerron", + "lat": 44.562907, + "lon": 0.045201 + }, + { + "uic": "87584151", + "stop_area": "stop_area:OCE:SA:87584151", + "nom": "Lamothe-Montravel", + "lat": 44.853701, + "lon": 0.021556 + }, + { + "uic": "87543140", + "stop_area": "stop_area:OCE:SA:87543140", + "nom": "Lamotte-Beuvron", + "lat": 47.59411, + "lon": 2.022077 + }, + { + "uic": "87721860", + "stop_area": "stop_area:OCE:SA:87721860", + "nom": "Lamure-sur-Azergues", + "lat": 46.06111, + "lon": 4.492121 + }, + { + "uic": "87484576", + "stop_area": "stop_area:OCE:SA:87484576", + "nom": "Lamure-sur-Azergues Collège", + "lat": 46.0521, + "lon": 4.492917 + }, + { + "uic": "87473850", + "stop_area": "stop_area:OCE:SA:87473850", + "nom": "Lancerf", + "lat": 48.761875, + "lon": -3.117832 + }, + { + "uic": "87417501", + "stop_area": "stop_area:OCE:SA:87417501", + "nom": "Lancey", + "lat": 45.234497, + "lon": 5.880963 + }, + { + "uic": "85171421", + "stop_area": "stop_area:OCE:SA:85171421", + "nom": "Lancy-Bachet", + "lat": 46.174333, + "lon": 6.129372 + }, + { + "uic": "85161554", + "stop_area": "stop_area:OCE:SA:85161554", + "nom": "Lancy-Pont-Rouge", + "lat": 46.188897, + "lon": 6.125333 + }, + { + "uic": "87286575", + "stop_area": "stop_area:OCE:SA:87286575", + "nom": "Landas", + "lat": 50.46879, + "lon": 3.290617 + }, + { + "uic": "80194266", + "stop_area": "stop_area:OCE:SA:80194266", + "nom": "Landau (Pfalz) Hbf", + "lat": 49.1982, + "lon": 8.126 + }, + { + "uic": "87476226", + "stop_area": "stop_area:OCE:SA:87476226", + "nom": "Landaul - Mendon", + "lat": 47.735988, + "lon": -3.086017 + }, + { + "uic": "87473264", + "stop_area": "stop_area:OCE:SA:87473264", + "nom": "Landébia", + "lat": 48.507421, + "lon": -2.331372 + }, + { + "uic": "88718379", + "stop_area": "stop_area:OCE:SA:88718379", + "nom": "LANDELIES", + "lat": 50.377314, + "lon": 4.350981 + }, + { + "uic": "87474239", + "stop_area": "stop_area:OCE:SA:87474239", + "nom": "Landerneau", + "lat": 48.453572, + "lon": -4.256528 + }, + { + "uic": "87476234", + "stop_area": "stop_area:OCE:SA:87476234", + "nom": "Landévant", + "lat": 47.759578, + "lon": -3.125131 + }, + { + "uic": "87474270", + "stop_area": "stop_area:OCE:SA:87474270", + "nom": "Landivisiau", + "lat": 48.496002, + "lon": -4.082181 + }, + { + "uic": "87295642", + "stop_area": "stop_area:OCE:SA:87295642", + "nom": "Landrecies", + "lat": 50.128148, + "lon": 3.682571 + }, + { + "uic": "87741777", + "stop_area": "stop_area:OCE:SA:87741777", + "nom": "Landry", + "lat": 45.574213, + "lon": 6.733849 + }, + { + "uic": "87141093", + "stop_area": "stop_area:OCE:SA:87141093", + "nom": "Laneuveville-devant-Nancy", + "lat": 48.65568, + "lon": 6.227977 + }, + { + "uic": "87734319", + "stop_area": "stop_area:OCE:SA:87734319", + "nom": "Langeac", + "lat": 45.101252, + "lon": 3.490605 + }, + { + "uic": "87407981", + "stop_area": "stop_area:OCE:SA:87407981", + "nom": "Langeac le Treuil", + "lat": 45.108772, + "lon": 3.521472 + }, + { + "uic": "87571828", + "stop_area": "stop_area:OCE:SA:87571828", + "nom": "Langeais", + "lat": 47.324058, + "lon": 0.410104 + }, + { + "uic": "87734350", + "stop_area": "stop_area:OCE:SA:87734350", + "nom": "Langogne", + "lat": 44.732604, + "lon": 3.857239 + }, + { + "uic": "87582775", + "stop_area": "stop_area:OCE:SA:87582775", + "nom": "Langon", + "lat": 44.555414, + "lon": -0.255534 + }, + { + "uic": "87142091", + "stop_area": "stop_area:OCE:SA:87142091", + "nom": "Langres", + "lat": 47.876947, + "lon": 5.344406 + }, + { + "uic": "87671123", + "stop_area": "stop_area:OCE:SA:87671123", + "nom": "Lannemezan", + "lat": 43.114273, + "lon": 0.387367 + }, + { + "uic": "87473223", + "stop_area": "stop_area:OCE:SA:87473223", + "nom": "Lannion", + "lat": 48.727638, + "lon": -3.460353 + }, + { + "uic": "87712323", + "stop_area": "stop_area:OCE:SA:87712323", + "nom": "Lantenay", + "lat": 47.335207, + "lon": 4.861205 + }, + { + "uic": "87407932", + "stop_area": "stop_area:OCE:SA:87407932", + "nom": "Lanthenas", + "lat": 45.102324, + "lon": 3.773763 + }, + { + "uic": "87296012", + "stop_area": "stop_area:OCE:SA:87296012", + "nom": "Laon", + "lat": 49.570578, + "lon": 3.62434 + }, + { + "uic": "87641043", + "stop_area": "stop_area:OCE:SA:87641043", + "nom": "Lapeyrouse", + "lat": 46.226759, + "lon": 2.893315 + }, + { + "uic": "87763755", + "stop_area": "stop_area:OCE:SA:87763755", + "nom": "Laragne", + "lat": 44.316504, + "lon": 5.819042 + }, + { + "uic": "87611939", + "stop_area": "stop_area:OCE:SA:87611939", + "nom": "Lardenne", + "lat": 43.596688, + "lon": 1.383056 + }, + { + "uic": "87683268", + "stop_area": "stop_area:OCE:SA:87683268", + "nom": "Laroche - Migennes", + "lat": 47.960998, + "lon": 3.513191 + }, + { + "uic": "87586412", + "stop_area": "stop_area:OCE:SA:87586412", + "nom": "Laroque", + "lat": 44.287521, + "lon": 0.749793 + }, + { + "uic": "87645135", + "stop_area": "stop_area:OCE:SA:87645135", + "nom": "Laroquebrou", + "lat": 44.964267, + "lon": 2.193081 + }, + { + "uic": "87753061", + "stop_area": "stop_area:OCE:SA:87753061", + "nom": "Larrazet Avenue de Gascogne", + "lat": 43.931097, + "lon": 1.084393 + }, + { + "uic": "87575498", + "stop_area": "stop_area:OCE:SA:87575498", + "nom": "Lathus", + "lat": 46.338092, + "lon": 0.965009 + }, + { + "uic": "87611483", + "stop_area": "stop_area:OCE:SA:87611483", + "nom": "Latour-de-Carol - Enveitg", + "lat": 42.458991, + "lon": 1.904433 + }, + { + "uic": "85011205", + "stop_area": "stop_area:OCE:SA:85011205", + "nom": "Lausanne", + "lat": 46.51679, + "lon": 6.62909 + }, + { + "uic": "87212464", + "stop_area": "stop_area:OCE:SA:87212464", + "nom": "Lauterbourg", + "lat": 48.967697, + "lon": 8.182682 + }, + { + "uic": "87478404", + "stop_area": "stop_area:OCE:SA:87478404", + "nom": "Laval", + "lat": 48.076255, + "lon": -0.760929 + }, + { + "uic": "87594796", + "stop_area": "stop_area:OCE:SA:87594796", + "nom": "Laval-de-Cère", + "lat": 44.951166, + "lon": 1.931781 + }, + { + "uic": "87752410", + "stop_area": "stop_area:OCE:SA:87752410", + "nom": "Laval-sur-Vologne Rue de la Vologne", + "lat": 48.195389, + "lon": 6.702722 + }, + { + "uic": "87597740", + "stop_area": "stop_area:OCE:SA:87597740", + "nom": "Lavaufranche", + "lat": 46.321287, + "lon": 2.270097 + }, + { + "uic": "87615476", + "stop_area": "stop_area:OCE:SA:87615476", + "nom": "Lavaur", + "lat": 43.70344, + "lon": 1.813069 + }, + { + "uic": "87716829", + "stop_area": "stop_area:OCE:SA:87716829", + "nom": "Laveline-devant-Bruyères Maison pour Tous", + "lat": 48.185079, + "lon": 6.751915 + }, + { + "uic": "87611459", + "stop_area": "stop_area:OCE:SA:87611459", + "nom": "Lavilledieu", + "lat": 44.035257, + "lon": 1.214856 + }, + { + "uic": "87337097", + "stop_area": "stop_area:OCE:SA:87337097", + "nom": "Lavilledieu Centre", + "lat": 44.574187, + "lon": 4.455409 + }, + { + "uic": "87680736", + "stop_area": "stop_area:OCE:SA:87680736", + "nom": "Lavoute Arrêt CG", + "lat": 45.118732, + "lon": 3.906718 + }, + { + "uic": "87734707", + "stop_area": "stop_area:OCE:SA:87734707", + "nom": "Lavoûte-sur-Loire", + "lat": 45.12145, + "lon": 3.90541 + }, + { + "uic": "87586305", + "stop_area": "stop_area:OCE:SA:87586305", + "nom": "Layrac", + "lat": 44.132927, + "lon": 0.660435 + }, + { + "uic": "87757757", + "stop_area": "stop_area:OCE:SA:87757757", + "nom": "Le Bosquet", + "lat": 43.551608, + "lon": 6.981618 + }, + { + "uic": "87774380", + "stop_area": "stop_area:OCE:SA:87774380", + "nom": "Le Bourget-du-Lac Technolac", + "lat": 45.643633, + "lon": 5.864899 + }, + { + "uic": "87738096", + "stop_area": "stop_area:OCE:SA:87738096", + "nom": "Le Bouscat Sainte-Germaine", + "lat": 44.870927, + "lon": -0.614049 + }, + { + "uic": "87781583", + "stop_area": "stop_area:OCE:SA:87781583", + "nom": "Le Bousquet-d'Orb", + "lat": 43.69121, + "lon": 3.168938 + }, + { + "uic": "87721779", + "stop_area": "stop_area:OCE:SA:87721779", + "nom": "Le Breuil (Rhône)", + "lat": 45.896591, + "lon": 4.591384 + }, + { + "uic": "87407940", + "stop_area": "stop_area:OCE:SA:87407940", + "nom": "Le Breuil-sur-C Salle des F.", + "lat": 45.472347, + "lon": 3.261952 + }, + { + "uic": "87734228", + "stop_area": "stop_area:OCE:SA:87734228", + "nom": "Le Breuil-sur-Couze", + "lat": 45.467099, + "lon": 3.262221 + }, + { + "uic": "87395830", + "stop_area": "stop_area:OCE:SA:87395830", + "nom": "Le Breuil-sur-Couze Lycée Agricole", + "lat": 45.462636, + "lon": 3.281165 + }, + { + "uic": "87783548", + "stop_area": "stop_area:OCE:SA:87783548", + "nom": "Le Bruel", + "lat": 44.481329, + "lon": 3.358325 + }, + { + "uic": "87640680", + "stop_area": "stop_area:OCE:SA:87640680", + "nom": "Le Bruel Route Nationale 88", + "lat": 44.481374, + "lon": 3.358177 + }, + { + "uic": "87746883", + "stop_area": "stop_area:OCE:SA:87746883", + "nom": "Le Buet", + "lat": 46.018805, + "lon": 6.920412 + }, + { + "uic": "87595744", + "stop_area": "stop_area:OCE:SA:87595744", + "nom": "Le Bugue", + "lat": 44.905726, + "lon": 0.943004 + }, + { + "uic": "87595751", + "stop_area": "stop_area:OCE:SA:87595751", + "nom": "Le Buisson", + "lat": 44.847245, + "lon": 0.90818 + }, + { + "uic": "87594614", + "stop_area": "stop_area:OCE:SA:87594614", + "nom": "Le Burg", + "lat": 45.215796, + "lon": 1.429814 + }, + { + "uic": "87775825", + "stop_area": "stop_area:OCE:SA:87775825", + "nom": "Le Cailar", + "lat": 43.683217, + "lon": 4.234803 + }, + { + "uic": "87295220", + "stop_area": "stop_area:OCE:SA:87295220", + "nom": "Le Cateau", + "lat": 50.091512, + "lon": 3.539982 + }, + { + "uic": "87481168", + "stop_area": "stop_area:OCE:SA:87481168", + "nom": "Le Cellier", + "lat": 47.313419, + "lon": -1.35079 + }, + { + "uic": "87734160", + "stop_area": "stop_area:OCE:SA:87734160", + "nom": "Le Cendre - Orcet", + "lat": 45.723828, + "lon": 3.188682 + }, + { + "uic": "87726711", + "stop_area": "stop_area:OCE:SA:87726711", + "nom": "Le Chambon-Feugerolles", + "lat": 45.394777, + "lon": 4.322484 + }, + { + "uic": "85015685", + "stop_area": "stop_area:OCE:SA:85015685", + "nom": "Le Châtelard Frontière", + "lat": 46.053259, + "lon": 6.950241 + }, + { + "uic": "85015669", + "stop_area": "stop_area:OCE:SA:85015669", + "nom": "Le Chatelard VS", + "lat": 46.060289, + "lon": 6.958021 + }, + { + "uic": "87726828", + "stop_area": "stop_area:OCE:SA:87726828", + "nom": "Le Coteau", + "lat": 46.023988, + "lon": 4.086281 + }, + { + "uic": "85043158", + "stop_area": "stop_area:OCE:SA:85043158", + "nom": "Le Crêt-du-Locle", + "lat": 47.0776, + "lon": 6.78519 + }, + { + "uic": "87694000", + "stop_area": "stop_area:OCE:SA:87694000", + "nom": "Le Creusot", + "lat": 46.807842, + "lon": 4.430433 + }, + { + "uic": "87694109", + "stop_area": "stop_area:OCE:SA:87694109", + "nom": "Le Creusot-TGV", + "lat": 46.765339, + "lon": 4.49943 + }, + { + "uic": "87481788", + "stop_area": "stop_area:OCE:SA:87481788", + "nom": "Le Croisic", + "lat": 47.289889, + "lon": -2.50734 + }, + { + "uic": "87592543", + "stop_area": "stop_area:OCE:SA:87592543", + "nom": "Le Dorat", + "lat": 46.211141, + "lon": 1.079273 + }, + { + "uic": "87757542", + "stop_area": "stop_area:OCE:SA:87757542", + "nom": "Le Dramont", + "lat": 43.417829, + "lon": 6.844289 + }, + { + "uic": "87611046", + "stop_area": "stop_area:OCE:SA:87611046", + "nom": "Le Fauga", + "lat": 43.404424, + "lon": 1.28306 + }, + { + "uic": "87478743", + "stop_area": "stop_area:OCE:SA:87478743", + "nom": "Le Genest", + "lat": 48.096741, + "lon": -0.885621 + }, + { + "uic": "87444323", + "stop_area": "stop_area:OCE:SA:87444323", + "nom": "Le Grand Jardin", + "lat": 49.150322, + "lon": 0.227207 + }, + { + "uic": "87747220", + "stop_area": "stop_area:OCE:SA:87747220", + "nom": "Le Grand-Lemps", + "lat": 45.396676, + "lon": 5.42314 + }, + { + "uic": "87775866", + "stop_area": "stop_area:OCE:SA:87775866", + "nom": "Le Grau-du-Roi", + "lat": 43.537127, + "lon": 4.140338 + }, + { + "uic": "87478784", + "stop_area": "stop_area:OCE:SA:87478784", + "nom": "Le Guidon", + "lat": 46.378787, + "lon": 4.249622 + }, + { + "uic": "87316687", + "stop_area": "stop_area:OCE:SA:87316687", + "nom": "Le Haut Banc", + "lat": 50.816461, + "lon": 1.772433 + }, + { + "uic": "87413013", + "stop_area": "stop_area:OCE:SA:87413013", + "nom": "Le Havre", + "lat": 49.492624, + "lon": 0.124644 + }, + { + "uic": "87645473", + "stop_area": "stop_area:OCE:SA:87645473", + "nom": "Le Lioran", + "lat": 45.090686, + "lon": 2.753334 + }, + { + "uic": "85043166", + "stop_area": "stop_area:OCE:SA:85043166", + "nom": "Le Locle", + "lat": 47.05786, + "lon": 6.74616 + }, + { + "uic": "87598219", + "stop_area": "stop_area:OCE:SA:87598219", + "nom": "Le Locle Col des Roches", + "lat": 47.049887, + "lon": 6.7258 + }, + { + "uic": "87755405", + "stop_area": "stop_area:OCE:SA:87755405", + "nom": "Le Luc - Le Cannet", + "lat": 43.3903, + "lon": 6.343041 + }, + { + "uic": "87396002", + "stop_area": "stop_area:OCE:SA:87396002", + "nom": "Le Mans", + "lat": 47.995615, + "lon": 0.192614 + }, + { + "uic": "87743872", + "stop_area": "stop_area:OCE:SA:87743872", + "nom": "Le Mans Hôpital-Université", + "lat": 48.013452, + "lon": 0.174888 + }, + { + "uic": "87214940", + "stop_area": "stop_area:OCE:SA:87214940", + "nom": "Le Ménilot", + "lat": 48.239178, + "lon": 4.298683 + }, + { + "uic": "87721522", + "stop_area": "stop_area:OCE:SA:87721522", + "nom": "Le Méridien La Ferrière", + "lat": 45.768499, + "lon": 4.748443 + }, + { + "uic": "87276733", + "stop_area": "stop_area:OCE:SA:87276733", + "nom": "Le Meux - La Croix-Saint-Ouen", + "lat": 49.35949, + "lon": 2.753483 + }, + { + "uic": "87444083", + "stop_area": "stop_area:OCE:SA:87444083", + "nom": "Le Molay-Littry", + "lat": 49.249326, + "lon": -0.880974 + }, + { + "uic": "87783308", + "stop_area": "stop_area:OCE:SA:87783308", + "nom": "Le Monastier", + "lat": 44.508936, + "lon": 3.25213 + }, + { + "uic": "87640698", + "stop_area": "stop_area:OCE:SA:87640698", + "nom": "Le Monastier Ville", + "lat": 44.515309, + "lon": 3.25515 + }, + { + "uic": "87321992", + "stop_area": "stop_area:OCE:SA:87321992", + "nom": "Le Mont-Saint-Michel", + "lat": 48.552761, + "lon": -1.505646 + }, + { + "uic": "87481424", + "stop_area": "stop_area:OCE:SA:87481424", + "nom": "Le Pallet", + "lat": 47.143823, + "lon": -1.34682 + }, + { + "uic": "87722678", + "stop_area": "stop_area:OCE:SA:87722678", + "nom": "Le Péage-de-Roussillon", + "lat": 45.371724, + "lon": 4.795406 + }, + { + "uic": "87473553", + "stop_area": "stop_area:OCE:SA:87473553", + "nom": "Le Pénity", + "lat": 48.364627, + "lon": -3.476382 + }, + { + "uic": "87271551", + "stop_area": "stop_area:OCE:SA:87271551", + "nom": "Le Plessis-Belleville", + "lat": 49.095912, + "lon": 2.744855 + }, + { + "uic": "87343210", + "stop_area": "stop_area:OCE:SA:87343210", + "nom": "Le Poirier Université", + "lat": 50.330077, + "lon": 3.502635 + }, + { + "uic": "87481762", + "stop_area": "stop_area:OCE:SA:87481762", + "nom": "Le Pouliguen", + "lat": 47.282504, + "lon": -2.433126 + }, + { + "uic": "87764407", + "stop_area": "stop_area:OCE:SA:87764407", + "nom": "Le Pouzin Place Maréchal Leclerc", + "lat": 44.756135, + "lon": 4.747765 + }, + { + "uic": "87589598", + "stop_area": "stop_area:OCE:SA:87589598", + "nom": "Le Puy En Velay Hôpital E.Roux", + "lat": 45.049219, + "lon": 3.8772 + }, + { + "uic": "87734699", + "stop_area": "stop_area:OCE:SA:87734699", + "nom": "Le Puy-en-Velay", + "lat": 45.042866, + "lon": 3.892421 + }, + { + "uic": "87024380", + "stop_area": "stop_area:OCE:SA:87024380", + "nom": "Le Puy-en-Velay Lafayette", + "lat": 45.043962, + "lon": 3.879959 + }, + { + "uic": "87295857", + "stop_area": "stop_area:OCE:SA:87295857", + "nom": "Le Quesnoy", + "lat": 50.250193, + "lon": 3.645483 + }, + { + "uic": "87645192", + "stop_area": "stop_area:OCE:SA:87645192", + "nom": "Le Rouget", + "lat": 44.856294, + "lon": 2.235479 + }, + { + "uic": "87784512", + "stop_area": "stop_area:OCE:SA:87784512", + "nom": "Le Soler", + "lat": 42.678989, + "lon": 2.795227 + }, + { + "uic": "87582601", + "stop_area": "stop_area:OCE:SA:87582601", + "nom": "Le Teich", + "lat": 44.63248, + "lon": -1.025564 + }, + { + "uic": "87766832", + "stop_area": "stop_area:OCE:SA:87766832", + "nom": "Le Teil Rond-point Bénistant", + "lat": 44.554241, + "lon": 4.688876 + }, + { + "uic": "87396333", + "stop_area": "stop_area:OCE:SA:87396333", + "nom": "Le Theil - La Rouge", + "lat": 48.267291, + "lon": 0.694376 + }, + { + "uic": "87471342", + "stop_area": "stop_area:OCE:SA:87471342", + "nom": "Le Theil-de-Bretagne", + "lat": 47.918742, + "lon": -1.431993 + }, + { + "uic": "87765453", + "stop_area": "stop_area:OCE:SA:87765453", + "nom": "Le Thor", + "lat": 43.926507, + "lon": 4.996271 + }, + { + "uic": "87353573", + "stop_area": "stop_area:OCE:SA:87353573", + "nom": "Le Toec", + "lat": 43.595554, + "lon": 1.401371 + }, + { + "uic": "87757575", + "stop_area": "stop_area:OCE:SA:87757575", + "nom": "Le Trayas", + "lat": 43.474631, + "lon": 6.924404 + }, + { + "uic": "87317529", + "stop_area": "stop_area:OCE:SA:87317529", + "nom": "Le Tréport - Mers-les-Bains", + "lat": 50.062716, + "lon": 1.376078 + }, + { + "uic": "85015644", + "stop_area": "stop_area:OCE:SA:85015644", + "nom": "Le Trétien", + "lat": 46.102318, + "lon": 6.997726 + }, + { + "uic": "87718544", + "stop_area": "stop_area:OCE:SA:87718544", + "nom": "Le Valdahon", + "lat": 47.149733, + "lon": 6.342274 + }, + { + "uic": "87718601", + "stop_area": "stop_area:OCE:SA:87718601", + "nom": "Le Valdahon Camp Militaire", + "lat": 47.151045, + "lon": 6.314862 + }, + { + "uic": "87581389", + "stop_area": "stop_area:OCE:SA:87581389", + "nom": "Le Verdon", + "lat": 45.549229, + "lon": -1.065119 + }, + { + "uic": "87130880", + "stop_area": "stop_area:OCE:SA:87130880", + "nom": "Le Vernet", + "lat": 43.184272, + "lon": 1.609749 + }, + { + "uic": "87611350", + "stop_area": "stop_area:OCE:SA:87611350", + "nom": "Le Vernet d'Ariège", + "lat": 43.189541, + "lon": 1.611911 + }, + { + "uic": "87484139", + "stop_area": "stop_area:OCE:SA:87484139", + "nom": "Le Vieux Briollay", + "lat": 47.573687, + "lon": -0.483007 + }, + { + "uic": "87586263", + "stop_area": "stop_area:OCE:SA:87586263", + "nom": "Lectoure", + "lat": 43.931311, + "lon": 0.615682 + }, + { + "uic": "87345223", + "stop_area": "stop_area:OCE:SA:87345223", + "nom": "Leforest", + "lat": 50.427785, + "lon": 3.059792 + }, + { + "uic": "87611210", + "stop_area": "stop_area:OCE:SA:87611210", + "nom": "Lège Pont", + "lat": 42.875556, + "lon": 0.613333 + }, + { + "uic": "80142901", + "stop_area": "stop_area:OCE:SA:80142901", + "nom": "Legelshurst", + "lat": 48.5585, + "lon": 7.9138 + }, + { + "uic": "87686360", + "stop_area": "stop_area:OCE:SA:87686360", + "nom": "Lemberg Grand-Rue", + "lat": 49.00072, + "lon": 7.3801 + }, + { + "uic": "87635771", + "stop_area": "stop_area:OCE:SA:87635771", + "nom": "Lemberg Mairie", + "lat": 49.005708, + "lon": 7.378757 + }, + { + "uic": "87345025", + "stop_area": "stop_area:OCE:SA:87345025", + "nom": "Lens", + "lat": 50.426866, + "lon": 2.828301 + }, + { + "uic": "87721555", + "stop_area": "stop_area:OCE:SA:87721555", + "nom": "Lentilly", + "lat": 45.821684, + "lon": 4.667049 + }, + { + "uic": "87566919", + "stop_area": "stop_area:OCE:SA:87566919", + "nom": "Lentilly Charpenay", + "lat": 45.816519, + "lon": 4.682375 + }, + { + "uic": "87716472", + "stop_area": "stop_area:OCE:SA:87716472", + "nom": "Lépanges-Vologn R. Poste", + "lat": 48.172701, + "lon": 6.671589 + }, + { + "uic": "87741439", + "stop_area": "stop_area:OCE:SA:87741439", + "nom": "Lépin-le-Lac - La Bauche", + "lat": 45.541547, + "lon": 5.764584 + }, + { + "uic": "87175240", + "stop_area": "stop_area:OCE:SA:87175240", + "nom": "Lérouville", + "lat": 48.796902, + "lon": 5.538437 + }, + { + "uic": "87534065", + "stop_area": "stop_area:OCE:SA:87534065", + "nom": "Lérouville", + "lat": 48.791881, + "lon": 5.542713 + }, + { + "uic": "87741496", + "stop_area": "stop_area:OCE:SA:87741496", + "nom": "Les Abrets - Fitilieu", + "lat": 45.54214, + "lon": 5.575473 + }, + { + "uic": "87696385", + "stop_area": "stop_area:OCE:SA:87696385", + "nom": "Les Abrets - Rue-Italie", + "lat": 45.537332, + "lon": 5.584531 + }, + { + "uic": "87755447", + "stop_area": "stop_area:OCE:SA:87755447", + "nom": "Les Arcs - Draguignan", + "lat": 43.455725, + "lon": 6.482424 + }, + { + "uic": "87543017", + "stop_area": "stop_area:OCE:SA:87543017", + "nom": "Les Aubrais", + "lat": 47.926801, + "lon": 1.906629 + }, + { + "uic": "87737411", + "stop_area": "stop_area:OCE:SA:87737411", + "nom": "Les Aubrais Gare Routière", + "lat": 47.926667, + "lon": 1.907464 + }, + { + "uic": "87592048", + "stop_area": "stop_area:OCE:SA:87592048", + "nom": "Les Bardys", + "lat": 45.904725, + "lon": 1.377432 + }, + { + "uic": "87297515", + "stop_area": "stop_area:OCE:SA:87297515", + "nom": "Les Bons Pères", + "lat": 50.279963, + "lon": 4.011109 + }, + { + "uic": "87746768", + "stop_area": "stop_area:OCE:SA:87746768", + "nom": "Les Bossons", + "lat": 45.9068, + "lon": 6.83918 + }, + { + "uic": "87611574", + "stop_area": "stop_area:OCE:SA:87611574", + "nom": "Les Cabannes", + "lat": 42.786285, + "lon": 1.686299 + }, + { + "uic": "87130823", + "stop_area": "stop_area:OCE:SA:87130823", + "nom": "Les Cabannes Centre", + "lat": 42.78486, + "lon": 1.688377 + }, + { + "uic": "87781559", + "stop_area": "stop_area:OCE:SA:87781559", + "nom": "Les Cabrils", + "lat": 43.779707, + "lon": 3.186083 + }, + { + "uic": "87328021", + "stop_area": "stop_area:OCE:SA:87328021", + "nom": "Les Cauquillous", + "lat": 43.734451, + "lon": 1.754096 + }, + { + "uic": "87741298", + "stop_area": "stop_area:OCE:SA:87741298", + "nom": "Les Chavannes-Saint-Rémy", + "lat": 45.387608, + "lon": 6.275897 + }, + { + "uic": "87677104", + "stop_area": "stop_area:OCE:SA:87677104", + "nom": "Les Deux Jumeaux", + "lat": 43.370066, + "lon": -1.764527 + }, + { + "uic": "87723718", + "stop_area": "stop_area:OCE:SA:87723718", + "nom": "Les Échets", + "lat": 45.874675, + "lon": 4.910814 + }, + { + "uic": "87584532", + "stop_area": "stop_area:OCE:SA:87584532", + "nom": "Les Églisottes", + "lat": 45.094305, + "lon": -0.043522 + }, + { + "uic": "87595736", + "stop_area": "stop_area:OCE:SA:87595736", + "nom": "Les Eyzies", + "lat": 44.941315, + "lon": 1.008296 + }, + { + "uic": "87721704", + "stop_area": "stop_area:OCE:SA:87721704", + "nom": "Les Flachères", + "lat": 45.777159, + "lon": 4.754068 + }, + { + "uic": "87317305", + "stop_area": "stop_area:OCE:SA:87317305", + "nom": "Les Fontinettes", + "lat": 50.941002, + "lon": 1.849858 + }, + { + "uic": "87214965", + "stop_area": "stop_area:OCE:SA:87214965", + "nom": "Les Forges de Clairvaux", + "lat": 48.160015, + "lon": 4.790031 + }, + { + "uic": "85303032", + "stop_area": "stop_area:OCE:SA:85303032", + "nom": "Les Fumeaux", + "lat": 46.1208, + "lon": 7.0522 + }, + { + "uic": "87715169", + "stop_area": "stop_area:OCE:SA:87715169", + "nom": "Les Granges-Narboz", + "lat": 46.879016, + "lon": 6.309022 + }, + { + "uic": "87715235", + "stop_area": "stop_area:OCE:SA:87715235", + "nom": "Les Granges-Sainte-Marie", + "lat": 46.783576, + "lon": 6.284416 + }, + { + "uic": "87715516", + "stop_area": "stop_area:OCE:SA:87715516", + "nom": "Les Hôpitaux-Neufs", + "lat": 46.776016, + "lon": 6.37141 + }, + { + "uic": "87746743", + "stop_area": "stop_area:OCE:SA:87746743", + "nom": "Les Houches", + "lat": 45.893564, + "lon": 6.796924 + }, + { + "uic": "87766857", + "stop_area": "stop_area:OCE:SA:87766857", + "nom": "Les Iles Grassonet", + "lat": 45.97043, + "lon": 6.91658 + }, + { + "uic": "87471516", + "stop_area": "stop_area:OCE:SA:87471516", + "nom": "Les Lacs", + "lat": 48.108891, + "lon": -1.322266 + }, + { + "uic": "87713115", + "stop_area": "stop_area:OCE:SA:87713115", + "nom": "Les Laumes - Alésia", + "lat": 47.543054, + "lon": 4.462602 + }, + { + "uic": "87715227", + "stop_area": "stop_area:OCE:SA:87715227", + "nom": "Les Longevilles Rochejean", + "lat": 46.750918, + "lon": 6.309156 + }, + { + "uic": "87473587", + "stop_area": "stop_area:OCE:SA:87473587", + "nom": "Les Mais", + "lat": 48.426403, + "lon": -3.382663 + }, + { + "uic": "85015636", + "stop_area": "stop_area:OCE:SA:85015636", + "nom": "Les Marécottes", + "lat": 46.112312, + "lon": 7.011692 + }, + { + "uic": "87734178", + "stop_area": "stop_area:OCE:SA:87734178", + "nom": "Les Martres-de-Veyre", + "lat": 45.688195, + "lon": 3.193325 + }, + { + "uic": "87746818", + "stop_area": "stop_area:OCE:SA:87746818", + "nom": "Les Moussoux", + "lat": 45.916635, + "lon": 6.85899 + }, + { + "uic": "87481259", + "stop_area": "stop_area:OCE:SA:87481259", + "nom": "Les Moutiers-en-Retz", + "lat": 47.061902, + "lon": -2.001132 + }, + { + "uic": "87386680", + "stop_area": "stop_area:OCE:SA:87386680", + "nom": "Les Mureaux", + "lat": 48.992725, + "lon": 1.913027 + }, + { + "uic": "87575118", + "stop_area": "stop_area:OCE:SA:87575118", + "nom": "Les Ormes", + "lat": 46.971537, + "lon": 0.607947 + }, + { + "uic": "87746776", + "stop_area": "stop_area:OCE:SA:87746776", + "nom": "Les Pélerins", + "lat": 45.912498, + "lon": 6.847224 + }, + { + "uic": "87691600", + "stop_area": "stop_area:OCE:SA:87691600", + "nom": "Les Perrières", + "lat": 47.005521, + "lon": 3.146714 + }, + { + "uic": "87746826", + "stop_area": "stop_area:OCE:SA:87746826", + "nom": "Les Praz de Chamonix", + "lat": 45.939459, + "lon": 6.888753 + }, + { + "uic": "87576181", + "stop_area": "stop_area:OCE:SA:87576181", + "nom": "Les Quatre Roues", + "lat": 47.332552, + "lon": 1.702528 + }, + { + "uic": "87594564", + "stop_area": "stop_area:OCE:SA:87594564", + "nom": "Les Quatre-Routes", + "lat": 44.997639, + "lon": 1.643914 + }, + { + "uic": "87353581", + "stop_area": "stop_area:OCE:SA:87353581", + "nom": "Les Ramassiers", + "lat": 43.602399, + "lon": 1.352946 + }, + { + "uic": "87487876", + "stop_area": "stop_area:OCE:SA:87487876", + "nom": "Les Rosiers-sur-Loire", + "lat": 47.361859, + "lon": -0.219373 + }, + { + "uic": "87476267", + "stop_area": "stop_area:OCE:SA:87476267", + "nom": "Les Sables Blancs", + "lat": 47.57529, + "lon": -3.132549 + }, + { + "uic": "87486449", + "stop_area": "stop_area:OCE:SA:87486449", + "nom": "Les Sables-d'Olonne", + "lat": 46.500032, + "lon": -1.781116 + }, + { + "uic": "87783514", + "stop_area": "stop_area:OCE:SA:87783514", + "nom": "Les Salelles", + "lat": 44.483269, + "lon": 3.280401 + }, + { + "uic": "87640672", + "stop_area": "stop_area:OCE:SA:87640672", + "nom": "Les Salelles Embranchement RN 88", + "lat": 44.483291, + "lon": 3.278319 + }, + { + "uic": "87685784", + "stop_area": "stop_area:OCE:SA:87685784", + "nom": "Les Tavins", + "lat": 46.741493, + "lon": 6.372939 + }, + { + "uic": "87746834", + "stop_area": "stop_area:OCE:SA:87746834", + "nom": "Les Tines", + "lat": 45.95053, + "lon": 6.899362 + }, + { + "uic": "87641373", + "stop_area": "stop_area:OCE:SA:87641373", + "nom": "Les Trillers", + "lat": 46.41463, + "lon": 2.599956 + }, + { + "uic": "87680504", + "stop_area": "stop_area:OCE:SA:87680504", + "nom": "Les Trilliers Pn Carrefour", + "lat": 46.414351, + "lon": 2.599774 + }, + { + "uic": "85010116", + "stop_area": "stop_area:OCE:SA:85010116", + "nom": "Les Tuileries", + "lat": 46.249945, + "lon": 6.147342 + }, + { + "uic": "87595702", + "stop_area": "stop_area:OCE:SA:87595702", + "nom": "Les Versannes", + "lat": 45.088825, + "lon": 0.8573 + }, + { + "uic": "87581314", + "stop_area": "stop_area:OCE:SA:87581314", + "nom": "Lesparre", + "lat": 45.303614, + "lon": -0.945339 + }, + { + "uic": "87286849", + "stop_area": "stop_area:OCE:SA:87286849", + "nom": "Lesquin", + "lat": 50.590685, + "lon": 3.117714 + }, + { + "uic": "87192252", + "stop_area": "stop_area:OCE:SA:87192252", + "nom": "Lesse Centre", + "lat": 48.962554, + "lon": 6.505666 + }, + { + "uic": "87409771", + "stop_area": "stop_area:OCE:SA:87409771", + "nom": "Létra Gabodière", + "lat": 45.961432, + "lon": 4.516467 + }, + { + "uic": "87781088", + "stop_area": "stop_area:OCE:SA:87781088", + "nom": "Leucate la Franqui", + "lat": 42.932836, + "lon": 3.012845 + }, + { + "uic": "87295790", + "stop_area": "stop_area:OCE:SA:87295790", + "nom": "Leval", + "lat": 50.184614, + "lon": 3.836629 + }, + { + "uic": "87613489", + "stop_area": "stop_area:OCE:SA:87613489", + "nom": "Lexos", + "lat": 44.142396, + "lon": 1.885101 + }, + { + "uic": "87117606", + "stop_area": "stop_area:OCE:SA:87117606", + "nom": "Lexy Carrefour", + "lat": 49.498998, + "lon": 5.727192 + }, + { + "uic": "87406686", + "stop_area": "stop_area:OCE:SA:87406686", + "nom": "Lexy Providence Usine", + "lat": 49.49603, + "lon": 5.738452 + }, + { + "uic": "87406694", + "stop_area": "stop_area:OCE:SA:87406694", + "nom": "Lexy Rue du Square", + "lat": 49.495579, + "lon": 5.727884 + }, + { + "uic": "87287102", + "stop_area": "stop_area:OCE:SA:87287102", + "nom": "Lezennes", + "lat": 50.620531, + "lon": 3.097777 + }, + { + "uic": "87615112", + "stop_area": "stop_area:OCE:SA:87615112", + "nom": "Lézignan-Corbières", + "lat": 43.199956, + "lon": 2.769139 + }, + { + "uic": "87734442", + "stop_area": "stop_area:OCE:SA:87734442", + "nom": "Lezoux", + "lat": 45.821218, + "lon": 3.385986 + }, + { + "uic": "87276212", + "stop_area": "stop_area:OCE:SA:87276212", + "nom": "Liancourt - Rantigny", + "lat": 49.324818, + "lon": 2.445255 + }, + { + "uic": "87345256", + "stop_area": "stop_area:OCE:SA:87345256", + "nom": "Libercourt", + "lat": 50.480202, + "lon": 3.008642 + }, + { + "uic": "87584052", + "stop_area": "stop_area:OCE:SA:87584052", + "nom": "Libourne", + "lat": 44.915904, + "lon": -0.236359 + }, + { + "uic": "87654384", + "stop_area": "stop_area:OCE:SA:87654384", + "nom": "Lichtenberg Église", + "lat": 48.921195, + "lon": 7.48176 + }, + { + "uic": "87654392", + "stop_area": "stop_area:OCE:SA:87654392", + "nom": "Lichtenberg Picardie", + "lat": 48.925109, + "lon": 7.479277 + }, + { + "uic": "87640490", + "stop_area": "stop_area:OCE:SA:87640490", + "nom": "Lièpvre Bois l'Abesse ZI", + "lat": 48.269132, + "lon": 7.319861 + }, + { + "uic": "87640789", + "stop_area": "stop_area:OCE:SA:87640789", + "nom": "Lièpvre Centre", + "lat": 48.270932, + "lon": 7.282034 + }, + { + "uic": "87640797", + "stop_area": "stop_area:OCE:SA:87640797", + "nom": "Lièpvre Écoles", + "lat": 48.272411, + "lon": 7.280824 + }, + { + "uic": "87640847", + "stop_area": "stop_area:OCE:SA:87640847", + "nom": "Lièpvre Musloch", + "lat": 48.267648, + "lon": 7.248574 + }, + { + "uic": "87678490", + "stop_area": "stop_area:OCE:SA:87678490", + "nom": "Lièpvre Pharmacie", + "lat": 48.270855, + "lon": 7.280695 + }, + { + "uic": "87640482", + "stop_area": "stop_area:OCE:SA:87640482", + "nom": "Lièpvre Route La Vancelle", + "lat": 48.271918, + "lon": 7.289057 + }, + { + "uic": "87640821", + "stop_area": "stop_area:OCE:SA:87640821", + "nom": "Lièpvre Rue du Vieux Moulin", + "lat": 48.277167, + "lon": 7.277606 + }, + { + "uic": "87640839", + "stop_area": "stop_area:OCE:SA:87640839", + "nom": "Lièpvre Rue Robert Guth", + "lat": 48.270081, + "lon": 7.269449 + }, + { + "uic": "87718130", + "stop_area": "stop_area:OCE:SA:87718130", + "nom": "Liesle", + "lat": 47.058825, + "lon": 5.820565 + }, + { + "uic": "87345041", + "stop_area": "stop_area:OCE:SA:87345041", + "nom": "Liévin", + "lat": 50.434247, + "lon": 2.771851 + }, + { + "uic": "87575274", + "stop_area": "stop_area:OCE:SA:87575274", + "nom": "Ligugé", + "lat": 46.520334, + "lon": 0.3332 + }, + { + "uic": "87109306", + "stop_area": "stop_area:OCE:SA:87109306", + "nom": "Lille Centre Hospitalier Régional", + "lat": 50.614297, + "lon": 3.034278 + }, + { + "uic": "87223263", + "stop_area": "stop_area:OCE:SA:87223263", + "nom": "Lille Europe", + "lat": 50.6394, + "lon": 3.075721 + }, + { + "uic": "87286005", + "stop_area": "stop_area:OCE:SA:87286005", + "nom": "Lille Flandres", + "lat": 50.636577, + "lon": 3.06987 + }, + { + "uic": "87287250", + "stop_area": "stop_area:OCE:SA:87287250", + "nom": "Lille Porte de Douai", + "lat": 50.612114, + "lon": 3.075075 + }, + { + "uic": "87342238", + "stop_area": "stop_area:OCE:SA:87342238", + "nom": "Lillers", + "lat": 50.561711, + "lon": 2.478906 + }, + { + "uic": "87574335", + "stop_area": "stop_area:OCE:SA:87574335", + "nom": "Limeray", + "lat": 47.450336, + "lon": 1.04987 + }, + { + "uic": "87212274", + "stop_area": "stop_area:OCE:SA:87212274", + "nom": "Limersheim", + "lat": 48.461592, + "lon": 7.660306 + }, + { + "uic": "87592006", + "stop_area": "stop_area:OCE:SA:87592006", + "nom": "Limoges Bénédictins", + "lat": 45.836207, + "lon": 1.267419 + }, + { + "uic": "87592022", + "stop_area": "stop_area:OCE:SA:87592022", + "nom": "Limoges Montjovis", + "lat": 45.838328, + "lon": 1.251784 + }, + { + "uic": "87615161", + "stop_area": "stop_area:OCE:SA:87615161", + "nom": "Limoux", + "lat": 43.056393, + "lon": 2.222783 + }, + { + "uic": "87598755", + "stop_area": "stop_area:OCE:SA:87598755", + "nom": "Limoux - Flassian", + "lat": 43.068451, + "lon": 2.218283 + }, + { + "uic": "87172395", + "stop_area": "stop_area:OCE:SA:87172395", + "nom": "Linay", + "lat": 49.614055, + "lon": 5.223838 + }, + { + "uic": "87214502", + "stop_area": "stop_area:OCE:SA:87214502", + "nom": "Lingolsheim", + "lat": 48.559408, + "lon": 7.678569 + }, + { + "uic": "87139865", + "stop_area": "stop_area:OCE:SA:87139865", + "nom": "Lirey la Chapelle", + "lat": 48.156896, + "lon": 4.050103 + }, + { + "uic": "87444265", + "stop_area": "stop_area:OCE:SA:87444265", + "nom": "Lisieux", + "lat": 49.138299, + "lon": 0.231143 + }, + { + "uic": "87615310", + "stop_area": "stop_area:OCE:SA:87615310", + "nom": "Lisle-sur-Tarn", + "lat": 43.85639, + "lon": 1.80823 + }, + { + "uic": "87447219", + "stop_area": "stop_area:OCE:SA:87447219", + "nom": "Lison", + "lat": 49.226834, + "lon": -1.050339 + }, + { + "uic": "87697227", + "stop_area": "stop_area:OCE:SA:87697227", + "nom": "Lissieu-Le Bois Dieu RD306", + "lat": 45.840796, + "lon": 4.736866 + }, + { + "uic": "87141069", + "stop_area": "stop_area:OCE:SA:87141069", + "nom": "Liverdun", + "lat": 48.749387, + "lon": 6.061669 + }, + { + "uic": "87761247", + "stop_area": "stop_area:OCE:SA:87761247", + "nom": "Livron", + "lat": 44.779617, + "lon": 4.830559 + }, + { + "uic": "88717124", + "stop_area": "stop_area:OCE:SA:88717124", + "nom": "LOBBES", + "lat": 50.346384, + "lon": 4.260988 + }, + { + "uic": "87571471", + "stop_area": "stop_area:OCE:SA:87571471", + "nom": "Loches", + "lat": 47.130464, + "lon": 1.000467 + }, + { + "uic": "87182345", + "stop_area": "stop_area:OCE:SA:87182345", + "nom": "Logelbach", + "lat": 48.087296, + "lon": 7.321087 + }, + { + "uic": "87665331", + "stop_area": "stop_area:OCE:SA:87665331", + "nom": "Logelbach Hirn", + "lat": 48.088748, + "lon": 7.321808 + }, + { + "uic": "87345231", + "stop_area": "stop_area:OCE:SA:87345231", + "nom": "Loison-sous-Lens", + "lat": 50.440028, + "lon": 2.859549 + }, + { + "uic": "87171728", + "stop_area": "stop_area:OCE:SA:87171728", + "nom": "Loivre", + "lat": 49.346676, + "lon": 3.990625 + }, + { + "uic": "87611053", + "stop_area": "stop_area:OCE:SA:87611053", + "nom": "Longages - Noé", + "lat": 43.356471, + "lon": 1.251657 + }, + { + "uic": "87712620", + "stop_area": "stop_area:OCE:SA:87712620", + "nom": "Longecourt", + "lat": 47.193863, + "lon": 5.134775 + }, + { + "uic": "87515601", + "stop_area": "stop_area:OCE:SA:87515601", + "nom": "Longeville-sur-Mogne Mairie", + "lat": 48.147437, + "lon": 4.058048 + }, + { + "uic": "87271775", + "stop_area": "stop_area:OCE:SA:87271775", + "nom": "Longpont", + "lat": 49.272602, + "lon": 3.230265 + }, + { + "uic": "87313122", + "stop_area": "stop_area:OCE:SA:87313122", + "nom": "Longpré-les-Corps-Saints", + "lat": 50.011564, + "lon": 2.0025 + }, + { + "uic": "87313817", + "stop_area": "stop_area:OCE:SA:87313817", + "nom": "Longroy - Gamaches", + "lat": 49.982444, + "lon": 1.551899 + }, + { + "uic": "87313049", + "stop_area": "stop_area:OCE:SA:87313049", + "nom": "Longueau", + "lat": 49.863407, + "lon": 2.352233 + }, + { + "uic": "87272195", + "stop_area": "stop_area:OCE:SA:87272195", + "nom": "Longueil-Annel", + "lat": 49.466991, + "lon": 2.862877 + }, + { + "uic": "87276303", + "stop_area": "stop_area:OCE:SA:87276303", + "nom": "Longueil-Sainte-Marie", + "lat": 49.342407, + "lon": 2.717636 + }, + { + "uic": "87411447", + "stop_area": "stop_area:OCE:SA:87411447", + "nom": "Longuerue - Vieux-Manoir", + "lat": 49.556678, + "lon": 1.276228 + }, + { + "uic": "87116137", + "stop_area": "stop_area:OCE:SA:87116137", + "nom": "Longueville", + "lat": 48.513703, + "lon": 3.249822 + }, + { + "uic": "87415141", + "stop_area": "stop_area:OCE:SA:87415141", + "nom": "Longueville-sur-Scie", + "lat": 49.791817, + "lon": 1.110448 + }, + { + "uic": "87194274", + "stop_area": "stop_area:OCE:SA:87194274", + "nom": "Longuyon", + "lat": 49.444412, + "lon": 5.604551 + }, + { + "uic": "87406702", + "stop_area": "stop_area:OCE:SA:87406702", + "nom": "Longuyon La Machine", + "lat": 49.453923, + "lon": 5.600391 + }, + { + "uic": "87406611", + "stop_area": "stop_area:OCE:SA:87406611", + "nom": "Longuyon Pont des Deux Eaux", + "lat": 49.448643, + "lon": 5.599476 + }, + { + "uic": "87194001", + "stop_area": "stop_area:OCE:SA:87194001", + "nom": "Longwy", + "lat": 49.513004, + "lon": 5.76956 + }, + { + "uic": "87406710", + "stop_area": "stop_area:OCE:SA:87406710", + "nom": "Longwy Espace Bus", + "lat": 49.513639, + "lon": 5.768715 + }, + { + "uic": "87477588", + "stop_area": "stop_area:OCE:SA:87477588", + "nom": "Longwy Route de Metz", + "lat": 49.511948, + "lon": 5.762638 + }, + { + "uic": "87718239", + "stop_area": "stop_area:OCE:SA:87718239", + "nom": "Lons-le-Saunier", + "lat": 46.66858, + "lon": 5.551108 + }, + { + "uic": "87286112", + "stop_area": "stop_area:OCE:SA:87286112", + "nom": "Loos lez Lille", + "lat": 50.612936, + "lon": 3.016976 + }, + { + "uic": "87345033", + "stop_area": "stop_area:OCE:SA:87345033", + "nom": "Loos-en-Gohelle", + "lat": 50.437854, + "lon": 2.793526 + }, + { + "uic": "87726091", + "stop_area": "stop_area:OCE:SA:87726091", + "nom": "Lorentzen Rue principale", + "lat": 48.952522, + "lon": 7.175649 + }, + { + "uic": "87576157", + "stop_area": "stop_area:OCE:SA:87576157", + "nom": "Loreux", + "lat": 47.39036, + "lon": 1.834388 + }, + { + "uic": "87476002", + "stop_area": "stop_area:OCE:SA:87476002", + "nom": "Lorient", + "lat": 47.755597, + "lon": -3.366221 + }, + { + "uic": "87761262", + "stop_area": "stop_area:OCE:SA:87761262", + "nom": "Loriol", + "lat": 44.754515, + "lon": 4.817213 + }, + { + "uic": "87142109", + "stop_area": "stop_area:OCE:SA:87142109", + "nom": "Lorraine TGV", + "lat": 48.947713, + "lon": 6.169778 + }, + { + "uic": "87597104", + "stop_area": "stop_area:OCE:SA:87597104", + "nom": "Lothiers", + "lat": 46.694734, + "lon": 1.562907 + }, + { + "uic": "87138370", + "stop_area": "stop_area:OCE:SA:87138370", + "nom": "Loubiere Canabols", + "lat": 44.378548, + "lon": 2.654099 + }, + { + "uic": "87215319", + "stop_area": "stop_area:OCE:SA:87215319", + "nom": "Loudrefing Rue Principale", + "lat": 48.851275, + "lon": 6.876969 + }, + { + "uic": "87713735", + "stop_area": "stop_area:OCE:SA:87713735", + "nom": "Louhans", + "lat": 46.630929, + "lon": 5.21753 + }, + { + "uic": "87491290", + "stop_area": "stop_area:OCE:SA:87491290", + "nom": "Loulay", + "lat": 46.043527, + "lon": -0.501798 + }, + { + "uic": "87190801", + "stop_area": "stop_area:OCE:SA:87190801", + "nom": "Loupershouse centre", + "lat": 49.080859, + "lon": 6.914367 + }, + { + "uic": "87343475", + "stop_area": "stop_area:OCE:SA:87343475", + "nom": "Lourches", + "lat": 50.310238, + "lon": 3.343186 + }, + { + "uic": "87671339", + "stop_area": "stop_area:OCE:SA:87671339", + "nom": "Lourdes", + "lat": 43.100429, + "lon": -0.042186 + }, + { + "uic": "87611178", + "stop_area": "stop_area:OCE:SA:87611178", + "nom": "Loures - Barbazan", + "lat": 43.021075, + "lon": 0.610449 + }, + { + "uic": "87173468", + "stop_area": "stop_area:OCE:SA:87173468", + "nom": "Loures-Barousse Église", + "lat": 43.024222, + "lon": 0.604932 + }, + { + "uic": "87641050", + "stop_area": "stop_area:OCE:SA:87641050", + "nom": "Louroux-de-Bouble", + "lat": 46.22399, + "lon": 2.98489 + }, + { + "uic": "87295535", + "stop_area": "stop_area:OCE:SA:87295535", + "nom": "Louvroil", + "lat": 50.268537, + "lon": 3.953691 + }, + { + "uic": "87721423", + "stop_area": "stop_area:OCE:SA:87721423", + "nom": "Lozanne", + "lat": 45.854174, + "lon": 4.681474 + }, + { + "uic": "87597096", + "stop_area": "stop_area:OCE:SA:87597096", + "nom": "Luant", + "lat": 46.735768, + "lon": 1.590196 + }, + { + "uic": "87734368", + "stop_area": "stop_area:OCE:SA:87734368", + "nom": "Luc", + "lat": 44.654112, + "lon": 3.891142 + }, + { + "uic": "87761874", + "stop_area": "stop_area:OCE:SA:87761874", + "nom": "Luc-en-Diois", + "lat": 44.613697, + "lon": 5.454618 + }, + { + "uic": "87615773", + "stop_area": "stop_area:OCE:SA:87615773", + "nom": "Luc-Primaube", + "lat": 44.2915, + "lon": 2.554776 + }, + { + "uic": "87576363", + "stop_area": "stop_area:OCE:SA:87576363", + "nom": "Luçay-le-Mâle", + "lat": 47.132858, + "lon": 1.436103 + }, + { + "uic": "87733733", + "stop_area": "stop_area:OCE:SA:87733733", + "nom": "Lucay-le-Mâle Champ de Foire", + "lat": 47.123286, + "lon": 1.438125 + }, + { + "uic": "87394015", + "stop_area": "stop_area:OCE:SA:87394015", + "nom": "Lucé", + "lat": 48.436123, + "lon": 1.452958 + }, + { + "uic": "87611236", + "stop_area": "stop_area:OCE:SA:87611236", + "nom": "Luchon", + "lat": 42.797336, + "lon": 0.596649 + }, + { + "uic": "87486258", + "stop_area": "stop_area:OCE:SA:87486258", + "nom": "Luçon", + "lat": 46.463627, + "lon": -1.167421 + }, + { + "uic": "87192120", + "stop_area": "stop_area:OCE:SA:87192120", + "nom": "Lucy Rue des Tilleuls", + "lat": 48.9423, + "lon": 6.468053 + }, + { + "uic": "87677245", + "stop_area": "stop_area:OCE:SA:87677245", + "nom": "Lucy-sur-Cure D606", + "lat": 47.627783, + "lon": 3.744664 + }, + { + "uic": "87581181", + "stop_area": "stop_area:OCE:SA:87581181", + "nom": "Ludon", + "lat": 44.974291, + "lon": -0.611689 + }, + { + "uic": "87141481", + "stop_area": "stop_area:OCE:SA:87141481", + "nom": "Ludres", + "lat": 48.62188, + "lon": 6.170647 + }, + { + "uic": "80190827", + "stop_area": "stop_area:OCE:SA:80190827", + "nom": "Ludwigshafen (Rhein) Hbf", + "lat": 49.4775, + "lon": 8.4343 + }, + { + "uic": "87172189", + "stop_area": "stop_area:OCE:SA:87172189", + "nom": "Lumes", + "lat": 49.732797, + "lon": 4.783357 + }, + { + "uic": "87781575", + "stop_area": "stop_area:OCE:SA:87781575", + "nom": "Lunas", + "lat": 43.709581, + "lon": 3.194899 + }, + { + "uic": "87773408", + "stop_area": "stop_area:OCE:SA:87773408", + "nom": "Lunel", + "lat": 43.679392, + "lon": 4.131086 + }, + { + "uic": "87773424", + "stop_area": "stop_area:OCE:SA:87773424", + "nom": "Lunel-Viel", + "lat": 43.681173, + "lon": 4.09374 + }, + { + "uic": "87576280", + "stop_area": "stop_area:OCE:SA:87576280", + "nom": "Lunery", + "lat": 46.935164, + "lon": 2.27509 + }, + { + "uic": "87141150", + "stop_area": "stop_area:OCE:SA:87141150", + "nom": "Lunéville", + "lat": 48.58799, + "lon": 6.496997 + }, + { + "uic": "87672741", + "stop_area": "stop_area:OCE:SA:87672741", + "nom": "Lurbe-Saint-Christau", + "lat": 43.121316, + "lon": -0.604162 + }, + { + "uic": "87185249", + "stop_area": "stop_area:OCE:SA:87185249", + "nom": "Lure", + "lat": 47.683274, + "lon": 6.492563 + }, + { + "uic": "87747667", + "stop_area": "stop_area:OCE:SA:87747667", + "nom": "Lus-la-Croix-Haute", + "lat": 44.671073, + "lon": 5.697382 + }, + { + "uic": "87697516", + "stop_area": "stop_area:OCE:SA:87697516", + "nom": "Lus-la-Croix-Haute RD 1075", + "lat": 44.665074, + "lon": 5.705284 + }, + { + "uic": "87173500", + "stop_area": "stop_area:OCE:SA:87173500", + "nom": "Luscan-Pont de Luscan", + "lat": 43.011457, + "lon": 0.61532 + }, + { + "uic": "87485540", + "stop_area": "stop_area:OCE:SA:87485540", + "nom": "Lusignan", + "lat": 46.435495, + "lon": 0.116555 + }, + { + "uic": "87215988", + "stop_area": "stop_area:OCE:SA:87215988", + "nom": "Lusigny-sur-Barse Centre", + "lat": 48.254621, + "lon": 4.267594 + }, + { + "uic": "87279950", + "stop_area": "stop_area:OCE:SA:87279950", + "nom": "Lusigny-sur-Barse RN19", + "lat": 48.253607, + "lon": 4.26054 + }, + { + "uic": "87575845", + "stop_area": "stop_area:OCE:SA:87575845", + "nom": "Lussac-les-Châteaux", + "lat": 46.40515, + "lon": 0.718698 + }, + { + "uic": "87767806", + "stop_area": "stop_area:OCE:SA:87767806", + "nom": "Lusse-tunnel Maurice Lemaire", + "lat": 48.289812, + "lon": 7.109162 + }, + { + "uic": "87665505", + "stop_area": "stop_area:OCE:SA:87665505", + "nom": "Luttenbach Abri Route Principale", + "lat": 48.035854, + "lon": 7.118808 + }, + { + "uic": "87665513", + "stop_area": "stop_area:OCE:SA:87665513", + "nom": "Luttenbach Fronzell", + "lat": 48.032459, + "lon": 7.109984 + }, + { + "uic": "87182543", + "stop_area": "stop_area:OCE:SA:87182543", + "nom": "Luttenbach-près-Munster", + "lat": 48.035463, + "lon": 7.11906 + }, + { + "uic": "87182667", + "stop_area": "stop_area:OCE:SA:87182667", + "nom": "Lutterbach", + "lat": 47.758214, + "lon": 7.276994 + }, + { + "uic": "87534347", + "stop_area": "stop_area:OCE:SA:87534347", + "nom": "Lutterbach Tram-train", + "lat": 47.758214, + "lon": 7.276994 + }, + { + "uic": "87215160", + "stop_area": "stop_area:OCE:SA:87215160", + "nom": "Lutzelbourg", + "lat": 48.730011, + "lon": 7.251587 + }, + { + "uic": "87214650", + "stop_area": "stop_area:OCE:SA:87214650", + "nom": "Lutzelhouse", + "lat": 48.517614, + "lon": 7.292916 + }, + { + "uic": "87660605", + "stop_area": "stop_area:OCE:SA:87660605", + "nom": "Lutzelhouse Abri Église", + "lat": 48.519287, + "lon": 7.287589 + }, + { + "uic": "87583823", + "stop_area": "stop_area:OCE:SA:87583823", + "nom": "Luxé", + "lat": 45.887493, + "lon": 0.109556 + }, + { + "uic": "82001000", + "stop_area": "stop_area:OCE:SA:82001000", + "nom": "Luxembourg", + "lat": 49.599722, + "lon": 6.134722 + }, + { + "uic": "82916015", + "stop_area": "stop_area:OCE:SA:82916015", + "nom": "Luxembourg Gare", + "lat": 49.598611, + "lon": 6.133056 + }, + { + "uic": "82007104", + "stop_area": "stop_area:OCE:SA:82007104", + "nom": "Luxembourg secteur Hollerich", + "lat": 49.59586, + "lon": 6.11878 + }, + { + "uic": "87185595", + "stop_area": "stop_area:OCE:SA:87185595", + "nom": "Luxeuil-les-Bains", + "lat": 47.814918, + "lon": 6.372671 + }, + { + "uic": "87611558", + "stop_area": "stop_area:OCE:SA:87611558", + "nom": "Luzenac - Garanou", + "lat": 42.764472, + "lon": 1.753416 + }, + { + "uic": "87696534", + "stop_area": "stop_area:OCE:SA:87696534", + "nom": "Luzy", + "lat": 46.794073, + "lon": 3.969259 + }, + { + "uic": "87500082", + "stop_area": "stop_area:OCE:SA:87500082", + "nom": "Luzy Champs de Foire", + "lat": 46.7905, + "lon": 3.9704 + }, + { + "uic": "87721175", + "stop_area": "stop_area:OCE:SA:87721175", + "nom": "Lyon Gorge de Loup", + "lat": 45.766095, + "lon": 4.804697 + }, + { + "uic": "87282624", + "stop_area": "stop_area:OCE:SA:87282624", + "nom": "Lyon Jean Macé", + "lat": 45.74503, + "lon": 4.841499 + }, + { + "uic": "87723197", + "stop_area": "stop_area:OCE:SA:87723197", + "nom": "Lyon Part Dieu", + "lat": 45.760596, + "lon": 4.859409 + }, + { + "uic": "87722025", + "stop_area": "stop_area:OCE:SA:87722025", + "nom": "Lyon Perrache", + "lat": 45.748508, + "lon": 4.825777 + }, + { + "uic": "87762906", + "stop_area": "stop_area:OCE:SA:87762906", + "nom": "Lyon Saint-Exupéry TGV", + "lat": 45.721109, + "lon": 5.074969 + }, + { + "uic": "87721159", + "stop_area": "stop_area:OCE:SA:87721159", + "nom": "Lyon Saint-Paul", + "lat": 45.766077, + "lon": 4.826954 + }, + { + "uic": "87721001", + "stop_area": "stop_area:OCE:SA:87721001", + "nom": "Lyon Vaise", + "lat": 45.77976, + "lon": 4.804186 + }, + { + "uic": "87697128", + "stop_area": "stop_area:OCE:SA:87697128", + "nom": "Lyon-Part-Dieu Gare Routière", + "lat": 45.761064, + "lon": 4.862984 + }, + { + "uic": "87698340", + "stop_area": "stop_area:OCE:SA:87698340", + "nom": "Lyon-Saint-Paul La Feuillée", + "lat": 45.765943, + "lon": 4.827477 + }, + { + "uic": "87698332", + "stop_area": "stop_area:OCE:SA:87698332", + "nom": "Lyon-Saint-Paul Quai de Bondy", + "lat": 45.766595, + "lon": 4.828287 + }, + { + "uic": "87697045", + "stop_area": "stop_area:OCE:SA:87697045", + "nom": "Lyon-Vaise-Gare-Routière", + "lat": 45.779611, + "lon": 4.803685 + }, + { + "uic": "87581199", + "stop_area": "stop_area:OCE:SA:87581199", + "nom": "Macau", + "lat": 45.004171, + "lon": -0.619859 + }, + { + "uic": "87481366", + "stop_area": "stop_area:OCE:SA:87481366", + "nom": "Machecoul", + "lat": 46.990587, + "lon": -1.822647 + }, + { + "uic": "87745588", + "stop_area": "stop_area:OCE:SA:87745588", + "nom": "Machilly", + "lat": 46.251292, + "lon": 6.328197 + }, + { + "uic": "87139873", + "stop_area": "stop_area:OCE:SA:87139873", + "nom": "Machy", + "lat": 48.140015, + "lon": 4.044197 + }, + { + "uic": "87725689", + "stop_area": "stop_area:OCE:SA:87725689", + "nom": "Mâcon", + "lat": 46.302572, + "lon": 4.824887 + }, + { + "uic": "87725705", + "stop_area": "stop_area:OCE:SA:87725705", + "nom": "Mâcon - Loché TGV", + "lat": 46.282912, + "lon": 4.778924 + }, + { + "uic": "87781666", + "stop_area": "stop_area:OCE:SA:87781666", + "nom": "Magalas", + "lat": 43.4676, + "lon": 3.229541 + }, + { + "uic": "87746412", + "stop_area": "stop_area:OCE:SA:87746412", + "nom": "Magland", + "lat": 46.016951, + "lon": 6.621524 + }, + { + "uic": "87592279", + "stop_area": "stop_area:OCE:SA:87592279", + "nom": "Magnac - Vicq", + "lat": 45.628846, + "lon": 1.443798 + }, + { + "uic": "87641365", + "stop_area": "stop_area:OCE:SA:87641365", + "nom": "Magnette", + "lat": 46.464146, + "lon": 2.602987 + }, + { + "uic": "87400986", + "stop_area": "stop_area:OCE:SA:87400986", + "nom": "Magneux - Courlandon", + "lat": 49.309899, + "lon": 3.734412 + }, + { + "uic": "87394429", + "stop_area": "stop_area:OCE:SA:87394429", + "nom": "Magny - Blandainville", + "lat": 48.334306, + "lon": 1.281173 + }, + { + "uic": "87215939", + "stop_area": "stop_area:OCE:SA:87215939", + "nom": "Magny-Fouchard", + "lat": 48.241685, + "lon": 4.534473 + }, + { + "uic": "80194209", + "stop_area": "stop_area:OCE:SA:80194209", + "nom": "Maikammer-Kirrweiler", + "lat": 49.30556, + "lon": 8.147223 + }, + { + "uic": "87575068", + "stop_area": "stop_area:OCE:SA:87575068", + "nom": "Maillé", + "lat": 47.05327, + "lon": 0.582929 + }, + { + "uic": "87683847", + "stop_area": "stop_area:OCE:SA:87683847", + "nom": "Mailly-la-Ville", + "lat": 47.604169, + "lon": 3.675147 + }, + { + "uic": "87754929", + "stop_area": "stop_area:OCE:SA:87754929", + "nom": "Mailly-le-Camp Camp Militaire", + "lat": 48.66338, + "lon": 4.217615 + }, + { + "uic": "87747253", + "stop_area": "stop_area:OCE:SA:87747253", + "nom": "Mailly-le-Camp Garage", + "lat": 48.674695, + "lon": 4.191327 + }, + { + "uic": "87394130", + "stop_area": "stop_area:OCE:SA:87394130", + "nom": "Maintenon", + "lat": 48.585479, + "lon": 1.592065 + }, + { + "uic": "87746891", + "stop_area": "stop_area:OCE:SA:87746891", + "nom": "Maintenon Gare Routière", + "lat": 48.585382, + "lon": 1.591937 + }, + { + "uic": "80190512", + "stop_area": "stop_area:OCE:SA:80190512", + "nom": "Mainz Hbf", + "lat": 50.0013, + "lon": 8.2585 + }, + { + "uic": "87727859", + "stop_area": "stop_area:OCE:SA:87727859", + "nom": "Maizières la Grande Paroisse Pont de Clairvaux", + "lat": 48.513127, + "lon": 3.800473 + }, + { + "uic": "87118141", + "stop_area": "stop_area:OCE:SA:87118141", + "nom": "Maizières-la-Grande-Paroisse Eglise", + "lat": 48.511494, + "lon": 3.786759 + }, + { + "uic": "87139584", + "stop_area": "stop_area:OCE:SA:87139584", + "nom": "Maizières-la-Grande-Paroisse Tabac", + "lat": 48.501306, + "lon": 3.780686 + }, + { + "uic": "87191106", + "stop_area": "stop_area:OCE:SA:87191106", + "nom": "Maizières-lès-Metz", + "lat": 49.215536, + "lon": 6.158727 + }, + { + "uic": "87713065", + "stop_area": "stop_area:OCE:SA:87713065", + "nom": "Mâlain", + "lat": 47.327183, + "lon": 4.809186 + }, + { + "uic": "87476689", + "stop_area": "stop_area:OCE:SA:87476689", + "nom": "Malansac", + "lat": 47.675559, + "lon": -2.295869 + }, + { + "uic": "87411256", + "stop_area": "stop_area:OCE:SA:87411256", + "nom": "Malaunay - Le Houlme", + "lat": 49.513326, + "lon": 1.03952 + }, + { + "uic": "87699850", + "stop_area": "stop_area:OCE:SA:87699850", + "nom": "Malbuisson", + "lat": 46.799206, + "lon": 6.304548 + }, + { + "uic": "87191627", + "stop_area": "stop_area:OCE:SA:87191627", + "nom": "Malling", + "lat": 49.42152, + "lon": 6.302207 + }, + { + "uic": "87659920", + "stop_area": "stop_area:OCE:SA:87659920", + "nom": "Malmerspach Rond-point", + "lat": 47.867203, + "lon": 7.038704 + }, + { + "uic": "87718510", + "stop_area": "stop_area:OCE:SA:87718510", + "nom": "Mamirolle", + "lat": 47.199903, + "lon": 6.161833 + }, + { + "uic": "87757591", + "stop_area": "stop_area:OCE:SA:87757591", + "nom": "Mandelieu-la-Napoule", + "lat": 43.52391, + "lon": 6.941318 + }, + { + "uic": "80140087", + "stop_area": "stop_area:OCE:SA:80140087", + "nom": "Mannheim Hbf", + "lat": 49.4794, + "lon": 8.4696 + }, + { + "uic": "87751321", + "stop_area": "stop_area:OCE:SA:87751321", + "nom": "Manosque - Gréoux-les-Bains", + "lat": 43.823194, + "lon": 5.793324 + }, + { + "uic": "87381509", + "stop_area": "stop_area:OCE:SA:87381509", + "nom": "Mantes-la-Jolie", + "lat": 48.98984, + "lon": 1.70337 + }, + { + "uic": "87141796", + "stop_area": "stop_area:OCE:SA:87141796", + "nom": "Marbache", + "lat": 48.801156, + "lon": 6.108779 + }, + { + "uic": "87313445", + "stop_area": "stop_area:OCE:SA:87313445", + "nom": "Marcelcave", + "lat": 49.853115, + "lon": 2.581744 + }, + { + "uic": "87582445", + "stop_area": "stop_area:OCE:SA:87582445", + "nom": "Marcheprime", + "lat": 44.690532, + "lon": -0.853726 + }, + { + "uic": "88718528", + "stop_area": "stop_area:OCE:SA:88718528", + "nom": "MARCHIENNE-ZONE", + "lat": 50.397166, + "lon": 4.389017 + }, + { + "uic": "87317206", + "stop_area": "stop_area:OCE:SA:87317206", + "nom": "Maresquel", + "lat": 50.408063, + "lon": 1.930917 + }, + { + "uic": "87581215", + "stop_area": "stop_area:OCE:SA:87581215", + "nom": "Margaux", + "lat": 45.035916, + "lon": -0.685393 + }, + { + "uic": "87271882", + "stop_area": "stop_area:OCE:SA:87271882", + "nom": "Margival", + "lat": 49.439376, + "lon": 3.402717 + }, + { + "uic": "87172411", + "stop_area": "stop_area:OCE:SA:87172411", + "nom": "Margut - Fromy", + "lat": 49.590956, + "lon": 5.257797 + }, + { + "uic": "87112714", + "stop_area": "stop_area:OCE:SA:87112714", + "nom": "Margut Place Trouslard", + "lat": 49.585292, + "lon": 5.265305 + }, + { + "uic": "87213603", + "stop_area": "stop_area:OCE:SA:87213603", + "nom": "Marienthal", + "lat": 48.781868, + "lon": 7.823352 + }, + { + "uic": "87659839", + "stop_area": "stop_area:OCE:SA:87659839", + "nom": "Marienthal Basilique Notre-Dame", + "lat": 48.780133, + "lon": 7.816475 + }, + { + "uic": "87611194", + "stop_area": "stop_area:OCE:SA:87611194", + "nom": "Marignac - Saint-Béat", + "lat": 42.915488, + "lon": 0.651945 + }, + { + "uic": "87746347", + "stop_area": "stop_area:OCE:SA:87746347", + "nom": "Marignier", + "lat": 46.088786, + "lon": 6.507849 + }, + { + "uic": "87485334", + "stop_area": "stop_area:OCE:SA:87485334", + "nom": "Marigny", + "lat": 46.199083, + "lon": -0.428404 + }, + { + "uic": "87192195", + "stop_area": "stop_area:OCE:SA:87192195", + "nom": "Marimont-lès-Bénestroff Eglise", + "lat": 48.889549, + "lon": 6.78394 + }, + { + "uic": "87296095", + "stop_area": "stop_area:OCE:SA:87296095", + "nom": "Marle sur Serre", + "lat": 49.746918, + "lon": 3.769971 + }, + { + "uic": "87723767", + "stop_area": "stop_area:OCE:SA:87723767", + "nom": "Marlieux - Châtillon", + "lat": 46.063876, + "lon": 5.07311 + }, + { + "uic": "87576132", + "stop_area": "stop_area:OCE:SA:87576132", + "nom": "Marmagne", + "lat": 47.100074, + "lon": 2.282611 + }, + { + "uic": "87694182", + "stop_area": "stop_area:OCE:SA:87694182", + "nom": "Marmagne sous Creusot", + "lat": 46.833457, + "lon": 4.360199 + }, + { + "uic": "87586545", + "stop_area": "stop_area:OCE:SA:87586545", + "nom": "Marmande", + "lat": 44.503071, + "lon": 0.168091 + }, + { + "uic": "87107508", + "stop_area": "stop_area:OCE:SA:87107508", + "nom": "Marnaval Église", + "lat": 48.62535, + "lon": 4.990121 + }, + { + "uic": "87118182", + "stop_area": "stop_area:OCE:SA:87118182", + "nom": "Marnay-sur-Seine", + "lat": 48.51271, + "lon": 3.557703 + }, + { + "uic": "87111849", + "stop_area": "stop_area:OCE:SA:87111849", + "nom": "Marne-la-Vallée Chessy", + "lat": 48.869898, + "lon": 2.782626 + }, + { + "uic": "87342188", + "stop_area": "stop_area:OCE:SA:87342188", + "nom": "Maroeuil", + "lat": 50.322431, + "lon": 2.698498 + }, + { + "uic": "87411249", + "stop_area": "stop_area:OCE:SA:87411249", + "nom": "Maromme", + "lat": 49.479899, + "lon": 1.05056 + }, + { + "uic": "87342469", + "stop_area": "stop_area:OCE:SA:87342469", + "nom": "Marquillies", + "lat": 50.548145, + "lon": 2.867373 + }, + { + "uic": "87317339", + "stop_area": "stop_area:OCE:SA:87317339", + "nom": "Marquise - Rinxent", + "lat": 50.805686, + "lon": 1.729786 + }, + { + "uic": "87784629", + "stop_area": "stop_area:OCE:SA:87784629", + "nom": "Marquixanes", + "lat": 42.643067, + "lon": 2.486215 + }, + { + "uic": "87597625", + "stop_area": "stop_area:OCE:SA:87597625", + "nom": "Marsac", + "lat": 46.094192, + "lon": 1.585591 + }, + { + "uic": "87595207", + "stop_area": "stop_area:OCE:SA:87595207", + "nom": "Marsac Dordogne", + "lat": 45.186016, + "lon": 0.662567 + }, + { + "uic": "87781294", + "stop_area": "stop_area:OCE:SA:87781294", + "nom": "Marseillan Plage", + "lat": 43.318258, + "lon": 3.535629 + }, + { + "uic": "87580340", + "stop_area": "stop_area:OCE:SA:87580340", + "nom": "Marseille Arenc Euroméditerranée", + "lat": 43.312247, + "lon": 5.36801 + }, + { + "uic": "87751081", + "stop_area": "stop_area:OCE:SA:87751081", + "nom": "Marseille Blancarde", + "lat": 43.296195, + "lon": 5.406588 + }, + { + "uic": "87751008", + "stop_area": "stop_area:OCE:SA:87751008", + "nom": "Marseille Saint-Charles", + "lat": 43.302666, + "lon": 5.380407 + }, + { + "uic": "87313726", + "stop_area": "stop_area:OCE:SA:87313726", + "nom": "Marseille-en-Beauvaisis", + "lat": 49.571031, + "lon": 1.954751 + }, + { + "uic": "87615419", + "stop_area": "stop_area:OCE:SA:87615419", + "nom": "Marssac-sur-tarn", + "lat": 43.91523, + "lon": 2.02678 + }, + { + "uic": "87594713", + "stop_area": "stop_area:OCE:SA:87594713", + "nom": "Martel", + "lat": 44.936361, + "lon": 1.607174 + }, + { + "uic": "87471367", + "stop_area": "stop_area:OCE:SA:87471367", + "nom": "Martigné-Ferchaud", + "lat": 47.832044, + "lon": -1.313808 + }, + { + "uic": "85015008", + "stop_area": "stop_area:OCE:SA:85015008", + "nom": "Martigny", + "lat": 46.10583, + "lon": 7.07911 + }, + { + "uic": "87144295", + "stop_area": "stop_area:OCE:SA:87144295", + "nom": "Martigny-les-Bains Gare", + "lat": 48.108552, + "lon": 5.825703 + }, + { + "uic": "87700989", + "stop_area": "stop_area:OCE:SA:87700989", + "nom": "Martigny-les-Bains Thiébaut", + "lat": 48.104445, + "lon": 5.823891 + }, + { + "uic": "87117440", + "stop_area": "stop_area:OCE:SA:87117440", + "nom": "Martigny-Les-Gerbonvaux Centre", + "lat": 48.444816, + "lon": 5.792737 + }, + { + "uic": "87753509", + "stop_area": "stop_area:OCE:SA:87753509", + "nom": "Martigues", + "lat": 43.392914, + "lon": 5.025762 + }, + { + "uic": "87611087", + "stop_area": "stop_area:OCE:SA:87611087", + "nom": "Martres-Tolosane", + "lat": 43.196254, + "lon": 1.016416 + }, + { + "uic": "87783282", + "stop_area": "stop_area:OCE:SA:87783282", + "nom": "Marvejols", + "lat": 44.544675, + "lon": 3.281119 + }, + { + "uic": "87640631", + "stop_area": "stop_area:OCE:SA:87640631", + "nom": "Marvejols Place du Chayla", + "lat": 44.554383, + "lon": 3.294066 + }, + { + "uic": "87471227", + "stop_area": "stop_area:OCE:SA:87471227", + "nom": "Massérac", + "lat": 47.674599, + "lon": -1.91437 + }, + { + "uic": "87594820", + "stop_area": "stop_area:OCE:SA:87594820", + "nom": "Masseret", + "lat": 45.536148, + "lon": 1.541415 + }, + { + "uic": "87734871", + "stop_area": "stop_area:OCE:SA:87734871", + "nom": "Massiac - Blesle", + "lat": 45.253745, + "lon": 3.196574 + }, + { + "uic": "87393702", + "stop_area": "stop_area:OCE:SA:87393702", + "nom": "Massy TGV", + "lat": 48.725758, + "lon": 2.261254 + }, + { + "uic": "87393579", + "stop_area": "stop_area:OCE:SA:87393579", + "nom": "Massy-Palaiseau", + "lat": 48.726421, + "lon": 2.257528 + }, + { + "uic": "87700955", + "stop_area": "stop_area:OCE:SA:87700955", + "nom": "Mattaincourt la Poste", + "lat": 48.278999, + "lon": 6.133343 + }, + { + "uic": "87214130", + "stop_area": "stop_area:OCE:SA:87214130", + "nom": "Matzenheim", + "lat": 48.398722, + "lon": 7.619595 + }, + { + "uic": "87295006", + "stop_area": "stop_area:OCE:SA:87295006", + "nom": "Maubeuge", + "lat": 50.272952, + "lon": 3.966765 + }, + { + "uic": "87345546", + "stop_area": "stop_area:OCE:SA:87345546", + "nom": "Maurois", + "lat": 50.068059, + "lon": 3.455903 + }, + { + "uic": "87645168", + "stop_area": "stop_area:OCE:SA:87645168", + "nom": "Maurs", + "lat": 44.706158, + "lon": 2.199653 + }, + { + "uic": "87417881", + "stop_area": "stop_area:OCE:SA:87417881", + "nom": "Maussac le Poteau", + "lat": 45.468338, + "lon": 2.143238 + }, + { + "uic": "87152413", + "stop_area": "stop_area:OCE:SA:87152413", + "nom": "Maussac Place de la Poste", + "lat": 45.471329, + "lon": 2.140202 + }, + { + "uic": "87481150", + "stop_area": "stop_area:OCE:SA:87481150", + "nom": "Mauves-sur-Loire", + "lat": 47.293026, + "lon": -1.389301 + }, + { + "uic": "87677948", + "stop_area": "stop_area:OCE:SA:87677948", + "nom": "Mauvezin Place de la Halle", + "lat": 43.730606, + "lon": 0.878386 + }, + { + "uic": "87584466", + "stop_area": "stop_area:OCE:SA:87584466", + "nom": "Mauzac", + "lat": 44.855892, + "lon": 0.789809 + }, + { + "uic": "87485250", + "stop_area": "stop_area:OCE:SA:87485250", + "nom": "Mauzé", + "lat": 46.199672, + "lon": -0.673639 + }, + { + "uic": "80646133", + "stop_area": "stop_area:OCE:SA:80646133", + "nom": "Maximiliansau Im Ruesten", + "lat": 49.035, + "lon": 8.2796 + }, + { + "uic": "87396580", + "stop_area": "stop_area:OCE:SA:87396580", + "nom": "Mayet", + "lat": 47.760124, + "lon": 0.265995 + }, + { + "uic": "87615542", + "stop_area": "stop_area:OCE:SA:87615542", + "nom": "Mazamet", + "lat": 43.497785, + "lon": 2.374735 + }, + { + "uic": "87342121", + "stop_area": "stop_area:OCE:SA:87342121", + "nom": "Mazingarbe", + "lat": 50.460479, + "lon": 2.701408 + }, + { + "uic": "87408906", + "stop_area": "stop_area:OCE:SA:87408906", + "nom": "Meaulne Place Centrale", + "lat": 46.598954, + "lon": 2.613322 + }, + { + "uic": "87698563", + "stop_area": "stop_area:OCE:SA:87698563", + "nom": "Megève-Autogare", + "lat": 45.858829, + "lon": 6.618276 + }, + { + "uic": "87576116", + "stop_area": "stop_area:OCE:SA:87576116", + "nom": "Mehun-sur-Yèvre", + "lat": 47.139441, + "lon": 2.207134 + }, + { + "uic": "87574244", + "stop_area": "stop_area:OCE:SA:87574244", + "nom": "Menars", + "lat": 47.644928, + "lon": 1.405653 + }, + { + "uic": "87642330", + "stop_area": "stop_area:OCE:SA:87642330", + "nom": "Menchhoffen Abri", + "lat": 48.858842, + "lon": 7.496546 + }, + { + "uic": "87783605", + "stop_area": "stop_area:OCE:SA:87783605", + "nom": "Mende", + "lat": 44.522347, + "lon": 3.501981 + }, + { + "uic": "87141390", + "stop_area": "stop_area:OCE:SA:87141390", + "nom": "Ménil - Flin", + "lat": 48.505022, + "lon": 6.659217 + }, + { + "uic": "87296434", + "stop_area": "stop_area:OCE:SA:87296434", + "nom": "Mennessis", + "lat": 49.692061, + "lon": 3.270562 + }, + { + "uic": "87576728", + "stop_area": "stop_area:OCE:SA:87576728", + "nom": "Mennetou-sur-Cher", + "lat": 47.268938, + "lon": 1.876461 + }, + { + "uic": "87756486", + "stop_area": "stop_area:OCE:SA:87756486", + "nom": "Menton", + "lat": 43.774435, + "lon": 7.493212 + }, + { + "uic": "87756494", + "stop_area": "stop_area:OCE:SA:87756494", + "nom": "Menton Garavan", + "lat": 43.785187, + "lon": 7.51728 + }, + { + "uic": "87574194", + "stop_area": "stop_area:OCE:SA:87574194", + "nom": "Mer", + "lat": 47.705894, + "lon": 1.506363 + }, + { + "uic": "87618348", + "stop_area": "stop_area:OCE:SA:87618348", + "nom": "Mercus-Garrabet", + "lat": 42.877269, + "lon": 1.627479 + }, + { + "uic": "87611525", + "stop_area": "stop_area:OCE:SA:87611525", + "nom": "Mérens-les-Vals", + "lat": 42.659488, + "lon": 1.837128 + }, + { + "uic": "87611814", + "stop_area": "stop_area:OCE:SA:87611814", + "nom": "Mérenvielle", + "lat": 43.636505, + "lon": 1.15033 + }, + { + "uic": "87313064", + "stop_area": "stop_area:OCE:SA:87313064", + "nom": "Méricourt - Ribemont", + "lat": 49.955465, + "lon": 2.571807 + }, + { + "uic": "87278259", + "stop_area": "stop_area:OCE:SA:87278259", + "nom": "Mérignac Arlac", + "lat": 44.82656, + "lon": -0.62614 + }, + { + "uic": "87184408", + "stop_area": "stop_area:OCE:SA:87184408", + "nom": "Méroux", + "lat": 47.58602, + "lon": 6.89844 + }, + { + "uic": "87193219", + "stop_area": "stop_area:OCE:SA:87193219", + "nom": "Merten Centre", + "lat": 49.248703, + "lon": 6.661803 + }, + { + "uic": "87477158", + "stop_area": "stop_area:OCE:SA:87477158", + "nom": "Merten République", + "lat": 49.248988, + "lon": 6.667031 + }, + { + "uic": "87213207", + "stop_area": "stop_area:OCE:SA:87213207", + "nom": "Mertzwiller", + "lat": 48.872056, + "lon": 7.678244 + }, + { + "uic": "87406918", + "stop_area": "stop_area:OCE:SA:87406918", + "nom": "Mertzwiller Monuments aux Morts", + "lat": 48.8726, + "lon": 7.6772 + }, + { + "uic": "87313668", + "stop_area": "stop_area:OCE:SA:87313668", + "nom": "Méru", + "lat": 49.232385, + "lon": 2.132415 + }, + { + "uic": "87713701", + "stop_area": "stop_area:OCE:SA:87713701", + "nom": "Mervans", + "lat": 46.798891, + "lon": 5.179594 + }, + { + "uic": "87182725", + "stop_area": "stop_area:OCE:SA:87182725", + "nom": "Merxheim", + "lat": 47.913189, + "lon": 7.302333 + }, + { + "uic": "87654541", + "stop_area": "stop_area:OCE:SA:87654541", + "nom": "Merxheim Pl. Général de Gaulle", + "lat": 47.910654, + "lon": 7.29265 + }, + { + "uic": "87139568", + "stop_area": "stop_area:OCE:SA:87139568", + "nom": "Méry-sur-Seine Hôtel de Ville", + "lat": 48.508626, + "lon": 3.88909 + }, + { + "uic": "87139550", + "stop_area": "stop_area:OCE:SA:87139550", + "nom": "Mesgrigny Mairie", + "lat": 48.486377, + "lon": 3.883707 + }, + { + "uic": "87471185", + "stop_area": "stop_area:OCE:SA:87471185", + "nom": "Messac - Guipry", + "lat": 47.82225, + "lon": -1.81822 + }, + { + "uic": "87141499", + "stop_area": "stop_area:OCE:SA:87141499", + "nom": "Messein", + "lat": 48.612879, + "lon": 6.137836 + }, + { + "uic": "87696187", + "stop_area": "stop_area:OCE:SA:87696187", + "nom": "Mesves - Bulcy", + "lat": 47.242075, + "lon": 3.006518 + }, + { + "uic": "87694158", + "stop_area": "stop_area:OCE:SA:87694158", + "nom": "Mesvres", + "lat": 46.862869, + "lon": 4.244961 + }, + { + "uic": "87715268", + "stop_area": "stop_area:OCE:SA:87715268", + "nom": "Métabief", + "lat": 46.773497, + "lon": 6.350183 + }, + { + "uic": "87192039", + "stop_area": "stop_area:OCE:SA:87192039", + "nom": "Metz", + "lat": 49.109466, + "lon": 6.177052 + }, + { + "uic": "87192070", + "stop_area": "stop_area:OCE:SA:87192070", + "nom": "Metz Nord", + "lat": 49.136865, + "lon": 6.167538 + }, + { + "uic": "87182816", + "stop_area": "stop_area:OCE:SA:87182816", + "nom": "Metzeral", + "lat": 48.01333, + "lon": 7.073338 + }, + { + "uic": "87191296", + "stop_area": "stop_area:OCE:SA:87191296", + "nom": "Metzeresche Fontaine", + "lat": 49.299185, + "lon": 6.304945 + }, + { + "uic": "87406835", + "stop_area": "stop_area:OCE:SA:87406835", + "nom": "Metzervisse Centre", + "lat": 49.315557, + "lon": 6.285255 + }, + { + "uic": "87406843", + "stop_area": "stop_area:OCE:SA:87406843", + "nom": "Metzervisse Église", + "lat": 49.314181, + "lon": 6.282173 + }, + { + "uic": "87193557", + "stop_area": "stop_area:OCE:SA:87193557", + "nom": "Metzing Centre", + "lat": 49.105861, + "lon": 6.95713 + }, + { + "uic": "87574137", + "stop_area": "stop_area:OCE:SA:87574137", + "nom": "Meung-sur-Loire", + "lat": 47.829954, + "lon": 1.691921 + }, + { + "uic": "87345272", + "stop_area": "stop_area:OCE:SA:87345272", + "nom": "Meurchin", + "lat": 50.496717, + "lon": 2.892738 + }, + { + "uic": "87713560", + "stop_area": "stop_area:OCE:SA:87713560", + "nom": "Meursault", + "lat": 46.969165, + "lon": 4.795452 + }, + { + "uic": "87147322", + "stop_area": "stop_area:OCE:SA:87147322", + "nom": "Meuse TGV", + "lat": 48.978583, + "lon": 5.271024 + }, + { + "uic": "87723585", + "stop_area": "stop_area:OCE:SA:87723585", + "nom": "Meximieux - Pérouges", + "lat": 45.901783, + "lon": 5.193296 + }, + { + "uic": "87594275", + "stop_area": "stop_area:OCE:SA:87594275", + "nom": "Meymac", + "lat": 45.530275, + "lon": 2.163953 + }, + { + "uic": "87450064", + "stop_area": "stop_area:OCE:SA:87450064", + "nom": "Meymac Bourg", + "lat": 45.535035, + "lon": 2.146824 + }, + { + "uic": "87751370", + "stop_area": "stop_area:OCE:SA:87751370", + "nom": "Meyrargues", + "lat": 43.644037, + "lon": 5.539566 + }, + { + "uic": "85010066", + "stop_area": "stop_area:OCE:SA:85010066", + "nom": "Meyrin", + "lat": 46.22235, + "lon": 6.0769 + }, + { + "uic": "87725838", + "stop_area": "stop_area:OCE:SA:87725838", + "nom": "Mézériat", + "lat": 46.234986, + "lon": 5.046587 + }, + { + "uic": "87444208", + "stop_area": "stop_area:OCE:SA:87444208", + "nom": "Mézidon - Canon", + "lat": 49.070914, + "lon": -0.074914 + }, + { + "uic": "85010140", + "stop_area": "stop_area:OCE:SA:85010140", + "nom": "Mies", + "lat": 46.299879, + "lon": 6.169566 + }, + { + "uic": "87575704", + "stop_area": "stop_area:OCE:SA:87575704", + "nom": "Mignaloux - Nouaillé", + "lat": 46.526258, + "lon": 0.411955 + }, + { + "uic": "83016451", + "stop_area": "stop_area:OCE:SA:83016451", + "nom": "MILANO PORTA GARIBALDI", + "lat": 45.484916, + "lon": 9.187694 + }, + { + "uic": "87775098", + "stop_area": "stop_area:OCE:SA:87775098", + "nom": "Milhaud", + "lat": 43.788489, + "lon": 4.303327 + }, + { + "uic": "87784546", + "stop_area": "stop_area:OCE:SA:87784546", + "nom": "Millas", + "lat": 42.688896, + "lon": 2.69375 + }, + { + "uic": "87783001", + "stop_area": "stop_area:OCE:SA:87783001", + "nom": "Millau", + "lat": 44.102344, + "lon": 3.07457 + }, + { + "uic": "87313700", + "stop_area": "stop_area:OCE:SA:87313700", + "nom": "Milly-sur-Thérain", + "lat": 49.503848, + "lon": 1.988745 + }, + { + "uic": "87478131", + "stop_area": "stop_area:OCE:SA:87478131", + "nom": "Miniac", + "lat": 48.531513, + "lon": -1.914787 + }, + { + "uic": "87639922", + "stop_area": "stop_area:OCE:SA:87639922", + "nom": "Minversheim Rue Principale", + "lat": 48.784366, + "lon": 7.620869 + }, + { + "uic": "87723726", + "stop_area": "stop_area:OCE:SA:87723726", + "nom": "Mionnay", + "lat": 45.896876, + "lon": 4.919836 + }, + { + "uic": "87753004", + "stop_area": "stop_area:OCE:SA:87753004", + "nom": "Miramas", + "lat": 43.580737, + "lon": 4.999565 + }, + { + "uic": "87342030", + "stop_area": "stop_area:OCE:SA:87342030", + "nom": "Miraumont", + "lat": 50.095928, + "lon": 2.734593 + }, + { + "uic": "87144212", + "stop_area": "stop_area:OCE:SA:87144212", + "nom": "Mirecourt", + "lat": 48.299249, + "lon": 6.129464 + }, + { + "uic": "87715821", + "stop_area": "stop_area:OCE:SA:87715821", + "nom": "Mirecourt Hôpital", + "lat": 48.305636, + "lon": 6.13382 + }, + { + "uic": "87405993", + "stop_area": "stop_area:OCE:SA:87405993", + "nom": "Mirecourt Lycée Agricole", + "lat": 48.293598, + "lon": 6.132072 + }, + { + "uic": "87723528", + "stop_area": "stop_area:OCE:SA:87723528", + "nom": "Miribel", + "lat": 45.822091, + "lon": 4.953922 + }, + { + "uic": "87698571", + "stop_area": "stop_area:OCE:SA:87698571", + "nom": "Miribel-RD1084-Élysée", + "lat": 45.824463, + "lon": 4.95419 + }, + { + "uic": "87215327", + "stop_area": "stop_area:OCE:SA:87215327", + "nom": "Mittersheim Centre", + "lat": 48.861886, + "lon": 6.941723 + }, + { + "uic": "87407148", + "stop_area": "stop_area:OCE:SA:87407148", + "nom": "Mittersheim l'Escale", + "lat": 48.860358, + "lon": 6.933793 + }, + { + "uic": "87742007", + "stop_area": "stop_area:OCE:SA:87742007", + "nom": "Modane", + "lat": 45.193555, + "lon": 6.659139 + }, + { + "uic": "87172155", + "stop_area": "stop_area:OCE:SA:87172155", + "nom": "Mohon", + "lat": 49.752755, + "lon": 4.733691 + }, + { + "uic": "87747329", + "stop_area": "stop_area:OCE:SA:87747329", + "nom": "Moirans", + "lat": 45.32216, + "lon": 5.581934 + }, + { + "uic": "87747691", + "stop_area": "stop_area:OCE:SA:87747691", + "nom": "Moirans la Galifette", + "lat": 45.323995, + "lon": 5.564929 + }, + { + "uic": "87611889", + "stop_area": "stop_area:OCE:SA:87611889", + "nom": "Moissac", + "lat": 44.102173, + "lon": 1.077277 + }, + { + "uic": "87743591", + "stop_area": "stop_area:OCE:SA:87743591", + "nom": "Molinges Village", + "lat": 46.356939, + "lon": 5.76531 + }, + { + "uic": "87214577", + "stop_area": "stop_area:OCE:SA:87214577", + "nom": "Molsheim", + "lat": 48.537151, + "lon": 7.500284 + }, + { + "uic": "87212142", + "stop_area": "stop_area:OCE:SA:87212142", + "nom": "Mommenheim", + "lat": 48.755951, + "lon": 7.642303 + }, + { + "uic": "87754549", + "stop_area": "stop_area:OCE:SA:87754549", + "nom": "Mon Idée", + "lat": 49.872526, + "lon": 4.37965 + }, + { + "uic": "87756403", + "stop_area": "stop_area:OCE:SA:87756403", + "nom": "Monaco-Monte-Carlo", + "lat": 43.738414, + "lon": 7.419747 + }, + { + "uic": "87747592", + "stop_area": "stop_area:OCE:SA:87747592", + "nom": "Monestier-de-Clermont", + "lat": 44.912002, + "lon": 5.633977 + }, + { + "uic": "87697524", + "stop_area": "stop_area:OCE:SA:87697524", + "nom": "Monestier-de-Clermont Centre", + "lat": 44.916262, + "lon": 5.634443 + }, + { + "uic": "87683557", + "stop_area": "stop_area:OCE:SA:87683557", + "nom": "Monéteau - Gurgy", + "lat": 47.850756, + "lon": 3.579947 + }, + { + "uic": "87734335", + "stop_area": "stop_area:OCE:SA:87734335", + "nom": "Monistrol-d'Allier", + "lat": 44.969665, + "lon": 3.650042 + }, + { + "uic": "87574681", + "stop_area": "stop_area:OCE:SA:87574681", + "nom": "Monnaie", + "lat": 47.498981, + "lon": 0.79333 + }, + { + "uic": "87427393", + "stop_area": "stop_area:OCE:SA:87427393", + "nom": "Monnaie Jean-Baptiste Moreau", + "lat": 47.502397, + "lon": 0.79079 + }, + { + "uic": "87545111", + "stop_area": "stop_area:OCE:SA:87545111", + "nom": "Monnerville", + "lat": 48.348492, + "lon": 2.032059 + }, + { + "uic": "88810000", + "stop_area": "stop_area:OCE:SA:88810000", + "nom": "Mons", + "lat": 50.454, + "lon": 3.942 + }, + { + "uic": "87586453", + "stop_area": "stop_area:OCE:SA:87586453", + "nom": "Monsempron-Libos", + "lat": 44.486391, + "lon": 0.94142 + }, + { + "uic": "87287128", + "stop_area": "stop_area:OCE:SA:87287128", + "nom": "Mont de Terre", + "lat": 50.618045, + "lon": 3.096004 + }, + { + "uic": "87763508", + "stop_area": "stop_area:OCE:SA:87763508", + "nom": "Mont-Dauphin - Guillestre", + "lat": 44.674625, + "lon": 6.61561 + }, + { + "uic": "87671016", + "stop_area": "stop_area:OCE:SA:87671016", + "nom": "Mont-de-Marsan", + "lat": 43.884898, + "lon": -0.50466 + }, + { + "uic": "87784793", + "stop_area": "stop_area:OCE:SA:87784793", + "nom": "Mont-Louis - La Cabanasse", + "lat": 42.50209, + "lon": 2.113138 + }, + { + "uic": "87141143", + "stop_area": "stop_area:OCE:SA:87141143", + "nom": "Mont-sur-Meurthe", + "lat": 48.559964, + "lon": 6.449774 + }, + { + "uic": "87594135", + "stop_area": "stop_area:OCE:SA:87594135", + "nom": "Montaignac", + "lat": 45.35469, + "lon": 1.979753 + }, + { + "uic": "87481465", + "stop_area": "stop_area:OCE:SA:87481465", + "nom": "Montaigu", + "lat": 46.98372, + "lon": -1.316189 + }, + { + "uic": "87597674", + "stop_area": "stop_area:OCE:SA:87597674", + "nom": "Montaigut", + "lat": 46.136742, + "lon": 1.734106 + }, + { + "uic": "87718221", + "stop_area": "stop_area:OCE:SA:87718221", + "nom": "Montain-Lavigny", + "lat": 46.715496, + "lon": 5.585196 + }, + { + "uic": "87684001", + "stop_area": "stop_area:OCE:SA:87684001", + "nom": "Montargis", + "lat": 48.006862, + "lon": 2.742783 + }, + { + "uic": "87615369", + "stop_area": "stop_area:OCE:SA:87615369", + "nom": "Montastruc-la-Conseillère", + "lat": 43.715984, + "lon": 1.598016 + }, + { + "uic": "87165852", + "stop_area": "stop_area:OCE:SA:87165852", + "nom": "Montastruc-la-Conseillère RN 88", + "lat": 43.722992, + "lon": 1.586781 + }, + { + "uic": "87276618", + "stop_area": "stop_area:OCE:SA:87276618", + "nom": "Montataire", + "lat": 49.251143, + "lon": 2.435958 + }, + { + "uic": "87752980", + "stop_area": "stop_area:OCE:SA:87752980", + "nom": "Montauban la Fobio", + "lat": 44.012367, + "lon": 1.371558 + }, + { + "uic": "87442442", + "stop_area": "stop_area:OCE:SA:87442442", + "nom": "Montauban Prax Paris", + "lat": 44.017505, + "lon": 1.358185 + }, + { + "uic": "87611244", + "stop_area": "stop_area:OCE:SA:87611244", + "nom": "Montauban Ville Bourbon", + "lat": 44.01444, + "lon": 1.341499 + }, + { + "uic": "87471086", + "stop_area": "stop_area:OCE:SA:87471086", + "nom": "Montauban-de-Bretagne", + "lat": 48.190241, + "lon": -2.052675 + }, + { + "uic": "87612010", + "stop_area": "stop_area:OCE:SA:87612010", + "nom": "Montaudran", + "lat": 43.573691, + "lon": 1.480201 + }, + { + "uic": "87279968", + "stop_area": "stop_area:OCE:SA:87279968", + "nom": "Montaulin Mairie", + "lat": 48.252239, + "lon": 4.193921 + }, + { + "uic": "87319764", + "stop_area": "stop_area:OCE:SA:87319764", + "nom": "Montaulin Vallée Verte", + "lat": 48.256127, + "lon": 4.197252 + }, + { + "uic": "87672113", + "stop_area": "stop_area:OCE:SA:87672113", + "nom": "Montaut Bétharram", + "lat": 43.126968, + "lon": -0.198368 + }, + { + "uic": "87713131", + "stop_area": "stop_area:OCE:SA:87713131", + "nom": "Montbard", + "lat": 47.618741, + "lon": 4.336212 + }, + { + "uic": "87718866", + "stop_area": "stop_area:OCE:SA:87718866", + "nom": "Montbarrey", + "lat": 47.036011, + "lon": 5.63619 + }, + { + "uic": "87611699", + "stop_area": "stop_area:OCE:SA:87611699", + "nom": "Montbartier", + "lat": 43.924141, + "lon": 1.264501 + }, + { + "uic": "87571406", + "stop_area": "stop_area:OCE:SA:87571406", + "nom": "Montbazon", + "lat": 47.291629, + "lon": 0.721005 + }, + { + "uic": "87184523", + "stop_area": "stop_area:OCE:SA:87184523", + "nom": "Montbéliard", + "lat": 47.51055, + "lon": 6.801336 + }, + { + "uic": "87668111", + "stop_area": "stop_area:OCE:SA:87668111", + "nom": "Montbeugny Centre", + "lat": 46.528502, + "lon": 3.488653 + }, + { + "uic": "87396044", + "stop_area": "stop_area:OCE:SA:87396044", + "nom": "Montbizot", + "lat": 48.151323, + "lon": 0.190823 + }, + { + "uic": "87726448", + "stop_area": "stop_area:OCE:SA:87726448", + "nom": "Montbrison", + "lat": 45.604481, + "lon": 4.07824 + }, + { + "uic": "87694620", + "stop_area": "stop_area:OCE:SA:87694620", + "nom": "Montceau-les-Mines", + "lat": 46.670664, + "lon": 4.361026 + }, + { + "uic": "87694307", + "stop_area": "stop_area:OCE:SA:87694307", + "nom": "Montchanin", + "lat": 46.759211, + "lon": 4.48147 + }, + { + "uic": "87313346", + "stop_area": "stop_area:OCE:SA:87313346", + "nom": "Montdidier", + "lat": 49.64147, + "lon": 2.56295 + }, + { + "uic": "87753046", + "stop_area": "stop_area:OCE:SA:87753046", + "nom": "Montech Boulevard Lagal", + "lat": 43.956897, + "lon": 1.22736 + }, + { + "uic": "87753020", + "stop_area": "stop_area:OCE:SA:87753020", + "nom": "Montech Lacoste", + "lat": 43.959553, + "lon": 1.251369 + }, + { + "uic": "87753038", + "stop_area": "stop_area:OCE:SA:87753038", + "nom": "Montech Pont Canal", + "lat": 43.95917, + "lon": 1.235694 + }, + { + "uic": "87764001", + "stop_area": "stop_area:OCE:SA:87764001", + "nom": "Montélimar", + "lat": 44.558936, + "lon": 4.744726 + }, + { + "uic": "87556522", + "stop_area": "stop_area:OCE:SA:87556522", + "nom": "Montelimar Gare Routière", + "lat": 44.559439, + "lon": 4.745107 + }, + { + "uic": "87491183", + "stop_area": "stop_area:OCE:SA:87491183", + "nom": "Montendre", + "lat": 45.280514, + "lon": -0.396233 + }, + { + "uic": "87682302", + "stop_area": "stop_area:OCE:SA:87682302", + "nom": "Montereau", + "lat": 48.379902, + "lon": 2.94293 + }, + { + "uic": "87411454", + "stop_area": "stop_area:OCE:SA:87411454", + "nom": "Montérolier - Buchy", + "lat": 49.603166, + "lon": 1.334721 + }, + { + "uic": "87296418", + "stop_area": "stop_area:OCE:SA:87296418", + "nom": "Montescourt", + "lat": 49.738786, + "lon": 3.25206 + }, + { + "uic": "87586347", + "stop_area": "stop_area:OCE:SA:87586347", + "nom": "Montestruc-sur-Gers", + "lat": 43.793292, + "lon": 0.629399 + }, + { + "uic": "87765818", + "stop_area": "stop_area:OCE:SA:87765818", + "nom": "Monteux", + "lat": 44.037355, + "lon": 4.994788 + }, + { + "uic": "87765412", + "stop_area": "stop_area:OCE:SA:87765412", + "nom": "Montfavet", + "lat": 43.932679, + "lon": 4.87404 + }, + { + "uic": "87718106", + "stop_area": "stop_area:OCE:SA:87718106", + "nom": "Montferrand - Thoraise", + "lat": 47.184628, + "lon": 5.907538 + }, + { + "uic": "87690396", + "stop_area": "stop_area:OCE:SA:87690396", + "nom": "Montfey", + "lat": 48.066998, + "lon": 3.87491 + }, + { + "uic": "87396291", + "stop_area": "stop_area:OCE:SA:87396291", + "nom": "Montfort-le-Gesnois", + "lat": 48.040576, + "lon": 0.406226 + }, + { + "uic": "87471078", + "stop_area": "stop_area:OCE:SA:87471078", + "nom": "Montfort-sur-Meu", + "lat": 48.138878, + "lon": -1.949141 + }, + { + "uic": "87455006", + "stop_area": "stop_area:OCE:SA:87455006", + "nom": "Montgaillard", + "lat": 42.933631, + "lon": 1.634198 + }, + { + "uic": "87172056", + "stop_area": "stop_area:OCE:SA:87172056", + "nom": "Monthermé", + "lat": 49.865621, + "lon": 4.74053 + }, + { + "uic": "87279943", + "stop_area": "stop_area:OCE:SA:87279943", + "nom": "Montiéramey Église", + "lat": 48.230713, + "lon": 4.307763 + }, + { + "uic": "87345306", + "stop_area": "stop_area:OCE:SA:87345306", + "nom": "Montigny-en-Ostrevent", + "lat": 50.36151, + "lon": 3.188369 + }, + { + "uic": "87117937", + "stop_area": "stop_area:OCE:SA:87117937", + "nom": "Montigny-les-Monts Mairie", + "lat": 48.103657, + "lon": 3.945731 + }, + { + "uic": "87117598", + "stop_area": "stop_area:OCE:SA:87117598", + "nom": "Montigny-sur-Chiers Eglise", + "lat": 49.478758, + "lon": 5.669597 + }, + { + "uic": "87194480", + "stop_area": "stop_area:OCE:SA:87194480", + "nom": "Montigny-sur-Chiers la Roche", + "lat": 49.476407, + "lon": 5.657514 + }, + { + "uic": "87618207", + "stop_area": "stop_area:OCE:SA:87618207", + "nom": "Montlaur", + "lat": 43.475022, + "lon": 1.577921 + }, + { + "uic": "87571273", + "stop_area": "stop_area:OCE:SA:87571273", + "nom": "Montlouis", + "lat": 47.391564, + "lon": 0.817476 + }, + { + "uic": "87641001", + "stop_area": "stop_area:OCE:SA:87641001", + "nom": "Montluçon", + "lat": 46.338101, + "lon": 2.596159 + }, + { + "uic": "87417840", + "stop_area": "stop_area:OCE:SA:87417840", + "nom": "Montluçon - LEM", + "lat": 46.338253, + "lon": 2.60962 + }, + { + "uic": "87323675", + "stop_area": "stop_area:OCE:SA:87323675", + "nom": "Montluçon Rimard", + "lat": 46.33536, + "lon": 2.610771 + }, + { + "uic": "87723569", + "stop_area": "stop_area:OCE:SA:87723569", + "nom": "Montluel", + "lat": 45.847783, + "lon": 5.05753 + }, + { + "uic": "87194209", + "stop_area": "stop_area:OCE:SA:87194209", + "nom": "Montmédy", + "lat": 49.522878, + "lon": 5.371672 + }, + { + "uic": "87741181", + "stop_area": "stop_area:OCE:SA:87741181", + "nom": "Montmélian", + "lat": 45.503082, + "lon": 6.043175 + }, + { + "uic": "87583674", + "stop_area": "stop_area:OCE:SA:87583674", + "nom": "Montmoreau", + "lat": 45.398367, + "lon": 0.13823 + }, + { + "uic": "87575480", + "stop_area": "stop_area:OCE:SA:87575480", + "nom": "Montmorillon", + "lat": 46.417498, + "lon": 0.873747 + }, + { + "uic": "87481713", + "stop_area": "stop_area:OCE:SA:87481713", + "nom": "Montoir-de-Bretagne", + "lat": 47.321014, + "lon": -2.161705 + }, + { + "uic": "87781534", + "stop_area": "stop_area:OCE:SA:87781534", + "nom": "Montpaon", + "lat": 43.868524, + "lon": 3.109722 + }, + { + "uic": "87773002", + "stop_area": "stop_area:OCE:SA:87773002", + "nom": "Montpellier Saint-Roch", + "lat": 43.604738, + "lon": 3.880674 + }, + { + "uic": "87688887", + "stop_area": "stop_area:OCE:SA:87688887", + "nom": "Montpellier Sud de France", + "lat": 43.595146, + "lon": 3.924009 + }, + { + "uic": "87595322", + "stop_area": "stop_area:OCE:SA:87595322", + "nom": "Montpon-Ménestérol", + "lat": 45.006329, + "lon": 0.159326 + }, + { + "uic": "87611848", + "stop_area": "stop_area:OCE:SA:87611848", + "nom": "Montrabé", + "lat": 43.644907, + "lon": 1.524006 + }, + { + "uic": "87611152", + "stop_area": "stop_area:OCE:SA:87611152", + "nom": "Montréjeau - Gourdan-Polignan", + "lat": 43.078085, + "lon": 0.57359 + }, + { + "uic": "87317164", + "stop_area": "stop_area:OCE:SA:87317164", + "nom": "Montreuil sur Mer", + "lat": 50.4662, + "lon": 1.768893 + }, + { + "uic": "87487637", + "stop_area": "stop_area:OCE:SA:87487637", + "nom": "Montreuil-Bellay", + "lat": 47.125418, + "lon": -0.148283 + }, + { + "uic": "87478032", + "stop_area": "stop_area:OCE:SA:87478032", + "nom": "Montreuil-sur-Ille", + "lat": 48.307292, + "lon": -1.674155 + }, + { + "uic": "87316406", + "stop_area": "stop_area:OCE:SA:87316406", + "nom": "Montreuil-sur-Thérain", + "lat": 49.381222, + "lon": 2.200975 + }, + { + "uic": "87184275", + "stop_area": "stop_area:OCE:SA:87184275", + "nom": "Montreux-Vieux", + "lat": 47.61792, + "lon": 7.025505 + }, + { + "uic": "87574855", + "stop_area": "stop_area:OCE:SA:87574855", + "nom": "Montrichard", + "lat": 47.343572, + "lon": 1.171782 + }, + { + "uic": "87746867", + "stop_area": "stop_area:OCE:SA:87746867", + "nom": "Montroc le Planet", + "lat": 45.996459, + "lon": 6.934548 + }, + { + "uic": "87726885", + "stop_area": "stop_area:OCE:SA:87726885", + "nom": "Montrond-les-Bains", + "lat": 45.644431, + "lon": 4.248826 + }, + { + "uic": "87146472", + "stop_area": "stop_area:OCE:SA:87146472", + "nom": "Montrozier Gages Pont", + "lat": 44.393434, + "lon": 2.705914 + }, + { + "uic": "87575035", + "stop_area": "stop_area:OCE:SA:87575035", + "nom": "Monts", + "lat": 47.281571, + "lon": 0.654474 + }, + { + "uic": "87478537", + "stop_area": "stop_area:OCE:SA:87478537", + "nom": "Montsûrs", + "lat": 48.14149, + "lon": -0.550642 + }, + { + "uic": "87411801", + "stop_area": "stop_area:OCE:SA:87411801", + "nom": "Montville", + "lat": 49.551284, + "lon": 1.070046 + }, + { + "uic": "87182592", + "stop_area": "stop_area:OCE:SA:87182592", + "nom": "Moosch", + "lat": 47.861087, + "lon": 7.050554 + }, + { + "uic": "87659938", + "stop_area": "stop_area:OCE:SA:87659938", + "nom": "Moosch Mairie", + "lat": 47.859868, + "lon": 7.04962 + }, + { + "uic": "87484170", + "stop_area": "stop_area:OCE:SA:87484170", + "nom": "Morannes", + "lat": 47.739003, + "lon": -0.41815 + }, + { + "uic": "87715433", + "stop_area": "stop_area:OCE:SA:87715433", + "nom": "Morbier", + "lat": 46.539216, + "lon": 6.017645 + }, + { + "uic": "87673103", + "stop_area": "stop_area:OCE:SA:87673103", + "nom": "Morcenx", + "lat": 44.033565, + "lon": -0.90864 + }, + { + "uic": "87313320", + "stop_area": "stop_area:OCE:SA:87313320", + "nom": "Moreuil", + "lat": 49.776931, + "lon": 2.475896 + }, + { + "uic": "87715441", + "stop_area": "stop_area:OCE:SA:87715441", + "nom": "Morez", + "lat": 46.526236, + "lon": 6.023531 + }, + { + "uic": "87716910", + "stop_area": "stop_area:OCE:SA:87716910", + "nom": "Morez Lycée", + "lat": 46.517289, + "lon": 6.025622 + }, + { + "uic": "87411439", + "stop_area": "stop_area:OCE:SA:87411439", + "nom": "Morgny", + "lat": 49.522874, + "lon": 1.247359 + }, + { + "uic": "87192286", + "stop_area": "stop_area:OCE:SA:87192286", + "nom": "Morhange", + "lat": 48.936624, + "lon": 6.659027 + }, + { + "uic": "87407171", + "stop_area": "stop_area:OCE:SA:87407171", + "nom": "Morhange Jeanne d'Arc", + "lat": 48.924639, + "lon": 6.641359 + }, + { + "uic": "87407155", + "stop_area": "stop_area:OCE:SA:87407155", + "nom": "Morhange Place de la République", + "lat": 48.923906, + "lon": 6.635026 + }, + { + "uic": "87765420", + "stop_area": "stop_area:OCE:SA:87765420", + "nom": "Morières-lès-Avignon", + "lat": 43.941502, + "lon": 4.908206 + }, + { + "uic": "87474338", + "stop_area": "stop_area:OCE:SA:87474338", + "nom": "Morlaix", + "lat": 48.57797, + "lon": -3.832514 + }, + { + "uic": "87391300", + "stop_area": "stop_area:OCE:SA:87391300", + "nom": "Morre", + "lat": 47.225991, + "lon": 6.067345 + }, + { + "uic": "87718619", + "stop_area": "stop_area:OCE:SA:87718619", + "nom": "Morteau", + "lat": 47.053721, + "lon": 6.604792 + }, + { + "uic": "87184424", + "stop_area": "stop_area:OCE:SA:87184424", + "nom": "Morvillars", + "lat": 47.549732, + "lon": 6.935408 + }, + { + "uic": "87212456", + "stop_area": "stop_area:OCE:SA:87212456", + "nom": "Mothern", + "lat": 48.93475, + "lon": 8.161664 + }, + { + "uic": "87411280", + "stop_area": "stop_area:OCE:SA:87411280", + "nom": "Motteville", + "lat": 49.636846, + "lon": 0.849631 + }, + { + "uic": "87401323", + "stop_area": "stop_area:OCE:SA:87401323", + "nom": "Mouans-Sartoux", + "lat": 43.620407, + "lon": 6.974218 + }, + { + "uic": "87718833", + "stop_area": "stop_area:OCE:SA:87718833", + "nom": "Mouchard", + "lat": 46.976865, + "lon": 5.799698 + }, + { + "uic": "87696328", + "stop_area": "stop_area:OCE:SA:87696328", + "nom": "Moulins sur Allier", + "lat": 46.561394, + "lon": 3.338782 + }, + { + "uic": "87581231", + "stop_area": "stop_area:OCE:SA:87581231", + "nom": "Moulis - Listrac", + "lat": 45.08407, + "lon": -0.74463 + }, + { + "uic": "87444190", + "stop_area": "stop_area:OCE:SA:87444190", + "nom": "Moult - Argences", + "lat": 49.111185, + "lon": -0.186436 + }, + { + "uic": "87174409", + "stop_area": "stop_area:OCE:SA:87174409", + "nom": "Mourmelon-le-Petit", + "lat": 49.131308, + "lon": 4.318098 + }, + { + "uic": "88857040", + "stop_area": "stop_area:OCE:SA:88857040", + "nom": "Mouscron", + "lat": 50.738, + "lon": 3.225 + }, + { + "uic": "87173542", + "stop_area": "stop_area:OCE:SA:87173542", + "nom": "Moustajon Mairie", + "lat": 42.815115, + "lon": 0.597395 + }, + { + "uic": "87473512", + "stop_area": "stop_area:OCE:SA:87473512", + "nom": "Moustéru", + "lat": 48.507451, + "lon": -3.243505 + }, + { + "uic": "87696443", + "stop_area": "stop_area:OCE:SA:87696443", + "nom": "Moutiers-Lycée", + "lat": 45.483121, + "lon": 6.527204 + }, + { + "uic": "87741728", + "stop_area": "stop_area:OCE:SA:87741728", + "nom": "Moûtiers-Salins-Brides-les-B.", + "lat": 45.48647, + "lon": 6.531399 + }, + { + "uic": "87313577", + "stop_area": "stop_area:OCE:SA:87313577", + "nom": "Mouy - Bury", + "lat": 49.320442, + "lon": 2.326374 + }, + { + "uic": "87191718", + "stop_area": "stop_area:OCE:SA:87191718", + "nom": "Moyeuvre-Grande", + "lat": 49.246909, + "lon": 6.043373 + }, + { + "uic": "80144139", + "stop_area": "stop_area:OCE:SA:80144139", + "nom": "Muellheim (Baden)", + "lat": 47.81, + "lon": 7.5996 + }, + { + "uic": "87182733", + "stop_area": "stop_area:OCE:SA:87182733", + "nom": "Muhlbach-sur-Munster", + "lat": 48.024586, + "lon": 7.087727 + }, + { + "uic": "87665620", + "stop_area": "stop_area:OCE:SA:87665620", + "nom": "Muhlbach-sur-Munster Mairie", + "lat": 48.025409, + "lon": 7.084476 + }, + { + "uic": "87171298", + "stop_area": "stop_area:OCE:SA:87171298", + "nom": "Muizon", + "lat": 49.278101, + "lon": 3.891529 + }, + { + "uic": "87182063", + "stop_area": "stop_area:OCE:SA:87182063", + "nom": "Mulhouse", + "lat": 47.742691, + "lon": 7.34316 + }, + { + "uic": "87182055", + "stop_area": "stop_area:OCE:SA:87182055", + "nom": "Mulhouse Dornach", + "lat": 47.746987, + "lon": 7.308543 + }, + { + "uic": "87534321", + "stop_area": "stop_area:OCE:SA:87534321", + "nom": "Mulhouse Dornach Tram Train", + "lat": 47.74678, + "lon": 7.307791 + }, + { + "uic": "87533620", + "stop_area": "stop_area:OCE:SA:87533620", + "nom": "Mulhouse Gare Centrale", + "lat": 47.741818, + "lon": 7.342869 + }, + { + "uic": "87533638", + "stop_area": "stop_area:OCE:SA:87533638", + "nom": "Mulhouse Mairie", + "lat": 47.749294, + "lon": 7.335492 + }, + { + "uic": "87534339", + "stop_area": "stop_area:OCE:SA:87534339", + "nom": "Mulhouse Musées", + "lat": 47.750285, + "lon": 7.297895 + }, + { + "uic": "87533646", + "stop_area": "stop_area:OCE:SA:87533646", + "nom": "Mulhouse Porte Haute", + "lat": 47.74662, + "lon": 7.331872 + }, + { + "uic": "87533661", + "stop_area": "stop_area:OCE:SA:87533661", + "nom": "Mulhouse République", + "lat": 47.746062, + "lon": 7.34132 + }, + { + "uic": "87533596", + "stop_area": "stop_area:OCE:SA:87533596", + "nom": "Mulhouse Tour Nessel", + "lat": 47.745054, + "lon": 7.328604 + }, + { + "uic": "87214643", + "stop_area": "stop_area:OCE:SA:87214643", + "nom": "Mullerhof", + "lat": 48.52451, + "lon": 7.311958 + }, + { + "uic": "87212449", + "stop_area": "stop_area:OCE:SA:87212449", + "nom": "Munchhausen", + "lat": 48.923851, + "lon": 8.141035 + }, + { + "uic": "87212100", + "stop_area": "stop_area:OCE:SA:87212100", + "nom": "Mundolsheim", + "lat": 48.644773, + "lon": 7.721389 + }, + { + "uic": "80203471", + "stop_area": "stop_area:OCE:SA:80203471", + "nom": "Munich", + "lat": 48.1401, + "lon": 11.5587 + }, + { + "uic": "87182394", + "stop_area": "stop_area:OCE:SA:87182394", + "nom": "Munster", + "lat": 48.038621, + "lon": 7.133568 + }, + { + "uic": "87386540", + "stop_area": "stop_area:OCE:SA:87386540", + "nom": "Munster Badischhof", + "lat": 48.038936, + "lon": 7.151845 + }, + { + "uic": "87665489", + "stop_area": "stop_area:OCE:SA:87665489", + "nom": "Munster Inter. D417-Badischhof", + "lat": 48.040562, + "lon": 7.150211 + }, + { + "uic": "87645481", + "stop_area": "stop_area:OCE:SA:87645481", + "nom": "Murat", + "lat": 45.109122, + "lon": 2.869594 + }, + { + "uic": "87611038", + "stop_area": "stop_area:OCE:SA:87611038", + "nom": "Muret", + "lat": 43.464824, + "lon": 1.324449 + }, + { + "uic": "87595298", + "stop_area": "stop_area:OCE:SA:87595298", + "nom": "Mussidan", + "lat": 45.034358, + "lon": 0.354068 + }, + { + "uic": "87214585", + "stop_area": "stop_area:OCE:SA:87214585", + "nom": "Mutzig", + "lat": 48.533828, + "lon": 7.462147 + }, + { + "uic": "87660548", + "stop_area": "stop_area:OCE:SA:87660548", + "nom": "Mutzig Passage à Niveau", + "lat": 48.533919, + "lon": 7.46108 + }, + { + "uic": "87660571", + "stop_area": "stop_area:OCE:SA:87660571", + "nom": "Mutzig Porte Centre", + "lat": 48.538565, + "lon": 7.456477 + }, + { + "uic": "87575175", + "stop_area": "stop_area:OCE:SA:87575175", + "nom": "Naintré les Barres", + "lat": 46.759721, + "lon": 0.496307 + }, + { + "uic": "87613463", + "stop_area": "stop_area:OCE:SA:87613463", + "nom": "Najac", + "lat": 44.221802, + "lon": 1.976163 + }, + { + "uic": "87313379", + "stop_area": "stop_area:OCE:SA:87313379", + "nom": "Namps - Quevauvillers", + "lat": 49.808304, + "lon": 2.105212 + }, + { + "uic": "87767269", + "stop_area": "stop_area:OCE:SA:87767269", + "nom": "Nances Maison du Lac", + "lat": 45.57481, + "lon": 5.80134 + }, + { + "uic": "87175067", + "stop_area": "stop_area:OCE:SA:87175067", + "nom": "Nançois - Tronville", + "lat": 48.718022, + "lon": 5.29114 + }, + { + "uic": "87141002", + "stop_area": "stop_area:OCE:SA:87141002", + "nom": "Nancy", + "lat": 48.689857, + "lon": 6.174579 + }, + { + "uic": "87481002", + "stop_area": "stop_area:OCE:SA:87481002", + "nom": "Nantes", + "lat": 47.217491, + "lon": -1.542077 + }, + { + "uic": "87463083", + "stop_area": "stop_area:OCE:SA:87463083", + "nom": "Nantes Pirmil", + "lat": 47.196728, + "lon": -1.543024 + }, + { + "uic": "87271577", + "stop_area": "stop_area:OCE:SA:87271577", + "nom": "Nanteuil-le-Haudouin", + "lat": 49.142673, + "lon": 2.794502 + }, + { + "uic": "87592444", + "stop_area": "stop_area:OCE:SA:87592444", + "nom": "Nantiat", + "lat": 46.005707, + "lon": 1.156418 + }, + { + "uic": "87781104", + "stop_area": "stop_area:OCE:SA:87781104", + "nom": "Narbonne", + "lat": 43.190618, + "lon": 3.005667 + }, + { + "uic": "87615732", + "stop_area": "stop_area:OCE:SA:87615732", + "nom": "Naucelle", + "lat": 44.185439, + "lon": 2.363259 + }, + { + "uic": "87713685", + "stop_area": "stop_area:OCE:SA:87713685", + "nom": "Navilly", + "lat": 46.932463, + "lon": 5.138991 + }, + { + "uic": "87478545", + "stop_area": "stop_area:OCE:SA:87478545", + "nom": "Neau", + "lat": 48.157526, + "lon": -0.47657 + }, + { + "uic": "87215301", + "stop_area": "stop_area:OCE:SA:87215301", + "nom": "Nebing Rue Robert Schumann", + "lat": 48.9028, + "lon": 6.8105 + }, + { + "uic": "87595132", + "stop_area": "stop_area:OCE:SA:87595132", + "nom": "Négrondes", + "lat": 45.346113, + "lon": 0.861515 + }, + { + "uic": "87684126", + "stop_area": "stop_area:OCE:SA:87684126", + "nom": "Nemours - Saint-Pierre", + "lat": 48.267866, + "lon": 2.685733 + }, + { + "uic": "87576454", + "stop_area": "stop_area:OCE:SA:87576454", + "nom": "Nérondes", + "lat": 46.99969, + "lon": 2.82217 + }, + { + "uic": "87575167", + "stop_area": "stop_area:OCE:SA:87575167", + "nom": "Nerpuy", + "lat": 46.78381, + "lon": 0.525987 + }, + { + "uic": "87313486", + "stop_area": "stop_area:OCE:SA:87313486", + "nom": "Nesle", + "lat": 49.763782, + "lon": 2.909084 + }, + { + "uic": "87678714", + "stop_area": "stop_area:OCE:SA:87678714", + "nom": "Neubourg Église", + "lat": 48.838559, + "lon": 7.68113 + }, + { + "uic": "80646141", + "stop_area": "stop_area:OCE:SA:80646141", + "nom": "Neuburg (Rhein)", + "lat": 48.9921, + "lon": 8.2381 + }, + { + "uic": "85042218", + "stop_area": "stop_area:OCE:SA:85042218", + "nom": "Neuchatel", + "lat": 46.99673, + "lon": 6.93571 + }, + { + "uic": "80144154", + "stop_area": "stop_area:OCE:SA:80144154", + "nom": "Neuenburg (Baden)", + "lat": 47.8115, + "lon": 7.5628 + }, + { + "uic": "87141291", + "stop_area": "stop_area:OCE:SA:87141291", + "nom": "Neufchâteau", + "lat": 48.358092, + "lon": 5.691036 + }, + { + "uic": "87405746", + "stop_area": "stop_area:OCE:SA:87405746", + "nom": "Neufchâteau Hôpital", + "lat": 48.3697, + "lon": 5.707194 + }, + { + "uic": "87458869", + "stop_area": "stop_area:OCE:SA:87458869", + "nom": "Neufchâteau Lycée Professionnel", + "lat": 48.360794, + "lon": 5.702226 + }, + { + "uic": "87317099", + "stop_area": "stop_area:OCE:SA:87317099", + "nom": "Neufchâtel-Hardelot", + "lat": 50.623564, + "lon": 1.643352 + }, + { + "uic": "87571547", + "stop_area": "stop_area:OCE:SA:87571547", + "nom": "Neuillé-Pont-Pierre", + "lat": 47.557898, + "lon": 0.564769 + }, + { + "uic": "87712182", + "stop_area": "stop_area:OCE:SA:87712182", + "nom": "Neuilly-lès-Dijon", + "lat": 47.281564, + "lon": 5.111183 + }, + { + "uic": "87698605", + "stop_area": "stop_area:OCE:SA:87698605", + "nom": "Neulise", + "lat": 45.902885, + "lon": 4.180287 + }, + { + "uic": "87645507", + "stop_area": "stop_area:OCE:SA:87645507", + "nom": "Neussargues", + "lat": 45.125462, + "lon": 2.979087 + }, + { + "uic": "80194043", + "stop_area": "stop_area:OCE:SA:80194043", + "nom": "Neustadt (Weinstr) Hbf", + "lat": 49.3496, + "lon": 8.1403 + }, + { + "uic": "80920793", + "stop_area": "stop_area:OCE:SA:80920793", + "nom": "Neustadt (Weinstraße) Süd", + "lat": 49.341274, + "lon": 8.157027 + }, + { + "uic": "87141507", + "stop_area": "stop_area:OCE:SA:87141507", + "nom": "Neuves-Maisons", + "lat": 48.614832, + "lon": 6.107932 + }, + { + "uic": "87595272", + "stop_area": "stop_area:OCE:SA:87595272", + "nom": "Neuvic", + "lat": 45.099961, + "lon": 0.445011 + }, + { + "uic": "87396028", + "stop_area": "stop_area:OCE:SA:87396028", + "nom": "Neuville", + "lat": 48.07048, + "lon": 0.199597 + }, + { + "uic": "87597070", + "stop_area": "stop_area:OCE:SA:87597070", + "nom": "Neuvy-Pailloux", + "lat": 46.882716, + "lon": 1.862757 + }, + { + "uic": "87117986", + "stop_area": "stop_area:OCE:SA:87117986", + "nom": "Neuvy-Sautour Route Nationale", + "lat": 48.042857, + "lon": 3.792901 + }, + { + "uic": "87642280", + "stop_area": "stop_area:OCE:SA:87642280", + "nom": "Neuwiller Pharmacie", + "lat": 48.823614, + "lon": 7.402853 + }, + { + "uic": "87642298", + "stop_area": "stop_area:OCE:SA:87642298", + "nom": "Neuwiller Rue de Bouxwiller", + "lat": 48.822848, + "lon": 7.407151 + }, + { + "uic": "87696005", + "stop_area": "stop_area:OCE:SA:87696005", + "nom": "Nevers", + "lat": 46.987282, + "lon": 3.150743 + }, + { + "uic": "87559070", + "stop_area": "stop_area:OCE:SA:87559070", + "nom": "Nevers le Banlay", + "lat": 47.006853, + "lon": 3.163687 + }, + { + "uic": "87500793", + "stop_area": "stop_area:OCE:SA:87500793", + "nom": "Nevers Le Mouesse ANPE", + "lat": 46.987177, + "lon": 3.161602 + }, + { + "uic": "87599753", + "stop_area": "stop_area:OCE:SA:87599753", + "nom": "Nevers Petit Canal", + "lat": 46.989408, + "lon": 3.187316 + }, + { + "uic": "87592725", + "stop_area": "stop_area:OCE:SA:87592725", + "nom": "Nexon", + "lat": 45.691565, + "lon": 1.178431 + }, + { + "uic": "87590299", + "stop_area": "stop_area:OCE:SA:87590299", + "nom": "Nice Pont Michel", + "lat": 43.722692, + "lon": 7.291671 + }, + { + "uic": "87756353", + "stop_area": "stop_area:OCE:SA:87756353", + "nom": "Nice Riquier", + "lat": 43.705554, + "lon": 7.290175 + }, + { + "uic": "87756254", + "stop_area": "stop_area:OCE:SA:87756254", + "nom": "Nice Saint-Augustin", + "lat": 43.670728, + "lon": 7.216199 + }, + { + "uic": "87756056", + "stop_area": "stop_area:OCE:SA:87756056", + "nom": "Nice-Ville", + "lat": 43.704556, + "lon": 7.261904 + }, + { + "uic": "87678524", + "stop_area": "stop_area:OCE:SA:87678524", + "nom": "Niederbronn Hotel de Ville", + "lat": 48.950801, + "lon": 7.642201 + }, + { + "uic": "87213256", + "stop_area": "stop_area:OCE:SA:87213256", + "nom": "Niederbronn-les-Bains", + "lat": 48.952385, + "lon": 7.63409 + }, + { + "uic": "87407270", + "stop_area": "stop_area:OCE:SA:87407270", + "nom": "Niederbronn-les-Bains Archéologie", + "lat": 48.947516, + "lon": 7.65058 + }, + { + "uic": "87407296", + "stop_area": "stop_area:OCE:SA:87407296", + "nom": "Niederbronn-les-Bains Usine", + "lat": 48.95696, + "lon": 7.630582 + }, + { + "uic": "87213884", + "stop_area": "stop_area:OCE:SA:87213884", + "nom": "Niedermodern Pont de la Moder", + "lat": 48.846462, + "lon": 7.627771 + }, + { + "uic": "87703553", + "stop_area": "stop_area:OCE:SA:87703553", + "nom": "Niederstinzel Principale", + "lat": 48.863212, + "lon": 7.031502 + }, + { + "uic": "87287151", + "stop_area": "stop_area:OCE:SA:87287151", + "nom": "Nieppe", + "lat": 50.696864, + "lon": 2.829106 + }, + { + "uic": "80190603", + "stop_area": "stop_area:OCE:SA:80190603", + "nom": "Nierstein", + "lat": 49.8721, + "lon": 8.3427 + }, + { + "uic": "87592410", + "stop_area": "stop_area:OCE:SA:87592410", + "nom": "Nieul", + "lat": 45.927491, + "lon": 1.172377 + }, + { + "uic": "87775007", + "stop_area": "stop_area:OCE:SA:87775007", + "nom": "Nîmes Centre", + "lat": 43.832313, + "lon": 4.365872 + }, + { + "uic": "87703975", + "stop_area": "stop_area:OCE:SA:87703975", + "nom": "Nîmes Pont du Gard", + "lat": 43.816809, + "lon": 4.507678 + }, + { + "uic": "87753582", + "stop_area": "stop_area:OCE:SA:87753582", + "nom": "Niolon", + "lat": 43.340224, + "lon": 5.25692 + }, + { + "uic": "87485300", + "stop_area": "stop_area:OCE:SA:87485300", + "nom": "Niort", + "lat": 46.319491, + "lon": -0.454639 + }, + { + "uic": "87595512", + "stop_area": "stop_area:OCE:SA:87595512", + "nom": "Niversac", + "lat": 45.138259, + "lon": 0.80827 + }, + { + "uic": "87342139", + "stop_area": "stop_area:OCE:SA:87342139", + "nom": "Noeux-Les-Mines", + "lat": 50.48296, + "lon": 2.673969 + }, + { + "uic": "87394296", + "stop_area": "stop_area:OCE:SA:87394296", + "nom": "Nogent-le-Rotrou", + "lat": 48.325765, + "lon": 0.810313 + }, + { + "uic": "87118190", + "stop_area": "stop_area:OCE:SA:87118190", + "nom": "Nogent-sur-Seine", + "lat": 48.497855, + "lon": 3.493773 + }, + { + "uic": "87216150", + "stop_area": "stop_area:OCE:SA:87216150", + "nom": "Nogent-sur-Seine Avenue du Génaral de Gaulle", + "lat": 48.492286, + "lon": 3.5107 + }, + { + "uic": "87216168", + "stop_area": "stop_area:OCE:SA:87216168", + "nom": "Nogent-sur-Seine Théatre", + "lat": 48.492517, + "lon": 3.502254 + }, + { + "uic": "87684274", + "stop_area": "stop_area:OCE:SA:87684274", + "nom": "Nogent-sur-Vernisson", + "lat": 47.852782, + "lon": 2.737816 + }, + { + "uic": "87742015", + "stop_area": "stop_area:OCE:SA:87742015", + "nom": "Noirétable Place Passelière", + "lat": 45.814254, + "lon": 3.768636 + }, + { + "uic": "87487231", + "stop_area": "stop_area:OCE:SA:87487231", + "nom": "Noirterre", + "lat": 46.868341, + "lon": -0.390147 + }, + { + "uic": "87574368", + "stop_area": "stop_area:OCE:SA:87574368", + "nom": "Noizay", + "lat": 47.409839, + "lon": 0.896075 + }, + { + "uic": "87286609", + "stop_area": "stop_area:OCE:SA:87286609", + "nom": "Nomain", + "lat": 50.50252, + "lon": 3.205983 + }, + { + "uic": "87393553", + "stop_area": "stop_area:OCE:SA:87393553", + "nom": "Nonancourt", + "lat": 48.77576, + "lon": 1.192837 + }, + { + "uic": "87481598", + "stop_area": "stop_area:OCE:SA:87481598", + "nom": "Nort-sur-Erdre", + "lat": 47.441925, + "lon": -1.503167 + }, + { + "uic": "87287292", + "stop_area": "stop_area:OCE:SA:87287292", + "nom": "Nortkerque", + "lat": 50.882822, + "lon": 2.02363 + }, + { + "uic": "87741694", + "stop_area": "stop_area:OCE:SA:87741694", + "nom": "Notre-Dame de Briançon", + "lat": 45.539384, + "lon": 6.468855 + }, + { + "uic": "87574699", + "stop_area": "stop_area:OCE:SA:87574699", + "nom": "Notre-Dame-d'Oé", + "lat": 47.459567, + "lon": 0.707025 + }, + { + "uic": "87543157", + "stop_area": "stop_area:OCE:SA:87543157", + "nom": "Nouan-le-Fuzelier", + "lat": 47.534054, + "lon": 2.033227 + }, + { + "uic": "87172213", + "stop_area": "stop_area:OCE:SA:87172213", + "nom": "Nouvion-sur-Meuse", + "lat": 49.697314, + "lon": 4.794973 + }, + { + "uic": "87172023", + "stop_area": "stop_area:OCE:SA:87172023", + "nom": "Nouzonville", + "lat": 49.812013, + "lon": 4.742816 + }, + { + "uic": "87192427", + "stop_area": "stop_area:OCE:SA:87192427", + "nom": "Novéant-sur-Moselle", + "lat": 49.028717, + "lon": 6.052051 + }, + { + "uic": "87718411", + "stop_area": "stop_area:OCE:SA:87718411", + "nom": "Novillars", + "lat": 47.28424, + "lon": 6.133081 + }, + { + "uic": "87471540", + "stop_area": "stop_area:OCE:SA:87471540", + "nom": "Noyal - Acigné", + "lat": 48.118792, + "lon": -1.527765 + }, + { + "uic": "87317396", + "stop_area": "stop_area:OCE:SA:87317396", + "nom": "Noyelles-sur-Mer", + "lat": 50.187305, + "lon": 1.70453 + }, + { + "uic": "87396374", + "stop_area": "stop_area:OCE:SA:87396374", + "nom": "Noyen", + "lat": 47.874388, + "lon": -0.098249 + }, + { + "uic": "87172304", + "stop_area": "stop_area:OCE:SA:87172304", + "nom": "Noyers-Pont-Maugis", + "lat": 49.669712, + "lon": 4.955197 + }, + { + "uic": "87276782", + "stop_area": "stop_area:OCE:SA:87276782", + "nom": "Noyon", + "lat": 49.577351, + "lon": 3.006434 + }, + { + "uic": "87775353", + "stop_area": "stop_area:OCE:SA:87775353", + "nom": "Nozières - Brignon", + "lat": 43.976013, + "lon": 4.207292 + }, + { + "uic": "87713156", + "stop_area": "stop_area:OCE:SA:87713156", + "nom": "Nuits sous Ravières", + "lat": 47.729307, + "lon": 4.211709 + }, + { + "uic": "87713529", + "stop_area": "stop_area:OCE:SA:87713529", + "nom": "Nuits-Saint-Georges", + "lat": 47.130662, + "lon": 4.956277 + }, + { + "uic": "87743351", + "stop_area": "stop_area:OCE:SA:87743351", + "nom": "Nurieux Gare", + "lat": 46.184121, + "lon": 5.532726 + }, + { + "uic": "87784736", + "stop_area": "stop_area:OCE:SA:87784736", + "nom": "Nyer", + "lat": 42.541698, + "lon": 2.263018 + }, + { + "uic": "87213165", + "stop_area": "stop_area:OCE:SA:87213165", + "nom": "Obermodern", + "lat": 48.842587, + "lon": 7.547135 + }, + { + "uic": "87214288", + "stop_area": "stop_area:OCE:SA:87214288", + "nom": "Obernai", + "lat": 48.46219, + "lon": 7.48881 + }, + { + "uic": "87660910", + "stop_area": "stop_area:OCE:SA:87660910", + "nom": "Obernai Freppel - Gare", + "lat": 48.460966, + "lon": 7.489308 + }, + { + "uic": "87703629", + "stop_area": "stop_area:OCE:SA:87703629", + "nom": "Oberstinzel Rue Principale", + "lat": 48.792843, + "lon": 7.034662 + }, + { + "uic": "87594630", + "stop_area": "stop_area:OCE:SA:87594630", + "nom": "Objat", + "lat": 45.264695, + "lon": 1.406982 + }, + { + "uic": "87182634", + "stop_area": "stop_area:OCE:SA:87182634", + "nom": "Oderen", + "lat": 47.910485, + "lon": 6.97373 + }, + { + "uic": "87659888", + "stop_area": "stop_area:OCE:SA:87659888", + "nom": "Oderen La Poste", + "lat": 47.90946, + "lon": 6.975571 + }, + { + "uic": "87215632", + "stop_area": "stop_area:OCE:SA:87215632", + "nom": "Oermingen", + "lat": 49.000372, + "lon": 7.131732 + }, + { + "uic": "80143099", + "stop_area": "stop_area:OCE:SA:80143099", + "nom": "Offenburg", + "lat": 48.4765, + "lon": 7.9468 + }, + { + "uic": "87672709", + "stop_area": "stop_area:OCE:SA:87672709", + "nom": "Ogeu-les-Bains", + "lat": 43.153657, + "lon": -0.50778 + }, + { + "uic": "87761056", + "stop_area": "stop_area:OCE:SA:87761056", + "nom": "Oingt Route de Saint-Laurent", + "lat": 45.946037, + "lon": 4.581479 + }, + { + "uic": "87411207", + "stop_area": "stop_area:OCE:SA:87411207", + "nom": "Oissel", + "lat": 49.343085, + "lon": 1.101937 + }, + { + "uic": "87784728", + "stop_area": "stop_area:OCE:SA:87784728", + "nom": "Olette - Canaveilles les Bains", + "lat": 42.55472, + "lon": 2.271931 + }, + { + "uic": "87755231", + "stop_area": "stop_area:OCE:SA:87755231", + "nom": "Ollioules - Sanary-sur-Mer", + "lat": 43.122578, + "lon": 5.825015 + }, + { + "uic": "87486431", + "stop_area": "stop_area:OCE:SA:87486431", + "nom": "Olonne-sur-Mer", + "lat": 46.548653, + "lon": -1.767302 + }, + { + "uic": "87672725", + "stop_area": "stop_area:OCE:SA:87672725", + "nom": "Oloron-Sainte-Marie", + "lat": 43.194709, + "lon": -0.612118 + }, + { + "uic": "87673319", + "stop_area": "stop_area:OCE:SA:87673319", + "nom": "Ondres", + "lat": 43.568581, + "lon": -1.457179 + }, + { + "uic": "87138362", + "stop_area": "stop_area:OCE:SA:87138362", + "nom": "Onet-le-Château la Roquette", + "lat": 44.37137, + "lon": 2.632416 + }, + { + "uic": "87755140", + "stop_area": "stop_area:OCE:SA:87755140", + "nom": "Onet-le-Château Route de Sévérac", + "lat": 44.362045, + "lon": 2.593256 + }, + { + "uic": "87192435", + "stop_area": "stop_area:OCE:SA:87192435", + "nom": "Onville", + "lat": 49.013667, + "lon": 5.979092 + }, + { + "uic": "87574319", + "stop_area": "stop_area:OCE:SA:87574319", + "nom": "Onzain - Chaumont-sur-Loire", + "lat": 47.492, + "lon": 1.18595 + }, + { + "uic": "87765107", + "stop_area": "stop_area:OCE:SA:87765107", + "nom": "Orange", + "lat": 44.137485, + "lon": 4.820058 + }, + { + "uic": "87718361", + "stop_area": "stop_area:OCE:SA:87718361", + "nom": "Orchamps", + "lat": 47.150102, + "lon": 5.659252 + }, + { + "uic": "87286583", + "stop_area": "stop_area:OCE:SA:87286583", + "nom": "Orchies", + "lat": 50.477028, + "lon": 3.248871 + }, + { + "uic": "87753707", + "stop_area": "stop_area:OCE:SA:87753707", + "nom": "Orgon", + "lat": 43.785932, + "lon": 5.045683 + }, + { + "uic": "87296145", + "stop_area": "stop_area:OCE:SA:87296145", + "nom": "Origny-en-Thiérache", + "lat": 49.890821, + "lon": 4.023957 + }, + { + "uic": "87543009", + "stop_area": "stop_area:OCE:SA:87543009", + "nom": "Orléans", + "lat": 47.907891, + "lon": 1.904242 + }, + { + "uic": "87744243", + "stop_area": "stop_area:OCE:SA:87744243", + "nom": "Orléans Avenue de Paris", + "lat": 47.908277, + "lon": 1.904229 + }, + { + "uic": "87276279", + "stop_area": "stop_area:OCE:SA:87276279", + "nom": "Orry-la-Ville - Coye", + "lat": 49.13893, + "lon": 2.489997 + }, + { + "uic": "87295667", + "stop_area": "stop_area:OCE:SA:87295667", + "nom": "Ors", + "lat": 50.103238, + "lon": 3.627036 + }, + { + "uic": "87643429", + "stop_area": "stop_area:OCE:SA:87643429", + "nom": "Orschwiller Chapelle", + "lat": 48.241195, + "lon": 7.384612 + }, + { + "uic": "87672253", + "stop_area": "stop_area:OCE:SA:87672253", + "nom": "Orthez", + "lat": 43.484242, + "lon": -0.76776 + }, + { + "uic": "87784868", + "stop_area": "stop_area:OCE:SA:87784868", + "nom": "Osséja", + "lat": 42.419967, + "lon": 1.977117 + }, + { + "uic": "87673707", + "stop_area": "stop_area:OCE:SA:87673707", + "nom": "Ossès - Saint-Martin-d'Arrossa", + "lat": 43.235132, + "lon": -1.305048 + }, + { + "uic": "87345249", + "stop_area": "stop_area:OCE:SA:87345249", + "nom": "Ostricourt", + "lat": 50.445501, + "lon": 3.032414 + }, + { + "uic": "87481184", + "stop_area": "stop_area:OCE:SA:87481184", + "nom": "Oudon", + "lat": 47.343367, + "lon": -1.292009 + }, + { + "uic": "87712604", + "stop_area": "stop_area:OCE:SA:87712604", + "nom": "Ouges", + "lat": 47.255843, + "lon": 5.072808 + }, + { + "uic": "87722207", + "stop_area": "stop_area:OCE:SA:87722207", + "nom": "Oullins", + "lat": 45.7166, + "lon": 4.813503 + }, + { + "uic": "83002048", + "stop_area": "stop_area:OCE:SA:83002048", + "nom": "OULX CESANA CLAVIERE SESTRIERE", + "lat": 45.038795, + "lon": 6.831431 + }, + { + "uic": "87276774", + "stop_area": "stop_area:OCE:SA:87276774", + "nom": "Ourscamps", + "lat": 49.533927, + "lon": 2.954338 + }, + { + "uic": "87743534", + "stop_area": "stop_area:OCE:SA:87743534", + "nom": "Oyonnax", + "lat": 46.259671, + "lon": 5.653281 + }, + { + "uic": "87713669", + "stop_area": "stop_area:OCE:SA:87713669", + "nom": "Pagny", + "lat": 47.046249, + "lon": 5.201054 + }, + { + "uic": "87175828", + "stop_area": "stop_area:OCE:SA:87175828", + "nom": "Pagny-sur-Meuse", + "lat": 48.696582, + "lon": 5.733632 + }, + { + "uic": "87192468", + "stop_area": "stop_area:OCE:SA:87192468", + "nom": "Pagny-sur-Moselle", + "lat": 48.9852, + "lon": 6.025035 + }, + { + "uic": "87473868", + "stop_area": "stop_area:OCE:SA:87473868", + "nom": "Paimpol", + "lat": 48.77694, + "lon": -3.046096 + }, + { + "uic": "87611343", + "stop_area": "stop_area:OCE:SA:87611343", + "nom": "Pamiers", + "lat": 43.116207, + "lon": 1.619451 + }, + { + "uic": "87130831", + "stop_area": "stop_area:OCE:SA:87130831", + "nom": "Pamiers Centre", + "lat": 43.116033, + "lon": 1.610822 + }, + { + "uic": "87485524", + "stop_area": "stop_area:OCE:SA:87485524", + "nom": "Pamproux", + "lat": 46.399594, + "lon": -0.052034 + }, + { + "uic": "87694687", + "stop_area": "stop_area:OCE:SA:87694687", + "nom": "Paray-le-Monial", + "lat": 46.447294, + "lon": 4.113666 + }, + { + "uic": "87581710", + "stop_area": "stop_area:OCE:SA:87581710", + "nom": "Parempuyre", + "lat": 44.944703, + "lon": -0.61934 + }, + { + "uic": "87734194", + "stop_area": "stop_area:OCE:SA:87734194", + "nom": "Parent - Coudes - Champeix", + "lat": 45.614416, + "lon": 3.216771 + }, + { + "uic": "87547000", + "stop_area": "stop_area:OCE:SA:87547000", + "nom": "Paris Austerlitz", + "lat": 48.842285, + "lon": 2.364891 + }, + { + "uic": "87686667", + "stop_area": "stop_area:OCE:SA:87686667", + "nom": "Paris Bercy Bourg. Pays d'Auv.", + "lat": 48.839215, + "lon": 2.382791 + }, + { + "uic": "87113001", + "stop_area": "stop_area:OCE:SA:87113001", + "nom": "Paris Est", + "lat": 48.876742, + "lon": 2.358424 + }, + { + "uic": "87686006", + "stop_area": "stop_area:OCE:SA:87686006", + "nom": "Paris Gare de Lyon Hall 1 - 2", + "lat": 48.844945, + "lon": 2.373481 + }, + { + "uic": "87271007", + "stop_area": "stop_area:OCE:SA:87271007", + "nom": "Paris Gare du Nord", + "lat": 48.880136, + "lon": 2.354851 + }, + { + "uic": "87391003", + "stop_area": "stop_area:OCE:SA:87391003", + "nom": "Paris Montparnasse Hall 1 - 2", + "lat": 48.841172, + "lon": 2.320514 + }, + { + "uic": "87391102", + "stop_area": "stop_area:OCE:SA:87391102", + "nom": "Paris Montparnasse Vaugirard", + "lat": 48.841172, + "lon": 2.320514 + }, + { + "uic": "87384008", + "stop_area": "stop_area:OCE:SA:87384008", + "nom": "Paris Saint-Lazare", + "lat": 48.876242, + "lon": 2.325331 + }, + { + "uic": "87737429", + "stop_area": "stop_area:OCE:SA:87737429", + "nom": "Paris-Austerlitz Routiere", + "lat": 48.841536, + "lon": 2.367945 + }, + { + "uic": "87746792", + "stop_area": "stop_area:OCE:SA:87746792", + "nom": "Paris-Montparnasse Point Rencontre Groupes", + "lat": 48.841158, + "lon": 2.318045 + }, + { + "uic": "87597724", + "stop_area": "stop_area:OCE:SA:87597724", + "nom": "Parsac - Gouzon", + "lat": 46.198389, + "lon": 2.174641 + }, + { + "uic": "87694257", + "stop_area": "stop_area:OCE:SA:87694257", + "nom": "Parsac Centre", + "lat": 46.202177, + "lon": 2.152089 + }, + { + "uic": "87753285", + "stop_area": "stop_area:OCE:SA:87753285", + "nom": "Pas des Lanciers", + "lat": 43.409709, + "lon": 5.253825 + }, + { + "uic": "87718205", + "stop_area": "stop_area:OCE:SA:87718205", + "nom": "Passenans", + "lat": 46.798477, + "lon": 5.617946 + }, + { + "uic": "87672006", + "stop_area": "stop_area:OCE:SA:87672006", + "nom": "Pau", + "lat": 43.291711, + "lon": -0.369675 + }, + { + "uic": "87581256", + "stop_area": "stop_area:OCE:SA:87581256", + "nom": "Pauillac", + "lat": 45.203795, + "lon": -0.755028 + }, + { + "uic": "87734293", + "stop_area": "stop_area:OCE:SA:87734293", + "nom": "Paulhaguet", + "lat": 45.21023, + "lon": 3.500626 + }, + { + "uic": "87409474", + "stop_area": "stop_area:OCE:SA:87409474", + "nom": "Paulhaguet Monument", + "lat": 45.207507, + "lon": 3.510413 + }, + { + "uic": "87411272", + "stop_area": "stop_area:OCE:SA:87411272", + "nom": "Pavilly", + "lat": 49.563897, + "lon": 0.950644 + }, + { + "uic": "87727792", + "stop_area": "stop_area:OCE:SA:87727792", + "nom": "Payns Abri Côté Savières", + "lat": 48.387257, + "lon": 3.9713 + }, + { + "uic": "87727784", + "stop_area": "stop_area:OCE:SA:87727784", + "nom": "Payns Église", + "lat": 48.379585, + "lon": 3.982801 + }, + { + "uic": "87118075", + "stop_area": "stop_area:OCE:SA:87118075", + "nom": "Payns Mairie", + "lat": 48.382113, + "lon": 3.977727 + }, + { + "uic": "87756791", + "stop_area": "stop_area:OCE:SA:87756791", + "nom": "Peille", + "lat": 43.791907, + "lon": 7.379854 + }, + { + "uic": "87756783", + "stop_area": "stop_area:OCE:SA:87756783", + "nom": "Peillon - Sainte-Thècle", + "lat": 43.767871, + "lon": 7.36684 + }, + { + "uic": "87192203", + "stop_area": "stop_area:OCE:SA:87192203", + "nom": "Peltre", + "lat": 49.07398, + "lon": 6.222089 + }, + { + "uic": "87321745", + "stop_area": "stop_area:OCE:SA:87321745", + "nom": "Penhoët", + "lat": 47.28992, + "lon": -2.200876 + }, + { + "uic": "87586438", + "stop_area": "stop_area:OCE:SA:87586438", + "nom": "Penne", + "lat": 44.379825, + "lon": 0.803115 + }, + { + "uic": "87476424", + "stop_area": "stop_area:OCE:SA:87476424", + "nom": "Penthièvre", + "lat": 47.558021, + "lon": -3.133158 + }, + { + "uic": "87286278", + "stop_area": "stop_area:OCE:SA:87286278", + "nom": "Pérenchies", + "lat": 50.667044, + "lon": 2.977239 + }, + { + "uic": "87595009", + "stop_area": "stop_area:OCE:SA:87595009", + "nom": "Périgueux", + "lat": 45.187408, + "lon": 0.707879 + }, + { + "uic": "80251967", + "stop_area": "stop_area:OCE:SA:80251967", + "nom": "Perl", + "lat": 49.4731, + "lon": 6.3693 + }, + { + "uic": "87697839", + "stop_area": "stop_area:OCE:SA:87697839", + "nom": "Perl Gare Routière", + "lat": 49.473147, + "lon": 6.370171 + }, + { + "uic": "87342550", + "stop_area": "stop_area:OCE:SA:87342550", + "nom": "Pernes - Camblain", + "lat": 50.480353, + "lon": 2.431076 + }, + { + "uic": "87592170", + "stop_area": "stop_area:OCE:SA:87592170", + "nom": "Pérols-sur-Vézère", + "lat": 45.584891, + "lon": 1.977764 + }, + { + "uic": "87784009", + "stop_area": "stop_area:OCE:SA:87784009", + "nom": "Perpignan", + "lat": 42.696096, + "lon": 2.879355 + }, + { + "uic": "87745620", + "stop_area": "stop_area:OCE:SA:87745620", + "nom": "Perrignier", + "lat": 46.303341, + "lon": 6.424888 + }, + { + "uic": "87282335", + "stop_area": "stop_area:OCE:SA:87282335", + "nom": "Perrigny-sur-Loire", + "lat": 46.530569, + "lon": 3.846146 + }, + { + "uic": "87645176", + "stop_area": "stop_area:OCE:SA:87645176", + "nom": "Pers", + "lat": 44.88703, + "lon": 2.240404 + }, + { + "uic": "87276469", + "stop_area": "stop_area:OCE:SA:87276469", + "nom": "Persan - Beaumont", + "lat": 49.14795, + "lon": 2.27914 + }, + { + "uic": "87751362", + "stop_area": "stop_area:OCE:SA:87751362", + "nom": "Pertuis", + "lat": 43.684584, + "lon": 5.503716 + }, + { + "uic": "87581751", + "stop_area": "stop_area:OCE:SA:87581751", + "nom": "Pessac", + "lat": 44.804621, + "lon": -0.631784 + }, + { + "uic": "87581793", + "stop_area": "stop_area:OCE:SA:87581793", + "nom": "Pessac-Alouette", + "lat": 44.793462, + "lon": -0.65946 + }, + { + "uic": "82009300", + "stop_area": "stop_area:OCE:SA:82009300", + "nom": "Petange", + "lat": 49.55419, + "lon": 5.8786 + }, + { + "uic": "87184267", + "stop_area": "stop_area:OCE:SA:87184267", + "nom": "Petit-Croix", + "lat": 47.610145, + "lon": 6.99467 + }, + { + "uic": "87193797", + "stop_area": "stop_area:OCE:SA:87193797", + "nom": "Petit-Réderching", + "lat": 49.049321, + "lon": 7.299731 + }, + { + "uic": "87672337", + "stop_area": "stop_area:OCE:SA:87672337", + "nom": "Peyrehorade", + "lat": 43.546683, + "lon": -1.115794 + }, + { + "uic": "87592428", + "stop_area": "stop_area:OCE:SA:87592428", + "nom": "Peyrilhac - Saint-Jouvent", + "lat": 45.959862, + "lon": 1.170226 + }, + { + "uic": "87526574", + "stop_area": "stop_area:OCE:SA:87526574", + "nom": "Peyruis Parc Relais", + "lat": 44.027242, + "lon": 5.937107 + }, + { + "uic": "87574541", + "stop_area": "stop_area:OCE:SA:87574541", + "nom": "Pezou", + "lat": 47.867153, + "lon": 1.140958 + }, + { + "uic": "87658849", + "stop_area": "stop_area:OCE:SA:87658849", + "nom": "Pfaffenhoffen Mairie", + "lat": 48.844724, + "lon": 7.610925 + }, + { + "uic": "87678730", + "stop_area": "stop_area:OCE:SA:87678730", + "nom": "Pfaffenhoffen Pl. République", + "lat": 48.844006, + "lon": 7.607554 + }, + { + "uic": "87286500", + "stop_area": "stop_area:OCE:SA:87286500", + "nom": "Phalempin", + "lat": 50.515367, + "lon": 3.019899 + }, + { + "uic": "87668137", + "stop_area": "stop_area:OCE:SA:87668137", + "nom": "Philippsbourg Falkenstein", + "lat": 48.984021, + "lon": 7.567483 + }, + { + "uic": "87406926", + "stop_area": "stop_area:OCE:SA:87406926", + "nom": "Philippsbourg Lieschbach", + "lat": 48.991408, + "lon": 7.558084 + }, + { + "uic": "87611830", + "stop_area": "stop_area:OCE:SA:87611830", + "nom": "Pibrac", + "lat": 43.621329, + "lon": 1.289117 + }, + { + "uic": "87759290", + "stop_area": "stop_area:OCE:SA:87759290", + "nom": "Picon Busserine", + "lat": 43.330999, + "lon": 5.392746 + }, + { + "uic": "87313106", + "stop_area": "stop_area:OCE:SA:87313106", + "nom": "Picquigny", + "lat": 49.945998, + "lon": 2.143139 + }, + { + "uic": "87722231", + "stop_area": "stop_area:OCE:SA:87722231", + "nom": "Pierre-Bénite", + "lat": 45.706677, + "lon": 4.824506 + }, + { + "uic": "87592253", + "stop_area": "stop_area:OCE:SA:87592253", + "nom": "Pierre-Buffière", + "lat": 45.699499, + "lon": 1.347241 + }, + { + "uic": "87534057", + "stop_area": "stop_area:OCE:SA:87534057", + "nom": "Pierrefitte-sur-Aire", + "lat": 48.8995, + "lon": 5.3294 + }, + { + "uic": "87764308", + "stop_area": "stop_area:OCE:SA:87764308", + "nom": "Pierrelatte", + "lat": 44.374634, + "lon": 4.703798 + }, + { + "uic": "87755389", + "stop_area": "stop_area:OCE:SA:87755389", + "nom": "Pignans", + "lat": 43.298553, + "lon": 6.224828 + }, + { + "uic": "87316679", + "stop_area": "stop_area:OCE:SA:87316679", + "nom": "Pihen", + "lat": 50.87275, + "lon": 1.784602 + }, + { + "uic": "87618116", + "stop_area": "stop_area:OCE:SA:87618116", + "nom": "Pins-Justaret", + "lat": 43.479213, + "lon": 1.399645 + }, + { + "uic": "87473272", + "stop_area": "stop_area:OCE:SA:87473272", + "nom": "Plancoët", + "lat": 48.521679, + "lon": -2.228921 + }, + { + "uic": "87784785", + "stop_area": "stop_area:OCE:SA:87784785", + "nom": "Planès", + "lat": 42.500918, + "lon": 2.136927 + }, + { + "uic": "87471177", + "stop_area": "stop_area:OCE:SA:87471177", + "nom": "Pléchâtel", + "lat": 47.871861, + "lon": -1.776352 + }, + { + "uic": "87473082", + "stop_area": "stop_area:OCE:SA:87473082", + "nom": "Plénée-Jugon", + "lat": 48.376656, + "lon": -2.354611 + }, + { + "uic": "87478123", + "stop_area": "stop_area:OCE:SA:87478123", + "nom": "Plerguer", + "lat": 48.531597, + "lon": -1.850263 + }, + { + "uic": "87473090", + "stop_area": "stop_area:OCE:SA:87473090", + "nom": "Plestan", + "lat": 48.425712, + "lon": -2.442484 + }, + { + "uic": "87478149", + "stop_area": "stop_area:OCE:SA:87478149", + "nom": "Pleudihen", + "lat": 48.499346, + "lon": -1.961682 + }, + { + "uic": "87474320", + "stop_area": "stop_area:OCE:SA:87474320", + "nom": "Pleyber-Christ", + "lat": 48.507826, + "lon": -3.882554 + }, + { + "uic": "87473181", + "stop_area": "stop_area:OCE:SA:87473181", + "nom": "Plouaret Trégor", + "lat": 48.606422, + "lon": -3.466979 + }, + { + "uic": "87473538", + "stop_area": "stop_area:OCE:SA:87473538", + "nom": "Plougonver", + "lat": 48.458413, + "lon": -3.370458 + }, + { + "uic": "87476416", + "stop_area": "stop_area:OCE:SA:87476416", + "nom": "Plouharnel - Carnac", + "lat": 47.604152, + "lon": -3.118481 + }, + { + "uic": "87474411", + "stop_area": "stop_area:OCE:SA:87474411", + "nom": "Plouigneau", + "lat": 48.564903, + "lon": -3.71073 + }, + { + "uic": "87473199", + "stop_area": "stop_area:OCE:SA:87473199", + "nom": "Plounérin", + "lat": 48.581703, + "lon": -3.567325 + }, + { + "uic": "87473132", + "stop_area": "stop_area:OCE:SA:87473132", + "nom": "Plouvara - Plerneuf", + "lat": 48.508585, + "lon": -2.892514 + }, + { + "uic": "87582734", + "stop_area": "stop_area:OCE:SA:87582734", + "nom": "Podensac", + "lat": 44.648962, + "lon": -0.358823 + }, + { + "uic": "87581397", + "stop_area": "stop_area:OCE:SA:87581397", + "nom": "Pointe de Grave", + "lat": 45.567042, + "lon": -1.065862 + }, + { + "uic": "87575001", + "stop_area": "stop_area:OCE:SA:87575001", + "nom": "Poitiers", + "lat": 46.582232, + "lon": 0.333136 + }, + { + "uic": "87313395", + "stop_area": "stop_area:OCE:SA:87313395", + "nom": "Poix-de-Picardie", + "lat": 49.777788, + "lon": 1.989899 + }, + { + "uic": "87172171", + "stop_area": "stop_area:OCE:SA:87172171", + "nom": "Poix-Terron", + "lat": 49.649987, + "lon": 4.636418 + }, + { + "uic": "87761742", + "stop_area": "stop_area:OCE:SA:87761742", + "nom": "Poliénas", + "lat": 45.256006, + "lon": 5.473585 + }, + { + "uic": "87718189", + "stop_area": "stop_area:OCE:SA:87718189", + "nom": "Poligny", + "lat": 46.844207, + "lon": 5.700268 + }, + { + "uic": "87725846", + "stop_area": "stop_area:OCE:SA:87725846", + "nom": "Polliat", + "lat": 46.244657, + "lon": 5.123894 + }, + { + "uic": "87697706", + "stop_area": "stop_area:OCE:SA:87697706", + "nom": "Polliat-Mairie", + "lat": 46.24936, + "lon": 5.126289 + }, + { + "uic": "87615146", + "stop_area": "stop_area:OCE:SA:87615146", + "nom": "Pomas", + "lat": 43.112196, + "lon": 2.28842 + }, + { + "uic": "87141788", + "stop_area": "stop_area:OCE:SA:87141788", + "nom": "Pompey", + "lat": 48.77304, + "lon": 6.13061 + }, + { + "uic": "87491100", + "stop_area": "stop_area:OCE:SA:87491100", + "nom": "Pons", + "lat": 45.578213, + "lon": -0.539021 + }, + { + "uic": "87281410", + "stop_area": "stop_area:OCE:SA:87281410", + "nom": "Pont d'Ardres", + "lat": 50.892121, + "lon": 1.970791 + }, + { + "uic": "87286831", + "stop_area": "stop_area:OCE:SA:87286831", + "nom": "Pont de bois", + "lat": 50.624032, + "lon": 3.130256 + }, + { + "uic": "87317115", + "stop_area": "stop_area:OCE:SA:87317115", + "nom": "Pont de Briques", + "lat": 50.682422, + "lon": 1.627173 + }, + { + "uic": "87734459", + "stop_area": "stop_area:OCE:SA:87734459", + "nom": "Pont de Dore", + "lat": 45.842875, + "lon": 3.49045 + }, + { + "uic": "87345207", + "stop_area": "stop_area:OCE:SA:87345207", + "nom": "Pont de la Deûle", + "lat": 50.398139, + "lon": 3.085101 + }, + { + "uic": "87726786", + "stop_area": "stop_area:OCE:SA:87726786", + "nom": "Pont de Lignon", + "lat": 45.259769, + "lon": 4.137082 + }, + { + "uic": "87345124", + "stop_area": "stop_area:OCE:SA:87345124", + "nom": "Pont de Sallaumines", + "lat": 50.415772, + "lon": 2.863086 + }, + { + "uic": "87141820", + "stop_area": "stop_area:OCE:SA:87141820", + "nom": "Pont-à-Mousson", + "lat": 48.900348, + "lon": 6.051021 + }, + { + "uic": "87345264", + "stop_area": "stop_area:OCE:SA:87345264", + "nom": "Pont-à-Vendin", + "lat": 50.471303, + "lon": 2.875266 + }, + { + "uic": "85010132", + "stop_area": "stop_area:OCE:SA:85010132", + "nom": "Pont-Céard", + "lat": 46.28739, + "lon": 6.162667 + }, + { + "uic": "87743120", + "stop_area": "stop_area:OCE:SA:87743120", + "nom": "Pont-d'Ain", + "lat": 46.054009, + "lon": 5.334332 + }, + { + "uic": "87741470", + "stop_area": "stop_area:OCE:SA:87741470", + "nom": "Pont-de-Beauvoisin", + "lat": 45.524597, + "lon": 5.680801 + }, + { + "uic": "87474056", + "stop_area": "stop_area:OCE:SA:87474056", + "nom": "Pont-de-Buis", + "lat": 48.254402, + "lon": -4.086123 + }, + { + "uic": "87752899", + "stop_area": "stop_area:OCE:SA:87752899", + "nom": "Pont-de-Claix l'Étoile", + "lat": 45.13748, + "lon": 5.70258 + }, + { + "uic": "87415661", + "stop_area": "stop_area:OCE:SA:87415661", + "nom": "Pont-de-l'Arche", + "lat": 49.317143, + "lon": 1.159669 + }, + { + "uic": "87725804", + "stop_area": "stop_area:OCE:SA:87725804", + "nom": "Pont-de-Veyle", + "lat": 46.267772, + "lon": 4.892871 + }, + { + "uic": "87734087", + "stop_area": "stop_area:OCE:SA:87734087", + "nom": "Pont-du-Château", + "lat": 45.788529, + "lon": 3.238384 + }, + { + "uic": "87444349", + "stop_area": "stop_area:OCE:SA:87444349", + "nom": "Pont-l'Évêque", + "lat": 49.287044, + "lon": 0.191974 + }, + { + "uic": "87473520", + "stop_area": "stop_area:OCE:SA:87473520", + "nom": "Pont-Melvez", + "lat": 48.470223, + "lon": -3.311444 + }, + { + "uic": "87313130", + "stop_area": "stop_area:OCE:SA:87313130", + "nom": "Pont-Remy", + "lat": 50.04715, + "lon": 1.898937 + }, + { + "uic": "87764555", + "stop_area": "stop_area:OCE:SA:87764555", + "nom": "Pont-Saint-Esprit", + "lat": 44.25315, + "lon": 4.643118 + }, + { + "uic": "87141523", + "stop_area": "stop_area:OCE:SA:87141523", + "nom": "Pont-Saint-Vincent", + "lat": 48.602974, + "lon": 6.10224 + }, + { + "uic": "87747170", + "stop_area": "stop_area:OCE:SA:87747170", + "nom": "Pont-Sainte-Marie Arcis Magasins", + "lat": 48.3281, + "lon": 4.0998 + }, + { + "uic": "87276329", + "stop_area": "stop_area:OCE:SA:87276329", + "nom": "Pont-Sainte-Maxence", + "lat": 49.309736, + "lon": 2.602893 + }, + { + "uic": "87216135", + "stop_area": "stop_area:OCE:SA:87216135", + "nom": "Pont-sur-Seine Fleming", + "lat": 48.513051, + "lon": 3.598846 + }, + { + "uic": "87216143", + "stop_area": "stop_area:OCE:SA:87216143", + "nom": "Pont-sur-Seine Place Saint-Martin", + "lat": 48.516683, + "lon": 3.597253 + }, + { + "uic": "87683136", + "stop_area": "stop_area:OCE:SA:87683136", + "nom": "Pont-sur-Yonne", + "lat": 48.286287, + "lon": 3.201463 + }, + { + "uic": "87697714", + "stop_area": "stop_area:OCE:SA:87697714", + "nom": "Pontamafrey", + "lat": 45.31251, + "lon": 6.340528 + }, + { + "uic": "87725721", + "stop_area": "stop_area:OCE:SA:87725721", + "nom": "Pontanevaux", + "lat": 46.213047, + "lon": 4.772881 + }, + { + "uic": "87715003", + "stop_area": "stop_area:OCE:SA:87715003", + "nom": "Pontarlier", + "lat": 46.900988, + "lon": 6.353418 + }, + { + "uic": "87471391", + "stop_area": "stop_area:OCE:SA:87471391", + "nom": "Pontchaillou", + "lat": 48.118641, + "lon": -1.691118 + }, + { + "uic": "87721464", + "stop_area": "stop_area:OCE:SA:87721464", + "nom": "Pontcharra - Saint-Forgeux", + "lat": 45.871541, + "lon": 4.492904 + }, + { + "uic": "87747493", + "stop_area": "stop_area:OCE:SA:87747493", + "nom": "Pontcharra sur Bréda", + "lat": 45.434091, + "lon": 6.007859 + }, + { + "uic": "87481846", + "stop_area": "stop_area:OCE:SA:87481846", + "nom": "Pontchâteau", + "lat": 47.435334, + "lon": -2.088526 + }, + { + "uic": "87394247", + "stop_area": "stop_area:OCE:SA:87394247", + "nom": "Pontgouin", + "lat": 48.477877, + "lon": 1.141444 + }, + { + "uic": "87734103", + "stop_area": "stop_area:OCE:SA:87734103", + "nom": "Pontmort", + "lat": 45.940101, + "lon": 3.160014 + }, + { + "uic": "87409417", + "stop_area": "stop_area:OCE:SA:87409417", + "nom": "Pontmort RN9-D17", + "lat": 45.9438, + "lon": 3.1669 + }, + { + "uic": "87478263", + "stop_area": "stop_area:OCE:SA:87478263", + "nom": "Pontorson - Mont-Saint-Michel", + "lat": 48.552729, + "lon": -1.504931 + }, + { + "uic": "87473843", + "stop_area": "stop_area:OCE:SA:87473843", + "nom": "Pontrieux", + "lat": 48.705644, + "lon": -3.157428 + }, + { + "uic": "87473835", + "stop_area": "stop_area:OCE:SA:87473835", + "nom": "Pontrieux Halte", + "lat": 48.698017, + "lon": -3.164382 + }, + { + "uic": "87481283", + "stop_area": "stop_area:OCE:SA:87481283", + "nom": "Pornic", + "lat": 47.11441, + "lon": -2.098025 + }, + { + "uic": "87481747", + "stop_area": "stop_area:OCE:SA:87481747", + "nom": "Pornichet", + "lat": 47.27043, + "lon": -2.344865 + }, + { + "uic": "87571794", + "stop_area": "stop_area:OCE:SA:87571794", + "nom": "Port Boulet", + "lat": 47.248836, + "lon": 0.155648 + }, + { + "uic": "87478750", + "stop_area": "stop_area:OCE:SA:87478750", + "nom": "Port-Brillet", + "lat": 48.110707, + "lon": -0.974047 + }, + { + "uic": "87753459", + "stop_area": "stop_area:OCE:SA:87753459", + "nom": "Port-de-Bouc", + "lat": 43.407203, + "lon": 4.984676 + }, + { + "uic": "87575076", + "stop_area": "stop_area:OCE:SA:87575076", + "nom": "Port-de-Piles", + "lat": 47.01026, + "lon": 0.598918 + }, + { + "uic": "87781062", + "stop_area": "stop_area:OCE:SA:87781062", + "nom": "Port-la-Nouvelle", + "lat": 43.019934, + "lon": 3.038819 + }, + { + "uic": "87481218", + "stop_area": "stop_area:OCE:SA:87481218", + "nom": "Port-Saint-Père - Saint-Mars", + "lat": 47.116531, + "lon": -1.739477 + }, + { + "uic": "87586107", + "stop_area": "stop_area:OCE:SA:87586107", + "nom": "Port-Sainte-Marie", + "lat": 44.250438, + "lon": 0.390506 + }, + { + "uic": "87784264", + "stop_area": "stop_area:OCE:SA:87784264", + "nom": "Port-Vendres", + "lat": 42.513608, + "lon": 3.102576 + }, + { + "uic": "71793150", + "stop_area": "stop_area:OCE:SA:71793150", + "nom": "Portbou", + "lat": 42.424701, + "lon": 3.158034 + }, + { + "uic": "87533653", + "stop_area": "stop_area:OCE:SA:87533653", + "nom": "Porte Jeune", + "lat": 47.749576, + "lon": 7.340188 + }, + { + "uic": "87611509", + "stop_area": "stop_area:OCE:SA:87611509", + "nom": "Porté-Puymorens", + "lat": 42.538781, + "lon": 1.824852 + }, + { + "uic": "87611400", + "stop_area": "stop_area:OCE:SA:87611400", + "nom": "Portet Saint-Simon", + "lat": 43.527904, + "lon": 1.389243 + }, + { + "uic": "87582718", + "stop_area": "stop_area:OCE:SA:87582718", + "nom": "Portets", + "lat": 44.6929, + "lon": -0.425393 + }, + { + "uic": "87745380", + "stop_area": "stop_area:OCE:SA:87745380", + "nom": "Pougny - Chancy", + "lat": 46.14473, + "lon": 5.96136 + }, + { + "uic": "87696211", + "stop_area": "stop_area:OCE:SA:87696211", + "nom": "Pougues-les-Eaux", + "lat": 47.076784, + "lon": 3.09403 + }, + { + "uic": "87696179", + "stop_area": "stop_area:OCE:SA:87696179", + "nom": "Pouilly-sur-Loire", + "lat": 47.282242, + "lon": 2.966276 + }, + { + "uic": "87721894", + "stop_area": "stop_area:OCE:SA:87721894", + "nom": "Poule", + "lat": 46.148042, + "lon": 4.456603 + }, + { + "uic": "87484584", + "stop_area": "stop_area:OCE:SA:87484584", + "nom": "Poule-les-Écharmeaux Mairie", + "lat": 46.148161, + "lon": 4.45663 + }, + { + "uic": "87172338", + "stop_area": "stop_area:OCE:SA:87172338", + "nom": "Pouru-Saint-Remy", + "lat": 49.675863, + "lon": 5.082955 + }, + { + "uic": "87748731", + "stop_area": "stop_area:OCE:SA:87748731", + "nom": "Poussay Rue de Mirecourt", + "lat": 48.315946, + "lon": 6.125975 + }, + { + "uic": "87144428", + "stop_area": "stop_area:OCE:SA:87144428", + "nom": "Pouxeux", + "lat": 48.108806, + "lon": 6.569532 + }, + { + "uic": "87333005", + "stop_area": "stop_area:OCE:SA:87333005", + "nom": "Pouzauges", + "lat": 46.78031, + "lon": -0.839446 + }, + { + "uic": "87487314", + "stop_area": "stop_area:OCE:SA:87487314", + "nom": "Pouzauges", + "lat": 46.752417, + "lon": -0.814603 + }, + { + "uic": "87453670", + "stop_area": "stop_area:OCE:SA:87453670", + "nom": "Pradelles", + "lat": 44.769726, + "lon": 3.883214 + }, + { + "uic": "87784637", + "stop_area": "stop_area:OCE:SA:87784637", + "nom": "Prades - Molitg-les-Bains", + "lat": 42.617085, + "lon": 2.429486 + }, + { + "uic": "87700914", + "stop_area": "stop_area:OCE:SA:87700914", + "nom": "Praye-sous-Vaudémont PN", + "lat": 48.433054, + "lon": 6.100488 + }, + { + "uic": "87698613", + "stop_area": "stop_area:OCE:SA:87698613", + "nom": "Praz-sur-Arly Office de Tourisme", + "lat": 45.839413, + "lon": 6.577007 + }, + { + "uic": "87582767", + "stop_area": "stop_area:OCE:SA:87582767", + "nom": "Preignac", + "lat": 44.57847, + "lon": -0.302095 + }, + { + "uic": "87485268", + "stop_area": "stop_area:OCE:SA:87485268", + "nom": "Prin-Deyrançon", + "lat": 46.219032, + "lon": -0.636413 + }, + { + "uic": "87746206", + "stop_area": "stop_area:OCE:SA:87746206", + "nom": "Pringy", + "lat": 45.939517, + "lon": 6.123338 + }, + { + "uic": "87485359", + "stop_area": "stop_area:OCE:SA:87485359", + "nom": "Prissé-la-Charrière", + "lat": 46.153021, + "lon": -0.492754 + }, + { + "uic": "87698621", + "stop_area": "stop_area:OCE:SA:87698621", + "nom": "Privas-Cours-du-Palais", + "lat": 44.734577, + "lon": 4.600045 + }, + { + "uic": "87343418", + "stop_area": "stop_area:OCE:SA:87343418", + "nom": "Prouvy - Thiant", + "lat": 50.316488, + "lon": 3.46127 + }, + { + "uic": "87144345", + "stop_area": "stop_area:OCE:SA:87144345", + "nom": "Provenchères-sur-Fave", + "lat": 48.304629, + "lon": 7.08549 + }, + { + "uic": "87171629", + "stop_area": "stop_area:OCE:SA:87171629", + "nom": "Prunay", + "lat": 49.198839, + "lon": 4.183629 + }, + { + "uic": "87576199", + "stop_area": "stop_area:OCE:SA:87576199", + "nom": "Pruniers", + "lat": 47.313338, + "lon": 1.67137 + }, + { + "uic": "87755363", + "stop_area": "stop_area:OCE:SA:87755363", + "nom": "Puget-Ville", + "lat": 43.284118, + "lon": 6.13978 + }, + { + "uic": "87594754", + "stop_area": "stop_area:OCE:SA:87594754", + "nom": "Puybrun", + "lat": 44.921771, + "lon": 1.784281 + }, + { + "uic": "87672279", + "stop_area": "stop_area:OCE:SA:87672279", + "nom": "Puyoô", + "lat": 43.524682, + "lon": -0.910812 + }, + { + "uic": "87473058", + "stop_area": "stop_area:OCE:SA:87473058", + "nom": "Quédillac", + "lat": 48.24848, + "lon": -2.14522 + }, + { + "uic": "87476671", + "stop_area": "stop_area:OCE:SA:87476671", + "nom": "Questembert", + "lat": 47.683021, + "lon": -2.449621 + }, + { + "uic": "87476457", + "stop_area": "stop_area:OCE:SA:87476457", + "nom": "Quiberon", + "lat": 47.485234, + "lon": -3.118386 + }, + { + "uic": "87615260", + "stop_area": "stop_area:OCE:SA:87615260", + "nom": "Quillan", + "lat": 42.873947, + "lon": 2.181787 + }, + { + "uic": "87474098", + "stop_area": "stop_area:OCE:SA:87474098", + "nom": "Quimper", + "lat": 47.994455, + "lon": -4.092103 + }, + { + "uic": "87476317", + "stop_area": "stop_area:OCE:SA:87476317", + "nom": "Quimperlé", + "lat": 47.869375, + "lon": -3.552693 + }, + { + "uic": "87721290", + "stop_area": "stop_area:OCE:SA:87721290", + "nom": "Quincieux", + "lat": 45.906914, + "lon": 4.77857 + }, + { + "uic": "87615328", + "stop_area": "stop_area:OCE:SA:87615328", + "nom": "Rabastens - Couffouleux", + "lat": 43.819654, + "lon": 1.730455 + }, + { + "uic": "87338160", + "stop_area": "stop_area:OCE:SA:87338160", + "nom": "Rachecourt-sur-Marne", + "lat": 48.52696, + "lon": 5.100304 + }, + { + "uic": "87192179", + "stop_area": "stop_area:OCE:SA:87192179", + "nom": "Racrange Rue de Morhange", + "lat": 48.925827, + "lon": 6.662393 + }, + { + "uic": "87182717", + "stop_area": "stop_area:OCE:SA:87182717", + "nom": "Raedersheim", + "lat": 47.886906, + "lon": 7.284047 + }, + { + "uic": "87589200", + "stop_area": "stop_area:OCE:SA:87589200", + "nom": "Ragegat", + "lat": 43.965368, + "lon": 0.663654 + }, + { + "uic": "87343319", + "stop_area": "stop_area:OCE:SA:87343319", + "nom": "Raismes", + "lat": 50.39029, + "lon": 3.478839 + }, + { + "uic": "87586370", + "stop_area": "stop_area:OCE:SA:87586370", + "nom": "Rambert Preignan", + "lat": 43.711122, + "lon": 0.621717 + }, + { + "uic": "87393314", + "stop_area": "stop_area:OCE:SA:87393314", + "nom": "Rambouillet", + "lat": 48.64377, + "lon": 1.83154 + }, + { + "uic": "87718338", + "stop_area": "stop_area:OCE:SA:87718338", + "nom": "Ranchot", + "lat": 47.152532, + "lon": 5.724641 + }, + { + "uic": "87317057", + "stop_area": "stop_area:OCE:SA:87317057", + "nom": "Rang-du-Fliers - Verton - Berck", + "lat": 50.415845, + "lon": 1.648048 + }, + { + "uic": "87757732", + "stop_area": "stop_area:OCE:SA:87757732", + "nom": "Ranguin", + "lat": 43.569167, + "lon": 6.969316 + }, + { + "uic": "87182402", + "stop_area": "stop_area:OCE:SA:87182402", + "nom": "Ranspach", + "lat": 47.881595, + "lon": 7.012318 + }, + { + "uic": "87659904", + "stop_area": "stop_area:OCE:SA:87659904", + "nom": "Ranspach Ancienne Fonderie", + "lat": 47.881405, + "lon": 7.009459 + }, + { + "uic": "87144626", + "stop_area": "stop_area:OCE:SA:87144626", + "nom": "Raon-l'Étape", + "lat": 48.403947, + "lon": 6.837042 + }, + { + "uic": "87753426", + "stop_area": "stop_area:OCE:SA:87753426", + "nom": "Rassuen", + "lat": 43.496661, + "lon": 4.973105 + }, + { + "uic": "87595223", + "stop_area": "stop_area:OCE:SA:87595223", + "nom": "Razac", + "lat": 45.165863, + "lon": 0.599396 + }, + { + "uic": "87747279", + "stop_area": "stop_area:OCE:SA:87747279", + "nom": "Réaumont - Saint-Cassien", + "lat": 45.368821, + "lon": 5.534859 + }, + { + "uic": "87215129", + "stop_area": "stop_area:OCE:SA:87215129", + "nom": "Réchicourt-le-Château", + "lat": 48.663077, + "lon": 6.83458 + }, + { + "uic": "87407098", + "stop_area": "stop_area:OCE:SA:87407098", + "nom": "Réchicourt-le-Château Centre", + "lat": 48.665, + "lon": 6.840833 + }, + { + "uic": "87295022", + "stop_area": "stop_area:OCE:SA:87295022", + "nom": "Recquignies", + "lat": 50.284146, + "lon": 4.043803 + }, + { + "uic": "87215079", + "stop_area": "stop_area:OCE:SA:87215079", + "nom": "Réding", + "lat": 48.74296, + "lon": 7.095885 + }, + { + "uic": "87471300", + "stop_area": "stop_area:OCE:SA:87471300", + "nom": "Redon", + "lat": 47.652004, + "lon": -2.08777 + }, + { + "uic": "87721050", + "stop_area": "stop_area:OCE:SA:87721050", + "nom": "Régny", + "lat": 45.987743, + "lon": 4.215263 + }, + { + "uic": "87194449", + "stop_area": "stop_area:OCE:SA:87194449", + "nom": "Réhon La Chapelle", + "lat": 49.508627, + "lon": 5.755594 + }, + { + "uic": "87477570", + "stop_area": "stop_area:OCE:SA:87477570", + "nom": "Rehon Poste", + "lat": 49.504214, + "lon": 5.754301 + }, + { + "uic": "87213249", + "stop_area": "stop_area:OCE:SA:87213249", + "nom": "Reichshoffen", + "lat": 48.930925, + "lon": 7.658072 + }, + { + "uic": "87213231", + "stop_area": "stop_area:OCE:SA:87213231", + "nom": "Reichshoffen Usines", + "lat": 48.921667, + "lon": 7.659638 + }, + { + "uic": "87571455", + "stop_area": "stop_area:OCE:SA:87571455", + "nom": "Reignac", + "lat": 47.21787, + "lon": 0.901533 + }, + { + "uic": "87746511", + "stop_area": "stop_area:OCE:SA:87746511", + "nom": "Reignier", + "lat": 46.125636, + "lon": 6.267539 + }, + { + "uic": "87171009", + "stop_area": "stop_area:OCE:SA:87171009", + "nom": "Reims", + "lat": 49.259602, + "lon": 4.02392 + }, + { + "uic": "87747360", + "stop_area": "stop_area:OCE:SA:87747360", + "nom": "Reims Gouraud", + "lat": 49.244794, + "lon": 4.048719 + }, + { + "uic": "87171272", + "stop_area": "stop_area:OCE:SA:87171272", + "nom": "Reims Maison Blanche", + "lat": 49.233406, + "lon": 4.022648 + }, + { + "uic": "87747378", + "stop_area": "stop_area:OCE:SA:87747378", + "nom": "Reims Saint-Symphorien", + "lat": 49.255102, + "lon": 4.03603 + }, + { + "uic": "87654442", + "stop_area": "stop_area:OCE:SA:87654442", + "nom": "Reipertswiller Salle Polyvalente", + "lat": 48.933187, + "lon": 7.464299 + }, + { + "uic": "87191411", + "stop_area": "stop_area:OCE:SA:87191411", + "nom": "Remelfang Giratoire", + "lat": 49.27212, + "lon": 6.504478 + }, + { + "uic": "87703421", + "stop_area": "stop_area:OCE:SA:87703421", + "nom": "Rémelfing Centre", + "lat": 49.091669, + "lon": 7.092517 + }, + { + "uic": "87192237", + "stop_area": "stop_area:OCE:SA:87192237", + "nom": "Rémilly", + "lat": 49.014025, + "lon": 6.395097 + }, + { + "uic": "87685776", + "stop_area": "stop_area:OCE:SA:87685776", + "nom": "Rémilly Le Charnay Pont Bulvin", + "lat": 46.805342, + "lon": 3.806645 + }, + { + "uic": "87476853", + "stop_area": "stop_area:OCE:SA:87476853", + "nom": "Remilly Place du 11 Novembre", + "lat": 49.010775, + "lon": 6.39761 + }, + { + "uic": "87172700", + "stop_area": "stop_area:OCE:SA:87172700", + "nom": "Remilly-Aillicourt", + "lat": 49.657718, + "lon": 4.984295 + }, + { + "uic": "87144451", + "stop_area": "stop_area:OCE:SA:87144451", + "nom": "Remiremont", + "lat": 48.016342, + "lon": 6.598879 + }, + { + "uic": "87640987", + "stop_area": "stop_area:OCE:SA:87640987", + "nom": "Remomeix Abri", + "lat": 48.264826, + "lon": 6.99321 + }, + { + "uic": "87714998", + "stop_area": "stop_area:OCE:SA:87714998", + "nom": "Rémoncourt Route Principale", + "lat": 48.2252, + "lon": 6.048286 + }, + { + "uic": "87313403", + "stop_area": "stop_area:OCE:SA:87313403", + "nom": "Rémy", + "lat": 49.433353, + "lon": 2.705802 + }, + { + "uic": "87281451", + "stop_area": "stop_area:OCE:SA:87281451", + "nom": "Renescure", + "lat": 50.732006, + "lon": 2.371364 + }, + { + "uic": "87471003", + "stop_area": "stop_area:OCE:SA:87471003", + "nom": "Rennes", + "lat": 48.103517, + "lon": -1.672744 + }, + { + "uic": "87717629", + "stop_area": "stop_area:OCE:SA:87717629", + "nom": "Rennes Beaulieu Chimie", + "lat": 48.117098, + "lon": -1.633905 + }, + { + "uic": "87172270", + "stop_area": "stop_area:OCE:SA:87172270", + "nom": "Rethel", + "lat": 49.504393, + "lon": 4.369566 + }, + { + "uic": "87471359", + "stop_area": "stop_area:OCE:SA:87471359", + "nom": "Retiers", + "lat": 47.913257, + "lon": -1.389626 + }, + { + "uic": "87734749", + "stop_area": "stop_area:OCE:SA:87734749", + "nom": "Retournac", + "lat": 45.201342, + "lon": 4.036062 + }, + { + "uic": "87408971", + "stop_area": "stop_area:OCE:SA:87408971", + "nom": "Reugny RN144", + "lat": 46.462027, + "lon": 2.615508 + }, + { + "uic": "87589804", + "stop_area": "stop_area:OCE:SA:87589804", + "nom": "Reugny Rue De La Bascul", + "lat": 46.462807, + "lon": 2.61546 + }, + { + "uic": "87597039", + "stop_area": "stop_area:OCE:SA:87597039", + "nom": "Reuilly", + "lat": 47.086035, + "lon": 2.04725 + }, + { + "uic": "87175018", + "stop_area": "stop_area:OCE:SA:87175018", + "nom": "Revigny", + "lat": 48.824193, + "lon": 4.985513 + }, + { + "uic": "87172080", + "stop_area": "stop_area:OCE:SA:87172080", + "nom": "Revin", + "lat": 49.938756, + "lon": 4.642536 + }, + { + "uic": "87199612", + "stop_area": "stop_area:OCE:SA:87199612", + "nom": "Reyersviller Schwangerbach", + "lat": 49.032547, + "lon": 7.408583 + }, + { + "uic": "87481036", + "stop_area": "stop_area:OCE:SA:87481036", + "nom": "Rezé Pont-Rousseau", + "lat": 47.193276, + "lon": -1.549394 + }, + { + "uic": "87784660", + "stop_area": "stop_area:OCE:SA:87784660", + "nom": "Ria", + "lat": 42.603408, + "lon": 2.390749 + }, + { + "uic": "87552141", + "stop_area": "stop_area:OCE:SA:87552141", + "nom": "Ribeauville Gare Routière", + "lat": 48.19223, + "lon": 7.325821 + }, + { + "uic": "87276766", + "stop_area": "stop_area:OCE:SA:87276766", + "nom": "Ribécourt", + "lat": 49.506302, + "lon": 2.927092 + }, + { + "uic": "87213462", + "stop_area": "stop_area:OCE:SA:87213462", + "nom": "Riedseltz", + "lat": 48.991144, + "lon": 7.962985 + }, + { + "uic": "87660365", + "stop_area": "stop_area:OCE:SA:87660365", + "nom": "Riedseltz Arrêt Chapelle", + "lat": 48.990344, + "lon": 7.950727 + }, + { + "uic": "87660373", + "stop_area": "stop_area:OCE:SA:87660373", + "nom": "Riedseltz Salle Polyvalente", + "lat": 48.994381, + "lon": 7.955299 + }, + { + "uic": "87276352", + "stop_area": "stop_area:OCE:SA:87276352", + "nom": "Rieux - Angicourt", + "lat": 49.298581, + "lon": 2.521185 + }, + { + "uic": "87171595", + "stop_area": "stop_area:OCE:SA:87171595", + "nom": "Rilly-la-Montagne", + "lat": 49.166504, + "lon": 4.040812 + }, + { + "uic": "80143255", + "stop_area": "stop_area:OCE:SA:80143255", + "nom": "Ringsheim", + "lat": 48.2489, + "lon": 7.7732 + }, + { + "uic": "87734053", + "stop_area": "stop_area:OCE:SA:87734053", + "nom": "Riom - Châtel-Guyon", + "lat": 45.889965, + "lon": 3.120498 + }, + { + "uic": "87702076", + "stop_area": "stop_area:OCE:SA:87702076", + "nom": "Riquewihr Poste", + "lat": 48.165896, + "lon": 7.299868 + }, + { + "uic": "87571653", + "stop_area": "stop_area:OCE:SA:87571653", + "nom": "Rivarennes", + "lat": 47.267956, + "lon": 0.361861 + }, + { + "uic": "87726331", + "stop_area": "stop_area:OCE:SA:87726331", + "nom": "Rive-de-Gier", + "lat": 45.524324, + "lon": 4.606648 + }, + { + "uic": "87747246", + "stop_area": "stop_area:OCE:SA:87747246", + "nom": "Rives", + "lat": 45.357594, + "lon": 5.491895 + }, + { + "uic": "87784173", + "stop_area": "stop_area:OCE:SA:87784173", + "nom": "Rivesaltes", + "lat": 42.766375, + "lon": 2.867807 + }, + { + "uic": "87182071", + "stop_area": "stop_area:OCE:SA:87182071", + "nom": "Rixheim", + "lat": 47.748695, + "lon": 7.406144 + }, + { + "uic": "87659854", + "stop_area": "stop_area:OCE:SA:87659854", + "nom": "Rixheim Arrêt Soléa Barrières", + "lat": 47.748244, + "lon": 7.409291 + }, + { + "uic": "87726802", + "stop_area": "stop_area:OCE:SA:87726802", + "nom": "Roanne", + "lat": 46.039383, + "lon": 4.063207 + }, + { + "uic": "87698639", + "stop_area": "stop_area:OCE:SA:87698639", + "nom": "Roanne-Gare-Routière", + "lat": 46.041249, + "lon": 4.060934 + }, + { + "uic": "87613042", + "stop_area": "stop_area:OCE:SA:87613042", + "nom": "Rocamadour - Padirac", + "lat": 44.818243, + "lon": 1.657104 + }, + { + "uic": "87718403", + "stop_area": "stop_area:OCE:SA:87718403", + "nom": "Roche-lez-Beaupré", + "lat": 47.276175, + "lon": 6.111195 + }, + { + "uic": "87485144", + "stop_area": "stop_area:OCE:SA:87485144", + "nom": "Rochefort", + "lat": 45.947189, + "lon": -0.963556 + }, + { + "uic": "87313601", + "stop_area": "stop_area:OCE:SA:87313601", + "nom": "Rochy-Condé", + "lat": 49.39866, + "lon": 2.173021 + }, + { + "uic": "82009407", + "stop_area": "stop_area:OCE:SA:82009407", + "nom": "Rodange", + "lat": 49.550911, + "lon": 5.843642 + }, + { + "uic": "87613422", + "stop_area": "stop_area:OCE:SA:87613422", + "nom": "Rodez", + "lat": 44.362633, + "lon": 2.58056 + }, + { + "uic": "87212407", + "stop_area": "stop_area:OCE:SA:87212407", + "nom": "Roeschwoog", + "lat": 48.833437, + "lon": 8.029823 + }, + { + "uic": "87342089", + "stop_area": "stop_area:OCE:SA:87342089", + "nom": "Roeux", + "lat": 50.30342, + "lon": 2.894364 + }, + { + "uic": "87753251", + "stop_area": "stop_area:OCE:SA:87753251", + "nom": "Rognac", + "lat": 43.486632, + "lon": 5.230664 + }, + { + "uic": "80194316", + "stop_area": "stop_area:OCE:SA:80194316", + "nom": "Rohrbach (Pfalz)", + "lat": 49.13812, + "lon": 8.14165 + }, + { + "uic": "87193789", + "stop_area": "stop_area:OCE:SA:87193789", + "nom": "Rohrbach-lès-Bitche", + "lat": 49.054267, + "lon": 7.262194 + }, + { + "uic": "87406967", + "stop_area": "stop_area:OCE:SA:87406967", + "nom": "Rohrbach-les-Bitche Carrefour", + "lat": 49.0458, + "lon": 7.2653 + }, + { + "uic": "87725739", + "stop_area": "stop_area:OCE:SA:87725739", + "nom": "Romanèche-Thorins-Maison Blanche", + "lat": 46.176344, + "lon": 4.741973 + }, + { + "uic": "87761650", + "stop_area": "stop_area:OCE:SA:87761650", + "nom": "Romans - Bourg-de-Péage", + "lat": 45.048862, + "lon": 5.049574 + }, + { + "uic": "87698647", + "stop_area": "stop_area:OCE:SA:87698647", + "nom": "Romans-Gare-Routière", + "lat": 45.048391, + "lon": 5.051393 + }, + { + "uic": "87640805", + "stop_area": "stop_area:OCE:SA:87640805", + "nom": "Rombach-le-Franc Place des Fêtes", + "lat": 48.281963, + "lon": 7.264459 + }, + { + "uic": "87640813", + "stop_area": "stop_area:OCE:SA:87640813", + "nom": "Rombach-le-Franc Scierie", + "lat": 48.278908, + "lon": 7.270575 + }, + { + "uic": "87191734", + "stop_area": "stop_area:OCE:SA:87191734", + "nom": "Rombas - Clouange", + "lat": 49.256065, + "lon": 6.099188 + }, + { + "uic": "87476911", + "stop_area": "stop_area:OCE:SA:87476911", + "nom": "Romelfing Église", + "lat": 48.831804, + "lon": 7.024711 + }, + { + "uic": "87476887", + "stop_area": "stop_area:OCE:SA:87476887", + "nom": "Romelfling Rue de l'Europe", + "lat": 48.831943, + "lon": 7.020692 + }, + { + "uic": "87387175", + "stop_area": "stop_area:OCE:SA:87387175", + "nom": "Romilly-la-Puthenaye", + "lat": 49.003921, + "lon": 0.854862 + }, + { + "uic": "87118158", + "stop_area": "stop_area:OCE:SA:87118158", + "nom": "Romilly-sur-Seine", + "lat": 48.514433, + "lon": 3.728887 + }, + { + "uic": "87216119", + "stop_area": "stop_area:OCE:SA:87216119", + "nom": "Romilly-sur-Seine Atelier SNCF", + "lat": 48.514682, + "lon": 3.725553 + }, + { + "uic": "87727867", + "stop_area": "stop_area:OCE:SA:87727867", + "nom": "Romilly-sur-Seine Centre Commercial", + "lat": 48.5038, + "lon": 3.7588 + }, + { + "uic": "87216127", + "stop_area": "stop_area:OCE:SA:87216127", + "nom": "Romilly-sur-Seine Hôpital", + "lat": 48.515641, + "lon": 3.715476 + }, + { + "uic": "87576025", + "stop_area": "stop_area:OCE:SA:87576025", + "nom": "Romorantin Blanc Argent", + "lat": 47.355562, + "lon": 1.739209 + }, + { + "uic": "87185314", + "stop_area": "stop_area:OCE:SA:87185314", + "nom": "Ronchamp", + "lat": 47.699045, + "lon": 6.623385 + }, + { + "uic": "87286534", + "stop_area": "stop_area:OCE:SA:87286534", + "nom": "Ronchin", + "lat": 50.604539, + "lon": 3.078334 + }, + { + "uic": "87326462", + "stop_area": "stop_area:OCE:SA:87326462", + "nom": "Roôcourt-la-Côte", + "lat": 48.211961, + "lon": 5.145308 + }, + { + "uic": "87212415", + "stop_area": "stop_area:OCE:SA:87212415", + "nom": "Roppenheim", + "lat": 48.851162, + "lon": 8.06231 + }, + { + "uic": "87756460", + "stop_area": "stop_area:OCE:SA:87756460", + "nom": "Roquebrune-Cap-Martin", + "lat": 43.760618, + "lon": 7.457343 + }, + { + "uic": "87615351", + "stop_area": "stop_area:OCE:SA:87615351", + "nom": "Roquesérière - Buzet", + "lat": 43.751247, + "lon": 1.619875 + }, + { + "uic": "87748749", + "stop_area": "stop_area:OCE:SA:87748749", + "nom": "Rorschwihr Cimetière", + "lat": 48.218332, + "lon": 7.362414 + }, + { + "uic": "87643452", + "stop_area": "stop_area:OCE:SA:87643452", + "nom": "Rorschwihr Mairie", + "lat": 48.217302, + "lon": 7.36257 + }, + { + "uic": "87214320", + "stop_area": "stop_area:OCE:SA:87214320", + "nom": "Rosheim", + "lat": 48.505196, + "lon": 7.491065 + }, + { + "uic": "87313460", + "stop_area": "stop_area:OCE:SA:87313460", + "nom": "Rosières", + "lat": 49.822584, + "lon": 2.711198 + }, + { + "uic": "87141127", + "stop_area": "stop_area:OCE:SA:87141127", + "nom": "Rosières-aux-Salines", + "lat": 48.605441, + "lon": 6.350631 + }, + { + "uic": "87361980", + "stop_area": "stop_area:OCE:SA:87361980", + "nom": "Rosiers-d'Égletons", + "lat": 45.376418, + "lon": 2.008132 + }, + { + "uic": "87415885", + "stop_area": "stop_area:OCE:SA:87415885", + "nom": "Rosny-sur-Seine", + "lat": 48.997311, + "lon": 1.630121 + }, + { + "uic": "87474155", + "stop_area": "stop_area:OCE:SA:87474155", + "nom": "Rosporden", + "lat": 47.960224, + "lon": -3.832702 + }, + { + "uic": "87642363", + "stop_area": "stop_area:OCE:SA:87642363", + "nom": "Rosteig Monument aux Morts", + "lat": 48.93297, + "lon": 7.340953 + }, + { + "uic": "87286567", + "stop_area": "stop_area:OCE:SA:87286567", + "nom": "Rosult", + "lat": 50.456425, + "lon": 3.348995 + }, + { + "uic": "87214726", + "stop_area": "stop_area:OCE:SA:87214726", + "nom": "Rothau", + "lat": 48.459232, + "lon": 7.207709 + }, + { + "uic": "87286732", + "stop_area": "stop_area:OCE:SA:87286732", + "nom": "Roubaix", + "lat": 50.695557, + "lon": 3.16351 + }, + { + "uic": "87411017", + "stop_area": "stop_area:OCE:SA:87411017", + "nom": "Rouen Rive Droite", + "lat": 49.448663, + "lon": 1.094103 + }, + { + "uic": "87182337", + "stop_area": "stop_area:OCE:SA:87182337", + "nom": "Rouffach", + "lat": 47.960188, + "lon": 7.312529 + }, + { + "uic": "87654475", + "stop_area": "stop_area:OCE:SA:87654475", + "nom": "Rouffach CHS", + "lat": 47.950572, + "lon": 7.291129 + }, + { + "uic": "87485532", + "stop_area": "stop_area:OCE:SA:87485532", + "nom": "Rouillé", + "lat": 46.418654, + "lon": 0.041045 + }, + { + "uic": "87216010", + "stop_area": "stop_area:OCE:SA:87216010", + "nom": "Rouilly-Saint-Loup D21", + "lat": 48.262675, + "lon": 4.151495 + }, + { + "uic": "87280016", + "stop_area": "stop_area:OCE:SA:87280016", + "nom": "Rouilly-Saint-Loup la Guérade", + "lat": 48.268163, + "lon": 4.137102 + }, + { + "uic": "87212373", + "stop_area": "stop_area:OCE:SA:87212373", + "nom": "Rountzenheim", + "lat": 48.820457, + "lon": 8.011774 + }, + { + "uic": "87338194", + "stop_area": "stop_area:OCE:SA:87338194", + "nom": "Rouvroy-sur-Marne", + "lat": 48.358072, + "lon": 5.147529 + }, + { + "uic": "87491803", + "stop_area": "stop_area:OCE:SA:87491803", + "nom": "Royan", + "lat": 45.625886, + "lon": -1.016703 + }, + { + "uic": "87734038", + "stop_area": "stop_area:OCE:SA:87734038", + "nom": "Royat - Chamalières", + "lat": 45.767617, + "lon": 3.061503 + }, + { + "uic": "87680579", + "stop_area": "stop_area:OCE:SA:87680579", + "nom": "Royat T2C Beausite", + "lat": 45.768241, + "lon": 3.061838 + }, + { + "uic": "87144311", + "stop_area": "stop_area:OCE:SA:87144311", + "nom": "Rozières-sur-Mouzon", + "lat": 48.120926, + "lon": 5.705391 + }, + { + "uic": "87317404", + "stop_area": "stop_area:OCE:SA:87317404", + "nom": "Rue", + "lat": 50.273147, + "lon": 1.675697 + }, + { + "uic": "87583849", + "stop_area": "stop_area:OCE:SA:87583849", + "nom": "Ruffec", + "lat": 46.030542, + "lon": 0.190153 + }, + { + "uic": "87713826", + "stop_area": "stop_area:OCE:SA:87713826", + "nom": "Ruffey", + "lat": 47.370745, + "lon": 5.07961 + }, + { + "uic": "87712026", + "stop_area": "stop_area:OCE:SA:87712026", + "nom": "Rully", + "lat": 46.880287, + "lon": 4.760736 + }, + { + "uic": "87746149", + "stop_area": "stop_area:OCE:SA:87746149", + "nom": "Rumilly", + "lat": 45.863053, + "lon": 5.947949 + }, + { + "uic": "87287300", + "stop_area": "stop_area:OCE:SA:87287300", + "nom": "Ruminghem", + "lat": 50.861744, + "lon": 2.158317 + }, + { + "uic": "87338186", + "stop_area": "stop_area:OCE:SA:87338186", + "nom": "Rupt", + "lat": 48.425223, + "lon": 5.139446 + }, + { + "uic": "87214684", + "stop_area": "stop_area:OCE:SA:87214684", + "nom": "Russ-Hersbach", + "lat": 48.498221, + "lon": 7.251925 + }, + { + "uic": "85010025", + "stop_area": "stop_area:OCE:SA:85010025", + "nom": "Russin", + "lat": 46.187771, + "lon": 6.017553 + }, + { + "uic": "87214783", + "stop_area": "stop_area:OCE:SA:87214783", + "nom": "Saales", + "lat": 48.347315, + "lon": 7.110225 + }, + { + "uic": "87396408", + "stop_area": "stop_area:OCE:SA:87396408", + "nom": "Sablé-sur-Sarthe", + "lat": 47.841759, + "lon": -0.342 + }, + { + "uic": "87172346", + "stop_area": "stop_area:OCE:SA:87172346", + "nom": "Sachy", + "lat": 49.669064, + "lon": 5.130877 + }, + { + "uic": "87784835", + "stop_area": "stop_area:OCE:SA:87784835", + "nom": "Saillagouse", + "lat": 42.456899, + "lon": 2.032165 + }, + { + "uic": "87761817", + "stop_area": "stop_area:OCE:SA:87761817", + "nom": "Saillans", + "lat": 44.694416, + "lon": 5.19413 + }, + { + "uic": "87592717", + "stop_area": "stop_area:OCE:SA:87592717", + "nom": "Saillat - Chassenon", + "lat": 45.869506, + "lon": 0.811886 + }, + { + "uic": "87721605", + "stop_area": "stop_area:OCE:SA:87721605", + "nom": "Sain-Bel", + "lat": 45.811093, + "lon": 4.601249 + }, + { + "uic": "87696260", + "stop_area": "stop_area:OCE:SA:87696260", + "nom": "Saincaize", + "lat": 46.931405, + "lon": 3.071937 + }, + { + "uic": "87295709", + "stop_area": "stop_area:OCE:SA:87295709", + "nom": "Sains-du-Nord", + "lat": 50.088914, + "lon": 4.001668 + }, + { + "uic": "87727768", + "stop_area": "stop_area:OCE:SA:87727768", + "nom": "Saint Lyé Gravières", + "lat": 48.36548, + "lon": 3.997967 + }, + { + "uic": "87694851", + "stop_area": "stop_area:OCE:SA:87694851", + "nom": "Saint-Agnan", + "lat": 46.502031, + "lon": 3.878938 + }, + { + "uic": "87611301", + "stop_area": "stop_area:OCE:SA:87611301", + "nom": "Saint-Agne", + "lat": 43.579477, + "lon": 1.45012 + }, + { + "uic": "87574897", + "stop_area": "stop_area:OCE:SA:87574897", + "nom": "Saint-Aignan - Noyers", + "lat": 47.286724, + "lon": 1.383626 + }, + { + "uic": "87584540", + "stop_area": "stop_area:OCE:SA:87584540", + "nom": "Saint-Aigulin - La Roche-Chalais", + "lat": 45.157316, + "lon": -0.018977 + }, + { + "uic": "87574640", + "stop_area": "stop_area:OCE:SA:87574640", + "nom": "Saint-Amand de Vendôme", + "lat": 47.692972, + "lon": 1.011978 + }, + { + "uic": "87343103", + "stop_area": "stop_area:OCE:SA:87343103", + "nom": "Saint-Amand-les-Eaux", + "lat": 50.443342, + "lon": 3.419371 + }, + { + "uic": "87576322", + "stop_area": "stop_area:OCE:SA:87576322", + "nom": "Saint-Amand-Montrond - Orval", + "lat": 46.726508, + "lon": 2.485989 + }, + { + "uic": "87182600", + "stop_area": "stop_area:OCE:SA:87182600", + "nom": "Saint-Amarin", + "lat": 47.873042, + "lon": 7.028656 + }, + { + "uic": "87659912", + "stop_area": "stop_area:OCE:SA:87659912", + "nom": "Saint-Amarin Hôtel Le Cheval Blanc", + "lat": 47.874738, + "lon": 7.028348 + }, + { + "uic": "87718296", + "stop_area": "stop_area:OCE:SA:87718296", + "nom": "Saint-Amour", + "lat": 46.433733, + "lon": 5.334427 + }, + { + "uic": "87286195", + "stop_area": "stop_area:OCE:SA:87286195", + "nom": "Saint-André", + "lat": 50.654307, + "lon": 3.04766 + }, + { + "uic": "87723734", + "stop_area": "stop_area:OCE:SA:87723734", + "nom": "Saint-André-de-Corcy", + "lat": 45.925942, + "lon": 4.948804 + }, + { + "uic": "87491241", + "stop_area": "stop_area:OCE:SA:87491241", + "nom": "Saint-André-de-Cubzac", + "lat": 44.99122, + "lon": -0.44048 + }, + { + "uic": "87723494", + "stop_area": "stop_area:OCE:SA:87723494", + "nom": "Saint-André-le-Gaz", + "lat": 45.544529, + "lon": 5.524254 + }, + { + "uic": "87344598", + "stop_area": "stop_area:OCE:SA:87344598", + "nom": "Saint-Angel", + "lat": 45.503952, + "lon": 2.231627 + }, + { + "uic": "87751826", + "stop_area": "stop_area:OCE:SA:87751826", + "nom": "Saint-Antoine", + "lat": 43.369599, + "lon": 5.35781 + }, + { + "uic": "87715250", + "stop_area": "stop_area:OCE:SA:87715250", + "nom": "Saint-Antoine (Doubs)", + "lat": 46.775663, + "lon": 6.341869 + }, + { + "uic": "87584201", + "stop_area": "stop_area:OCE:SA:87584201", + "nom": "Saint-Antoine-de-Breuilh", + "lat": 44.846635, + "lon": 0.152352 + }, + { + "uic": "87571539", + "stop_area": "stop_area:OCE:SA:87571539", + "nom": "Saint-Antoine-du-Rocher", + "lat": 47.503699, + "lon": 0.616347 + }, + { + "uic": "87471318", + "stop_area": "stop_area:OCE:SA:87471318", + "nom": "Saint-Armel", + "lat": 48.01434, + "lon": -1.594774 + }, + { + "uic": "87595249", + "stop_area": "stop_area:OCE:SA:87595249", + "nom": "Saint-Astier", + "lat": 45.138972, + "lon": 0.522792 + }, + { + "uic": "87394213", + "stop_area": "stop_area:OCE:SA:87394213", + "nom": "Saint-Aubin - Saint-Luperce", + "lat": 48.447642, + "lon": 1.331839 + }, + { + "uic": "87415125", + "stop_area": "stop_area:OCE:SA:87415125", + "nom": "Saint-Aubin-sur-Scie", + "lat": 49.871748, + "lon": 1.066664 + }, + { + "uic": "87594622", + "stop_area": "stop_area:OCE:SA:87594622", + "nom": "Saint-Aulaire", + "lat": 45.248841, + "lon": 1.398697 + }, + { + "uic": "87773465", + "stop_area": "stop_area:OCE:SA:87773465", + "nom": "Saint-Aunès", + "lat": 43.635442, + "lon": 3.96309 + }, + { + "uic": "87193318", + "stop_area": "stop_area:OCE:SA:87193318", + "nom": "Saint-Avold", + "lat": 49.085873, + "lon": 6.720614 + }, + { + "uic": "87741306", + "stop_area": "stop_area:OCE:SA:87741306", + "nom": "Saint-Avre - La Chambre", + "lat": 45.35312, + "lon": 6.302867 + }, + { + "uic": "87574129", + "stop_area": "stop_area:OCE:SA:87574129", + "nom": "Saint-Ay", + "lat": 47.863162, + "lon": 1.750163 + }, + { + "uic": "87741454", + "stop_area": "stop_area:OCE:SA:87741454", + "nom": "Saint-Béron - La Bridoire", + "lat": 45.503939, + "lon": 5.731907 + }, + { + "uic": "87214742", + "stop_area": "stop_area:OCE:SA:87214742", + "nom": "Saint-Blaise-la-Roche", + "lat": 48.407333, + "lon": 7.165336 + }, + { + "uic": "87641076", + "stop_area": "stop_area:OCE:SA:87641076", + "nom": "Saint-Bonnet-de-Rochefort", + "lat": 46.148402, + "lon": 3.139445 + }, + { + "uic": "87713693", + "stop_area": "stop_area:OCE:SA:87713693", + "nom": "Saint-Bonnet-en-Bresse", + "lat": 46.85485, + "lon": 5.16595 + }, + { + "uic": "87592691", + "stop_area": "stop_area:OCE:SA:87592691", + "nom": "Saint-Brice-sur-Vienne", + "lat": 45.878283, + "lon": 0.952399 + }, + { + "uic": "87473009", + "stop_area": "stop_area:OCE:SA:87473009", + "nom": "Saint-Brieuc", + "lat": 48.50758, + "lon": -2.765 + }, + { + "uic": "87775072", + "stop_area": "stop_area:OCE:SA:87775072", + "nom": "Saint-Césaire", + "lat": 43.813345, + "lon": 4.327634 + }, + { + "uic": "87753202", + "stop_area": "stop_area:OCE:SA:87753202", + "nom": "Saint-Chamas", + "lat": 43.551161, + "lon": 5.040265 + }, + { + "uic": "87726307", + "stop_area": "stop_area:OCE:SA:87726307", + "nom": "Saint-Chamond", + "lat": 45.472557, + "lon": 4.516971 + }, + { + "uic": "87783241", + "stop_area": "stop_area:OCE:SA:87783241", + "nom": "Saint-Chély-d'Apcher", + "lat": 44.801791, + "lon": 3.270857 + }, + { + "uic": "87613257", + "stop_area": "stop_area:OCE:SA:87613257", + "nom": "Saint-Christophe", + "lat": 44.464619, + "lon": 2.407758 + }, + { + "uic": "87722652", + "stop_area": "stop_area:OCE:SA:87722652", + "nom": "Saint-Clair - Les Roches", + "lat": 45.450303, + "lon": 4.769669 + }, + { + "uic": "87743633", + "stop_area": "stop_area:OCE:SA:87743633", + "nom": "Saint-Claude", + "lat": 46.389964, + "lon": 5.860345 + }, + { + "uic": "87141374", + "stop_area": "stop_area:OCE:SA:87141374", + "nom": "Saint-Clément - Laronxe", + "lat": 48.531216, + "lon": 6.608166 + }, + { + "uic": "87595777", + "stop_area": "stop_area:OCE:SA:87595777", + "nom": "Saint-Cyprien", + "lat": 44.863407, + "lon": 1.043574 + }, + { + "uic": "87446179", + "stop_area": "stop_area:OCE:SA:87446179", + "nom": "Saint-Cyprien Arènes", + "lat": 43.594048, + "lon": 1.416493 + }, + { + "uic": "87755215", + "stop_area": "stop_area:OCE:SA:87755215", + "nom": "Saint-Cyr Les Lecques - La Cadière", + "lat": 43.185506, + "lon": 5.703819 + }, + { + "uic": "87543116", + "stop_area": "stop_area:OCE:SA:87543116", + "nom": "Saint-Cyr-en-Val", + "lat": 47.819215, + "lon": 1.947581 + }, + { + "uic": "87756866", + "stop_area": "stop_area:OCE:SA:87756866", + "nom": "Saint-Dalmas de Tende", + "lat": 44.05582, + "lon": 7.58345 + }, + { + "uic": "87584508", + "stop_area": "stop_area:OCE:SA:87584508", + "nom": "Saint-Denis-de-Pile", + "lat": 44.978485, + "lon": -0.197877 + }, + { + "uic": "87592097", + "stop_area": "stop_area:OCE:SA:87592097", + "nom": "Saint-Denis-des-Murs", + "lat": 45.78898, + "lon": 1.55139 + }, + { + "uic": "87594572", + "stop_area": "stop_area:OCE:SA:87594572", + "nom": "Saint-Denis-Près-Martel", + "lat": 44.946029, + "lon": 1.666238 + }, + { + "uic": "87641332", + "stop_area": "stop_area:OCE:SA:87641332", + "nom": "Saint-Dié Rue d'Alsace", + "lat": 48.280005, + "lon": 6.955555 + }, + { + "uic": "87144014", + "stop_area": "stop_area:OCE:SA:87144014", + "nom": "Saint-Dié-des-Vosges", + "lat": 48.282043, + "lon": 6.948516 + }, + { + "uic": "87175000", + "stop_area": "stop_area:OCE:SA:87175000", + "nom": "Saint-Dizier", + "lat": 48.642404, + "lon": 4.947855 + }, + { + "uic": "87107474", + "stop_area": "stop_area:OCE:SA:87107474", + "nom": "Saint-Dizier Godard-Jeanson", + "lat": 48.631407, + "lon": 4.950304 + }, + { + "uic": "87338145", + "stop_area": "stop_area:OCE:SA:87338145", + "nom": "Saint-Dizier Saint-Amand", + "lat": 48.625016, + "lon": 4.967805 + }, + { + "uic": "87409698", + "stop_area": "stop_area:OCE:SA:87409698", + "nom": "Saint-Eble", + "lat": 45.12974, + "lon": 3.557808 + }, + { + "uic": "87747352", + "stop_area": "stop_area:OCE:SA:87747352", + "nom": "Saint-Égrève Saint-Robert", + "lat": 45.235719, + "lon": 5.671263 + }, + { + "uic": "87676833", + "stop_area": "stop_area:OCE:SA:87676833", + "nom": "Saint-Éloi Église", + "lat": 46.973906, + "lon": 3.221641 + }, + { + "uic": "87584102", + "stop_area": "stop_area:OCE:SA:87584102", + "nom": "Saint-Émilion", + "lat": 44.881266, + "lon": -0.159229 + }, + { + "uic": "87171751", + "stop_area": "stop_area:OCE:SA:87171751", + "nom": "Saint-Erme", + "lat": 49.526949, + "lon": 3.857591 + }, + { + "uic": "87726190", + "stop_area": "stop_area:OCE:SA:87726190", + "nom": "Saint-Étienne Bellevue", + "lat": 45.417198, + "lon": 4.392683 + }, + { + "uic": "87726901", + "stop_area": "stop_area:OCE:SA:87726901", + "nom": "Saint-Étienne Carnot", + "lat": 45.446976, + "lon": 4.385317 + }, + { + "uic": "87726000", + "stop_area": "stop_area:OCE:SA:87726000", + "nom": "Saint-Étienne Châteaucreux", + "lat": 45.443366, + "lon": 4.399722 + }, + { + "uic": "87726158", + "stop_area": "stop_area:OCE:SA:87726158", + "nom": "Saint-Étienne La Terrasse", + "lat": 45.464868, + "lon": 4.379554 + }, + { + "uic": "87726174", + "stop_area": "stop_area:OCE:SA:87726174", + "nom": "Saint-Étienne Le Clapier", + "lat": 45.437125, + "lon": 4.378384 + }, + { + "uic": "87697722", + "stop_area": "stop_area:OCE:SA:87697722", + "nom": "Saint-Étienne-de-Cuines", + "lat": 45.342056, + "lon": 6.291754 + }, + { + "uic": "87481812", + "stop_area": "stop_area:OCE:SA:87481812", + "nom": "Saint-Étienne-de-Montluc", + "lat": 47.274785, + "lon": -1.785654 + }, + { + "uic": "87411215", + "stop_area": "stop_area:OCE:SA:87411215", + "nom": "Saint-Étienne-du-Rouvray", + "lat": 49.377153, + "lon": 1.109472 + }, + { + "uic": "87784520", + "stop_area": "stop_area:OCE:SA:87784520", + "nom": "Saint-Féliu-d'Avall", + "lat": 42.677277, + "lon": 2.737806 + }, + { + "uic": "87576272", + "stop_area": "stop_area:OCE:SA:87576272", + "nom": "Saint-Florent-sur-Cher", + "lat": 46.992111, + "lon": 2.252111 + }, + { + "uic": "87683318", + "stop_area": "stop_area:OCE:SA:87683318", + "nom": "Saint-Florentin - Vergigny", + "lat": 47.981058, + "lon": 3.731036 + }, + { + "uic": "87765941", + "stop_area": "stop_area:OCE:SA:87765941", + "nom": "Saint-Florentin Gare routière", + "lat": 47.981431, + "lon": 3.732662 + }, + { + "uic": "87683334", + "stop_area": "stop_area:OCE:SA:87683334", + "nom": "Saint-Florentin-Ville", + "lat": 48.005065, + "lon": 3.741985 + }, + { + "uic": "87783175", + "stop_area": "stop_area:OCE:SA:87783175", + "nom": "Saint-Flour - Chaudes-Aigues", + "lat": 45.035012, + "lon": 3.106286 + }, + { + "uic": "87728501", + "stop_area": "stop_area:OCE:SA:87728501", + "nom": "Saint-Fons", + "lat": 45.70579, + "lon": 4.852564 + }, + { + "uic": "87611137", + "stop_area": "stop_area:OCE:SA:87611137", + "nom": "Saint-Gaudens", + "lat": 43.105048, + "lon": 0.729154 + }, + { + "uic": "87775361", + "stop_area": "stop_area:OCE:SA:87775361", + "nom": "Saint-Geniès-de-Malgoirès", + "lat": 43.950168, + "lon": 4.214942 + }, + { + "uic": "87571851", + "stop_area": "stop_area:OCE:SA:87571851", + "nom": "Saint-Genouph", + "lat": 47.371065, + "lon": 0.59691 + }, + { + "uic": "87734301", + "stop_area": "stop_area:OCE:SA:87734301", + "nom": "Saint-Georges-d'Aurac", + "lat": 45.160594, + "lon": 3.494704 + }, + { + "uic": "87731802", + "stop_area": "stop_area:OCE:SA:87731802", + "nom": "Saint-Georges-d'Aurac Bourg", + "lat": 45.156213, + "lon": 3.54073 + }, + { + "uic": "87747568", + "stop_area": "stop_area:OCE:SA:87747568", + "nom": "Saint-Georges-de-Commiers", + "lat": 45.043767, + "lon": 5.701787 + }, + { + "uic": "87783423", + "stop_area": "stop_area:OCE:SA:87783423", + "nom": "Saint-Georges-de-Luzençon", + "lat": 44.066553, + "lon": 2.983784 + }, + { + "uic": "87721340", + "stop_area": "stop_area:OCE:SA:87721340", + "nom": "Saint-Georges-de-Reneins", + "lat": 46.06221, + "lon": 4.718888 + }, + { + "uic": "87673269", + "stop_area": "stop_area:OCE:SA:87673269", + "nom": "Saint-Geours", + "lat": 43.671226, + "lon": -1.241391 + }, + { + "uic": "87721282", + "stop_area": "stop_area:OCE:SA:87721282", + "nom": "Saint-Germain-au-Mont-d'Or", + "lat": 45.888431, + "lon": 4.804206 + }, + { + "uic": "87732206", + "stop_area": "stop_area:OCE:SA:87732206", + "nom": "Saint-Germain-des-Fossés", + "lat": 46.209239, + "lon": 3.430574 + }, + { + "uic": "87576405", + "stop_area": "stop_area:OCE:SA:87576405", + "nom": "Saint-Germain-du-Puy", + "lat": 47.096554, + "lon": 2.484833 + }, + { + "uic": "87592287", + "stop_area": "stop_area:OCE:SA:87592287", + "nom": "Saint-Germain-les-Belles", + "lat": 45.609883, + "lon": 1.479971 + }, + { + "uic": "87478016", + "stop_area": "stop_area:OCE:SA:87478016", + "nom": "Saint-Germain-sur-Ille", + "lat": 48.239662, + "lon": -1.653885 + }, + { + "uic": "87744078", + "stop_area": "stop_area:OCE:SA:87744078", + "nom": "Saint-Gervais-les-Bains", + "lat": 45.906535, + "lon": 6.70158 + }, + { + "uic": "87746479", + "stop_area": "stop_area:OCE:SA:87746479", + "nom": "Saint-Gervais-les-Bains-Le Fayet", + "lat": 45.906423, + "lon": 6.701331 + }, + { + "uic": "87476762", + "stop_area": "stop_area:OCE:SA:87476762", + "nom": "Saint-Gildas-des-bois", + "lat": 47.516648, + "lon": -2.04394 + }, + { + "uic": "87181552", + "stop_area": "stop_area:OCE:SA:87181552", + "nom": "Saint-Gilles Lycée Haut-Rhin", + "lat": 48.075853, + "lon": 7.260979 + }, + { + "uic": "87486571", + "stop_area": "stop_area:OCE:SA:87486571", + "nom": "Saint-Gilles-Croix-de-Vie", + "lat": 46.696347, + "lon": -1.941252 + }, + { + "uic": "87297531", + "stop_area": "stop_area:OCE:SA:87297531", + "nom": "Saint-Hilaire", + "lat": 50.132082, + "lon": 3.913485 + }, + { + "uic": "87491324", + "stop_area": "stop_area:OCE:SA:87491324", + "nom": "Saint-Hilaire - Brizambourg", + "lat": 45.850075, + "lon": -0.534736 + }, + { + "uic": "87761684", + "stop_area": "stop_area:OCE:SA:87761684", + "nom": "Saint-Hilaire - Saint-Nazaire", + "lat": 45.071342, + "lon": 5.243845 + }, + { + "uic": "87481234", + "stop_area": "stop_area:OCE:SA:87481234", + "nom": "Saint-Hilaire-de-Chaléons", + "lat": 47.105743, + "lon": -1.865023 + }, + { + "uic": "87389924", + "stop_area": "stop_area:OCE:SA:87389924", + "nom": "Saint-Hilaire-De-Riez", + "lat": 46.71676, + "lon": -1.948609 + }, + { + "uic": "87486563", + "stop_area": "stop_area:OCE:SA:87486563", + "nom": "Saint-Hilaire-de-Riez", + "lat": 46.716629, + "lon": -1.949617 + }, + { + "uic": "87112771", + "stop_area": "stop_area:OCE:SA:87112771", + "nom": "Saint-Hilaire-sous-Romilly", + "lat": 48.515721, + "lon": 3.656165 + }, + { + "uic": "87643437", + "stop_area": "stop_area:OCE:SA:87643437", + "nom": "Saint-Hippolyte Hôtel Munsch", + "lat": 48.230526, + "lon": 7.373267 + }, + { + "uic": "87643445", + "stop_area": "stop_area:OCE:SA:87643445", + "nom": "Saint-Hippolyte Parc Walter", + "lat": 48.232167, + "lon": 7.366947 + }, + { + "uic": "87471052", + "stop_area": "stop_area:OCE:SA:87471052", + "nom": "Saint-Jacques-de-la-Lande", + "lat": 48.067098, + "lon": -1.714237 + }, + { + "uic": "87491357", + "stop_area": "stop_area:OCE:SA:87491357", + "nom": "Saint-Jean-d'Angély", + "lat": 45.940759, + "lon": -0.510006 + }, + { + "uic": "87703587", + "stop_area": "stop_area:OCE:SA:87703587", + "nom": "Saint-Jean-de-Bassel Église", + "lat": 48.803627, + "lon": 6.99114 + }, + { + "uic": "87117952", + "stop_area": "stop_area:OCE:SA:87117952", + "nom": "Saint-Jean-de-Bonneval Église", + "lat": 48.171745, + "lon": 4.049009 + }, + { + "uic": "87713651", + "stop_area": "stop_area:OCE:SA:87713651", + "nom": "Saint-Jean-de-Losne", + "lat": 47.099795, + "lon": 5.244298 + }, + { + "uic": "87677120", + "stop_area": "stop_area:OCE:SA:87677120", + "nom": "Saint-Jean-de-Luz - Ciboure", + "lat": 43.385862, + "lon": -1.661181 + }, + { + "uic": "87742320", + "stop_area": "stop_area:OCE:SA:87742320", + "nom": "Saint-Jean-de-Maurienne Arvan", + "lat": 45.277542, + "lon": 6.354716 + }, + { + "uic": "87611624", + "stop_area": "stop_area:OCE:SA:87611624", + "nom": "Saint-Jean-de-Verges", + "lat": 43.01259, + "lon": 1.608105 + }, + { + "uic": "87443937", + "stop_area": "stop_area:OCE:SA:87443937", + "nom": "Saint-Jean-de-Verges Centre", + "lat": 43.013679, + "lon": 1.61074 + }, + { + "uic": "87764712", + "stop_area": "stop_area:OCE:SA:87764712", + "nom": "Saint-Jean-le-Centenier Centre", + "lat": 44.58959, + "lon": 4.536514 + }, + { + "uic": "87673723", + "stop_area": "stop_area:OCE:SA:87673723", + "nom": "Saint-Jean-Pied-de-Port", + "lat": 43.167726, + "lon": -1.237725 + }, + { + "uic": "87726851", + "stop_area": "stop_area:OCE:SA:87726851", + "nom": "Saint-Jodard", + "lat": 45.88568, + "lon": 4.125243 + }, + { + "uic": "87611657", + "stop_area": "stop_area:OCE:SA:87611657", + "nom": "Saint-Jory", + "lat": 43.738375, + "lon": 1.371619 + }, + { + "uic": "87759316", + "stop_area": "stop_area:OCE:SA:87759316", + "nom": "Saint-Joseph le Castellas", + "lat": 43.351911, + "lon": 5.377083 + }, + { + "uic": "87713834", + "stop_area": "stop_area:OCE:SA:87713834", + "nom": "Saint-Julien - Clénay", + "lat": 47.405761, + "lon": 5.128262 + }, + { + "uic": "87683227", + "stop_area": "stop_area:OCE:SA:87683227", + "nom": "Saint-Julien-du-Sault", + "lat": 48.026965, + "lon": 3.302781 + }, + { + "uic": "87745430", + "stop_area": "stop_area:OCE:SA:87745430", + "nom": "Saint-Julien-en-Genevois", + "lat": 46.142075, + "lon": 6.085527 + }, + { + "uic": "87336982", + "stop_area": "stop_area:OCE:SA:87336982", + "nom": "Saint-Julien-en-Saint-Alban Centre", + "lat": 44.754225, + "lon": 4.69801 + }, + { + "uic": "87216028", + "stop_area": "stop_area:OCE:SA:87216028", + "nom": "Saint-Julien-les-Villas Mairie", + "lat": 48.27409, + "lon": 4.100693 + }, + { + "uic": "87592709", + "stop_area": "stop_area:OCE:SA:87592709", + "nom": "Saint-Junien", + "lat": 45.881532, + "lon": 0.900527 + }, + { + "uic": "87313270", + "stop_area": "stop_area:OCE:SA:87313270", + "nom": "Saint-Just-en-Chaussée", + "lat": 49.50364, + "lon": 2.42949 + }, + { + "uic": "87413310", + "stop_area": "stop_area:OCE:SA:87413310", + "nom": "Saint-Laurent - Gainneville", + "lat": 49.528565, + "lon": 0.252296 + }, + { + "uic": "87775841", + "stop_area": "stop_area:OCE:SA:87775841", + "nom": "Saint-Laurent-d'Aigouze", + "lat": 43.639288, + "lon": 4.19307 + }, + { + "uic": "87485136", + "stop_area": "stop_area:OCE:SA:87485136", + "nom": "Saint-Laurent-de-la-Prée - Fouras", + "lat": 45.992563, + "lon": -1.026912 + }, + { + "uic": "87756346", + "stop_area": "stop_area:OCE:SA:87756346", + "nom": "Saint-Laurent-du-Var", + "lat": 43.662468, + "lon": 7.194452 + }, + { + "uic": "87715417", + "stop_area": "stop_area:OCE:SA:87715417", + "nom": "Saint-Laurent-en-Grandvaux", + "lat": 46.574822, + "lon": 5.951374 + }, + { + "uic": "87500991", + "stop_area": "stop_area:OCE:SA:87500991", + "nom": "Saint-Léger-des-Vignes Faubourg les Valettes", + "lat": 46.8392, + "lon": 3.4517 + }, + { + "uic": "87676874", + "stop_area": "stop_area:OCE:SA:87676874", + "nom": "Saint-Léger-des-Vignes Mairie", + "lat": 46.838552, + "lon": 3.450961 + }, + { + "uic": "87694364", + "stop_area": "stop_area:OCE:SA:87694364", + "nom": "Saint-Léger-sur-Dheune", + "lat": 46.848453, + "lon": 4.628604 + }, + { + "uic": "87595264", + "stop_area": "stop_area:OCE:SA:87595264", + "nom": "Saint-Léon-sur-l'Isle", + "lat": 45.123285, + "lon": 0.492319 + }, + { + "uic": "87716449", + "stop_area": "stop_area:OCE:SA:87716449", + "nom": "Saint-Léonard Centre", + "lat": 48.21668, + "lon": 6.943201 + }, + { + "uic": "87592071", + "stop_area": "stop_area:OCE:SA:87592071", + "nom": "Saint-Léonard-de-Noblat", + "lat": 45.832077, + "lon": 1.481882 + }, + { + "uic": "87447003", + "stop_area": "stop_area:OCE:SA:87447003", + "nom": "Saint-Lô", + "lat": 49.116975, + "lon": -1.099525 + }, + { + "uic": "87718197", + "stop_area": "stop_area:OCE:SA:87718197", + "nom": "Saint-Lothain", + "lat": 46.823181, + "lon": 5.643985 + }, + { + "uic": "87584730", + "stop_area": "stop_area:OCE:SA:87584730", + "nom": "Saint-Loubès", + "lat": 44.922266, + "lon": -0.433198 + }, + { + "uic": "87182139", + "stop_area": "stop_area:OCE:SA:87182139", + "nom": "Saint-Louis", + "lat": 47.590609, + "lon": 7.555988 + }, + { + "uic": "87181016", + "stop_area": "stop_area:OCE:SA:87181016", + "nom": "Saint-Louis la Chaussée", + "lat": 47.60951, + "lon": 7.531278 + }, + { + "uic": "87185330", + "stop_area": "stop_area:OCE:SA:87185330", + "nom": "Saint-Loup-sur-Semouse", + "lat": 47.885625, + "lon": 6.275672 + }, + { + "uic": "87118067", + "stop_area": "stop_area:OCE:SA:87118067", + "nom": "Saint-Lyé Eglise", + "lat": 48.360726, + "lon": 4.004903 + }, + { + "uic": "87344127", + "stop_area": "stop_area:OCE:SA:87344127", + "nom": "Saint-Lyé Maisons brûlées", + "lat": 48.346353, + "lon": 4.022257 + }, + { + "uic": "87727750", + "stop_area": "stop_area:OCE:SA:87727750", + "nom": "Saint-Lyé Mantenay", + "lat": 48.355461, + "lon": 4.012673 + }, + { + "uic": "87727776", + "stop_area": "stop_area:OCE:SA:87727776", + "nom": "Saint-Lyé Régales", + "lat": 48.369507, + "lon": 3.993917 + }, + { + "uic": "87582825", + "stop_area": "stop_area:OCE:SA:87582825", + "nom": "Saint-Macaire", + "lat": 44.568634, + "lon": -0.226969 + }, + { + "uic": "87485490", + "stop_area": "stop_area:OCE:SA:87485490", + "nom": "Saint-Maixent-L'École", + "lat": 46.406482, + "lon": -0.20132 + }, + { + "uic": "87478107", + "stop_area": "stop_area:OCE:SA:87478107", + "nom": "Saint-Malo", + "lat": 48.646859, + "lon": -2.004158 + }, + { + "uic": "87751701", + "stop_area": "stop_area:OCE:SA:87751701", + "nom": "Saint-Marcel", + "lat": 43.2882, + "lon": 5.467117 + }, + { + "uic": "87723742", + "stop_area": "stop_area:OCE:SA:87723742", + "nom": "Saint-Marcel en Dombes", + "lat": 45.950594, + "lon": 4.977902 + }, + { + "uic": "87761718", + "stop_area": "stop_area:OCE:SA:87761718", + "nom": "Saint-Marcellin", + "lat": 45.150885, + "lon": 5.323654 + }, + { + "uic": "87491209", + "stop_area": "stop_area:OCE:SA:87491209", + "nom": "Saint-Mariens - Saint-Yzan", + "lat": 45.139057, + "lon": -0.391834 + }, + { + "uic": "87396283", + "stop_area": "stop_area:OCE:SA:87396283", + "nom": "Saint-Mars-la-Brière", + "lat": 48.028529, + "lon": 0.365703 + }, + { + "uic": "87353599", + "stop_area": "stop_area:OCE:SA:87353599", + "nom": "Saint-Martin du Touch", + "lat": 43.599788, + "lon": 1.371855 + }, + { + "uic": "87392829", + "stop_area": "stop_area:OCE:SA:87392829", + "nom": "Saint-Martin-d'Hères", + "lat": 45.193022, + "lon": 5.768919 + }, + { + "uic": "87671495", + "stop_area": "stop_area:OCE:SA:87671495", + "nom": "Saint-Martin-d'Oney", + "lat": 43.930067, + "lon": -0.651313 + }, + { + "uic": "87753681", + "stop_area": "stop_area:OCE:SA:87753681", + "nom": "Saint-Martin-de-Crau", + "lat": 43.622351, + "lon": 4.800331 + }, + { + "uic": "87743112", + "stop_area": "stop_area:OCE:SA:87743112", + "nom": "Saint-Martin-du-Mont", + "lat": 46.095702, + "lon": 5.303215 + }, + { + "uic": "87696500", + "stop_area": "stop_area:OCE:SA:87696500", + "nom": "Saint-Martin-du-Mont Le Farget", + "lat": 46.072799, + "lon": 5.323927 + }, + { + "uic": "87574459", + "stop_area": "stop_area:OCE:SA:87574459", + "nom": "Saint-Martin-le-Beau", + "lat": 47.355191, + "lon": 0.906004 + }, + { + "uic": "87611103", + "stop_area": "stop_area:OCE:SA:87611103", + "nom": "Saint-Martory", + "lat": 43.138672, + "lon": 0.934754 + }, + { + "uic": "87487892", + "stop_area": "stop_area:OCE:SA:87487892", + "nom": "Saint-Mathurin", + "lat": 47.412073, + "lon": -0.318099 + }, + { + "uic": "87723536", + "stop_area": "stop_area:OCE:SA:87723536", + "nom": "Saint-Maurice-de-Beynost", + "lat": 45.827421, + "lon": 4.976986 + }, + { + "uic": "87582692", + "stop_area": "stop_area:OCE:SA:87582692", + "nom": "Saint-Médard-d'Eyrans", + "lat": 44.716857, + "lon": -0.505717 + }, + { + "uic": "87584607", + "stop_area": "stop_area:OCE:SA:87584607", + "nom": "Saint-Médard-de-Guizières", + "lat": 45.015558, + "lon": -0.048811 + }, + { + "uic": "87478024", + "stop_area": "stop_area:OCE:SA:87478024", + "nom": "Saint-Médard-sur-Ille", + "lat": 48.274222, + "lon": -1.667489 + }, + { + "uic": "87727842", + "stop_area": "stop_area:OCE:SA:87727842", + "nom": "Saint-Mesmin Courlanges", + "lat": 48.452667, + "lon": 3.917763 + }, + { + "uic": "87118091", + "stop_area": "stop_area:OCE:SA:87118091", + "nom": "Saint-Mesmin Gare SNCF", + "lat": 48.438503, + "lon": 3.923669 + }, + { + "uic": "87487298", + "stop_area": "stop_area:OCE:SA:87487298", + "nom": "Saint-Mesmin le Vieux", + "lat": 46.790661, + "lon": -0.731594 + }, + { + "uic": "87727834", + "stop_area": "stop_area:OCE:SA:87727834", + "nom": "Saint-Mesmin Place du Monument", + "lat": 48.445244, + "lon": 3.926411 + }, + { + "uic": "87742361", + "stop_area": "stop_area:OCE:SA:87742361", + "nom": "Saint-Michel - Valloire", + "lat": 45.216916, + "lon": 6.471914 + }, + { + "uic": "87144683", + "stop_area": "stop_area:OCE:SA:87144683", + "nom": "Saint-Michel-sur-Meurthe", + "lat": 48.326984, + "lon": 6.888278 + }, + { + "uic": "87534040", + "stop_area": "stop_area:OCE:SA:87534040", + "nom": "Saint-Mihiel", + "lat": 48.8887, + "lon": 5.54194 + }, + { + "uic": "87642090", + "stop_area": "stop_area:OCE:SA:87642090", + "nom": "Saint-Mihiel Détention", + "lat": 48.885058, + "lon": 5.536063 + }, + { + "uic": "87146217", + "stop_area": "stop_area:OCE:SA:87146217", + "nom": "Saint-Nabord", + "lat": 48.045742, + "lon": 6.581572 + }, + { + "uic": "87481705", + "stop_area": "stop_area:OCE:SA:87481705", + "nom": "Saint-Nazaire", + "lat": 47.286489, + "lon": -2.211079 + }, + { + "uic": "87721878", + "stop_area": "stop_area:OCE:SA:87721878", + "nom": "Saint-Nizier-d'Azergues", + "lat": 46.087028, + "lon": 4.480391 + }, + { + "uic": "87281444", + "stop_area": "stop_area:OCE:SA:87281444", + "nom": "Saint-Omer", + "lat": 50.753618, + "lon": 2.266719 + }, + { + "uic": "87313718", + "stop_area": "stop_area:OCE:SA:87313718", + "nom": "Saint-Omer-en-Chaussée", + "lat": 49.531044, + "lon": 1.997725 + }, + { + "uic": "87500876", + "stop_area": "stop_area:OCE:SA:87500876", + "nom": "Saint-Ouen Arrêt Cars", + "lat": 46.884638, + "lon": 3.304486 + }, + { + "uic": "87500900", + "stop_area": "stop_area:OCE:SA:87500900", + "nom": "Saint-Ouen le Port des Bois", + "lat": 46.8959, + "lon": 3.2948 + }, + { + "uic": "87571554", + "stop_area": "stop_area:OCE:SA:87571554", + "nom": "Saint-Paterne", + "lat": 47.603993, + "lon": 0.478455 + }, + { + "uic": "87571810", + "stop_area": "stop_area:OCE:SA:87571810", + "nom": "Saint-Patrice", + "lat": 47.285659, + "lon": 0.309645 + }, + { + "uic": "87611608", + "stop_area": "stop_area:OCE:SA:87611608", + "nom": "Saint-Paul - Saint-Antoine", + "lat": 42.919428, + "lon": 1.640788 + }, + { + "uic": "87723783", + "stop_area": "stop_area:OCE:SA:87723783", + "nom": "Saint-Paul-de-Varax", + "lat": 46.100114, + "lon": 5.128263 + }, + { + "uic": "87671362", + "stop_area": "stop_area:OCE:SA:87671362", + "nom": "Saint-Pé-de-Bigorre", + "lat": 43.101483, + "lon": -0.161423 + }, + { + "uic": "87761494", + "stop_area": "stop_area:OCE:SA:87761494", + "nom": "Saint-Péray", + "lat": 44.94771, + "lon": 4.85035 + }, + { + "uic": "87117960", + "stop_area": "stop_area:OCE:SA:87117960", + "nom": "Saint-Phal Monument aux Morts", + "lat": 48.120633, + "lon": 3.996513 + }, + { + "uic": "87394148", + "stop_area": "stop_area:OCE:SA:87394148", + "nom": "Saint-Piat", + "lat": 48.542953, + "lon": 1.590489 + }, + { + "uic": "87746909", + "stop_area": "stop_area:OCE:SA:87746909", + "nom": "Saint-Piat Gare Routière", + "lat": 48.543646, + "lon": 1.588554 + }, + { + "uic": "87741223", + "stop_area": "stop_area:OCE:SA:87741223", + "nom": "Saint-Pierre-d'Albigny", + "lat": 45.557399, + "lon": 6.156289 + }, + { + "uic": "87582833", + "stop_area": "stop_area:OCE:SA:87582833", + "nom": "Saint-Pierre-d'Aurillac", + "lat": 44.575113, + "lon": -0.187704 + }, + { + "uic": "87698712", + "stop_area": "stop_area:OCE:SA:87698712", + "nom": "Saint-Pierre-de-Chandieu Charmy", + "lat": 45.647168, + "lon": 5.023541 + }, + { + "uic": "87723361", + "stop_area": "stop_area:OCE:SA:87723361", + "nom": "Saint-Pierre-de-Chandieu Ronin", + "lat": 45.647632, + "lon": 5.011816 + }, + { + "uic": "87595520", + "stop_area": "stop_area:OCE:SA:87595520", + "nom": "Saint-Pierre-de-Chignac", + "lat": 45.123542, + "lon": 0.856753 + }, + { + "uic": "87571240", + "stop_area": "stop_area:OCE:SA:87571240", + "nom": "Saint-Pierre-des-Corps", + "lat": 47.38614, + "lon": 0.723539 + }, + { + "uic": "87746313", + "stop_area": "stop_area:OCE:SA:87746313", + "nom": "Saint-Pierre-en-Faucigny", + "lat": 46.059357, + "lon": 6.375782 + }, + { + "uic": "87478768", + "stop_area": "stop_area:OCE:SA:87478768", + "nom": "Saint-Pierre-la-Cour", + "lat": 48.113651, + "lon": -1.02558 + }, + { + "uic": "87696294", + "stop_area": "stop_area:OCE:SA:87696294", + "nom": "Saint-Pierre-le-Moûtier", + "lat": 46.793278, + "lon": 3.111738 + }, + { + "uic": "87476440", + "stop_area": "stop_area:OCE:SA:87476440", + "nom": "Saint-Pierre-Quiberon", + "lat": 47.520771, + "lon": -3.138689 + }, + { + "uic": "87444216", + "stop_area": "stop_area:OCE:SA:87444216", + "nom": "Saint-Pierre-sur-Dives", + "lat": 49.023106, + "lon": -0.040585 + }, + { + "uic": "87342337", + "stop_area": "stop_area:OCE:SA:87342337", + "nom": "Saint-Pol-sur-Ternoise", + "lat": 50.379156, + "lon": 2.33934 + }, + { + "uic": "87723353", + "stop_area": "stop_area:OCE:SA:87723353", + "nom": "Saint-Priest", + "lat": 45.686673, + "lon": 4.934291 + }, + { + "uic": "87592055", + "stop_area": "stop_area:OCE:SA:87592055", + "nom": "Saint-Priest-Taurion", + "lat": 45.887148, + "lon": 1.40043 + }, + { + "uic": "87296004", + "stop_area": "stop_area:OCE:SA:87296004", + "nom": "Saint-Quentin", + "lat": 49.840025, + "lon": 3.296958 + }, + { + "uic": "87393843", + "stop_area": "stop_area:OCE:SA:87393843", + "nom": "Saint-Quentin en Yvelines", + "lat": 48.78657, + "lon": 2.04523 + }, + { + "uic": "87723387", + "stop_area": "stop_area:OCE:SA:87723387", + "nom": "Saint-Quentin-Fallavier", + "lat": 45.638164, + "lon": 5.099982 + }, + { + "uic": "87761106", + "stop_area": "stop_area:OCE:SA:87761106", + "nom": "Saint-Rambert-d'Albon", + "lat": 45.29776, + "lon": 4.810739 + }, + { + "uic": "87743740", + "stop_area": "stop_area:OCE:SA:87743740", + "nom": "Saint-Rambert-en-Bugey", + "lat": 45.947368, + "lon": 5.438605 + }, + { + "uic": "87757526", + "stop_area": "stop_area:OCE:SA:87757526", + "nom": "Saint-Raphaël Valescure", + "lat": 43.423631, + "lon": 6.769037 + }, + { + "uic": "87313288", + "stop_area": "stop_area:OCE:SA:87313288", + "nom": "Saint-Remy-en-l'Eau", + "lat": 49.468447, + "lon": 2.425975 + }, + { + "uic": "87313080", + "stop_area": "stop_area:OCE:SA:87313080", + "nom": "Saint-Roch", + "lat": 49.893454, + "lon": 2.28377 + }, + { + "uic": "87721456", + "stop_area": "stop_area:OCE:SA:87721456", + "nom": "Saint-Romain-de-Popey", + "lat": 45.861414, + "lon": 4.542447 + }, + { + "uic": "87726430", + "stop_area": "stop_area:OCE:SA:87726430", + "nom": "Saint-Romain-le-Puy", + "lat": 45.554576, + "lon": 4.120989 + }, + { + "uic": "87783431", + "stop_area": "stop_area:OCE:SA:87783431", + "nom": "Saint-Rome-de-Cernon", + "lat": 44.013981, + "lon": 2.967374 + }, + { + "uic": "87765438", + "stop_area": "stop_area:OCE:SA:87765438", + "nom": "Saint-Saturnin-lès-Avignon", + "lat": 43.95318, + "lon": 4.935321 + }, + { + "uic": "87462796", + "stop_area": "stop_area:OCE:SA:87462796", + "nom": "Saint-Sauvy", + "lat": 43.689879, + "lon": 0.826808 + }, + { + "uic": "87491035", + "stop_area": "stop_area:OCE:SA:87491035", + "nom": "Saint-Savinien", + "lat": 45.876038, + "lon": -0.677878 + }, + { + "uic": "87575365", + "stop_area": "stop_area:OCE:SA:87575365", + "nom": "Saint-Saviol", + "lat": 46.146854, + "lon": 0.218172 + }, + { + "uic": "87592493", + "stop_area": "stop_area:OCE:SA:87592493", + "nom": "Saint-Sébastien", + "lat": 46.38604, + "lon": 1.546572 + }, + { + "uic": "87354597", + "stop_area": "stop_area:OCE:SA:87354597", + "nom": "Saint-Sébastien Frêne Rond", + "lat": 47.190548, + "lon": -1.496026 + }, + { + "uic": "87354589", + "stop_area": "stop_area:OCE:SA:87354589", + "nom": "Saint-Sébastien Pas Enchantés", + "lat": 47.206935, + "lon": -1.510821 + }, + { + "uic": "87471169", + "stop_area": "stop_area:OCE:SA:87471169", + "nom": "Saint-Senoux - Pléchâtel", + "lat": 47.897837, + "lon": -1.766138 + }, + { + "uic": "87584615", + "stop_area": "stop_area:OCE:SA:87584615", + "nom": "Saint-Seurin-sur-l'Isle", + "lat": 45.011559, + "lon": -0.002623 + }, + { + "uic": "87615344", + "stop_area": "stop_area:OCE:SA:87615344", + "nom": "Saint-Sulpice", + "lat": 43.775073, + "lon": 1.680702 + }, + { + "uic": "87313684", + "stop_area": "stop_area:OCE:SA:87313684", + "nom": "Saint-Sulpice - Auteuil", + "lat": 49.347397, + "lon": 2.116453 + }, + { + "uic": "87584722", + "stop_area": "stop_area:OCE:SA:87584722", + "nom": "Saint-Sulpice - Izon", + "lat": 44.914308, + "lon": -0.392131 + }, + { + "uic": "87592345", + "stop_area": "stop_area:OCE:SA:87592345", + "nom": "Saint-Sulpice-Laurière", + "lat": 46.046902, + "lon": 1.476261 + }, + { + "uic": "87694174", + "stop_area": "stop_area:OCE:SA:87694174", + "nom": "Saint-Symphorien-de-Marmagne", + "lat": 46.844236, + "lon": 4.337749 + }, + { + "uic": "87739961", + "stop_area": "stop_area:OCE:SA:87739961", + "nom": "Saint-Symphorien-des-Bois", + "lat": 46.332815, + "lon": 4.281244 + }, + { + "uic": "87474312", + "stop_area": "stop_area:OCE:SA:87474312", + "nom": "Saint-Thégonnec", + "lat": 48.494213, + "lon": -3.948134 + }, + { + "uic": "87761130", + "stop_area": "stop_area:OCE:SA:87761130", + "nom": "Saint-Vallier sur Rhône", + "lat": 45.185678, + "lon": 4.814302 + }, + { + "uic": "87721043", + "stop_area": "stop_area:OCE:SA:87721043", + "nom": "Saint-Victor - Thizy", + "lat": 46.002585, + "lon": 4.281106 + }, + { + "uic": "87415166", + "stop_area": "stop_area:OCE:SA:87415166", + "nom": "Saint-Victor-l'Abbaye", + "lat": 49.677032, + "lon": 1.109579 + }, + { + "uic": "87592683", + "stop_area": "stop_area:OCE:SA:87592683", + "nom": "Saint-Victurnien", + "lat": 45.876589, + "lon": 1.009574 + }, + { + "uic": "87734715", + "stop_area": "stop_area:OCE:SA:87734715", + "nom": "Saint-Vincent le Château", + "lat": 45.148827, + "lon": 3.918576 + }, + { + "uic": "87673277", + "stop_area": "stop_area:OCE:SA:87673277", + "nom": "Saint-Vincent-de-Tyrosse", + "lat": 43.657803, + "lon": -1.306421 + }, + { + "uic": "87718320", + "stop_area": "stop_area:OCE:SA:87718320", + "nom": "Saint-Vit", + "lat": 47.183513, + "lon": 5.809024 + }, + { + "uic": "87592824", + "stop_area": "stop_area:OCE:SA:87592824", + "nom": "Saint-Yrieix", + "lat": 45.519263, + "lon": 1.205454 + }, + { + "uic": "87476648", + "stop_area": "stop_area:OCE:SA:87476648", + "nom": "Sainte-Anne", + "lat": 47.678545, + "lon": -2.960609 + }, + { + "uic": "87586479", + "stop_area": "stop_area:OCE:SA:87586479", + "nom": "Sainte-Bazeille", + "lat": 44.532568, + "lon": 0.092987 + }, + { + "uic": "87775239", + "stop_area": "stop_area:OCE:SA:87775239", + "nom": "Sainte-Cécile-d'Andorge", + "lat": 44.255436, + "lon": 3.97585 + }, + { + "uic": "87586362", + "stop_area": "stop_area:OCE:SA:87586362", + "nom": "Sainte-Christie", + "lat": 43.754884, + "lon": 0.631939 + }, + { + "uic": "87715151", + "stop_area": "stop_area:OCE:SA:87715151", + "nom": "Sainte-Colombe", + "lat": 46.879016, + "lon": 6.265825 + }, + { + "uic": "87678482", + "stop_area": "stop_area:OCE:SA:87678482", + "nom": "Sainte-Croix-aux-Mines Centre", + "lat": 48.262741, + "lon": 7.225324 + }, + { + "uic": "87409532", + "stop_area": "stop_area:OCE:SA:87409532", + "nom": "Sainte-Eugénie-de-Villeneuve", + "lat": 45.138352, + "lon": 3.623917 + }, + { + "uic": "87491282", + "stop_area": "stop_area:OCE:SA:87491282", + "nom": "Sainte-Eulalie - Carbon-Blanc", + "lat": 44.897893, + "lon": -0.494036 + }, + { + "uic": "87395962", + "stop_area": "stop_area:OCE:SA:87395962", + "nom": "Sainte-Florine Lycée Claude Favard", + "lat": 45.40158, + "lon": 3.321074 + }, + { + "uic": "87409524", + "stop_area": "stop_area:OCE:SA:87409524", + "nom": "Sainte-Florine Place François", + "lat": 45.405478, + "lon": 3.319408 + }, + { + "uic": "87584193", + "stop_area": "stop_area:OCE:SA:87584193", + "nom": "Sainte-Foy-la-Grande", + "lat": 44.836848, + "lon": 0.221491 + }, + { + "uic": "87444604", + "stop_area": "stop_area:OCE:SA:87444604", + "nom": "Sainte-Gauburge", + "lat": 48.717282, + "lon": 0.428164 + }, + { + "uic": "87344440", + "stop_area": "stop_area:OCE:SA:87344440", + "nom": "Sainte-Gemme", + "lat": 46.901683, + "lon": -0.28775 + }, + { + "uic": "87784850", + "stop_area": "stop_area:OCE:SA:87784850", + "nom": "Sainte-Léocadie", + "lat": 42.441184, + "lon": 2.010435 + }, + { + "uic": "87597054", + "stop_area": "stop_area:OCE:SA:87597054", + "nom": "Sainte-Lizaigne", + "lat": 47.002251, + "lon": 2.0298 + }, + { + "uic": "87640995", + "stop_area": "stop_area:OCE:SA:87640995", + "nom": "Sainte-Marguerite Village", + "lat": 48.268632, + "lon": 6.980849 + }, + { + "uic": "87214858", + "stop_area": "stop_area:OCE:SA:87214858", + "nom": "Sainte-Marie-aux-Mines Cité Scolaire", + "lat": 48.236929, + "lon": 7.170264 + }, + { + "uic": "87751842", + "stop_area": "stop_area:OCE:SA:87751842", + "nom": "Sainte-Marthe en Provence", + "lat": 43.33928, + "lon": 5.390403 + }, + { + "uic": "87575050", + "stop_area": "stop_area:OCE:SA:87575050", + "nom": "Sainte-Maure - Noyant", + "lat": 47.110958, + "lon": 0.577219 + }, + { + "uic": "87582353", + "stop_area": "stop_area:OCE:SA:87582353", + "nom": "Sainte-Mère", + "lat": 44.0026, + "lon": 0.669027 + }, + { + "uic": "87481226", + "stop_area": "stop_area:OCE:SA:87481226", + "nom": "Sainte-Pazanne", + "lat": 47.105386, + "lon": -1.813683 + }, + { + "uic": "87463125", + "stop_area": "stop_area:OCE:SA:87463125", + "nom": "Sainte-Pazanne rue du Vigneau", + "lat": 47.105861, + "lon": -1.810864 + }, + { + "uic": "87491001", + "stop_area": "stop_area:OCE:SA:87491001", + "nom": "Saintes", + "lat": 45.74874, + "lon": -0.6179 + }, + { + "uic": "87543165", + "stop_area": "stop_area:OCE:SA:87543165", + "nom": "Salbris", + "lat": 47.425186, + "lon": 2.047751 + }, + { + "uic": "87618710", + "stop_area": "stop_area:OCE:SA:87618710", + "nom": "Saléchan - Siradan", + "lat": 42.963309, + "lon": 0.631253 + }, + { + "uic": "87746438", + "stop_area": "stop_area:OCE:SA:87746438", + "nom": "Sallanches - Combloux - Megève", + "lat": 45.935699, + "lon": 6.636458 + }, + { + "uic": "87345215", + "stop_area": "stop_area:OCE:SA:87345215", + "nom": "Sallaumines", + "lat": 50.42229, + "lon": 2.855759 + }, + { + "uic": "87613877", + "stop_area": "stop_area:OCE:SA:87613877", + "nom": "Salles-Courbatiès", + "lat": 44.475085, + "lon": 2.07892 + }, + { + "uic": "87342451", + "stop_area": "stop_area:OCE:SA:87342451", + "nom": "Salomé", + "lat": 50.541881, + "lon": 2.838268 + }, + { + "uic": "87753764", + "stop_area": "stop_area:OCE:SA:87753764", + "nom": "Salon", + "lat": 43.639082, + "lon": 5.088588 + }, + { + "uic": "87784157", + "stop_area": "stop_area:OCE:SA:87784157", + "nom": "Salses", + "lat": 42.835609, + "lon": 2.917447 + }, + { + "uic": "85015628", + "stop_area": "stop_area:OCE:SA:85015628", + "nom": "Salvan", + "lat": 46.121612, + "lon": 7.021049 + }, + { + "uic": "87642108", + "stop_area": "stop_area:OCE:SA:87642108", + "nom": "Sampigny Centre", + "lat": 48.830237, + "lon": 5.50868 + }, + { + "uic": "87192229", + "stop_area": "stop_area:OCE:SA:87192229", + "nom": "Sanry-sur-Nied", + "lat": 49.044599, + "lon": 6.339978 + }, + { + "uic": "87713594", + "stop_area": "stop_area:OCE:SA:87713594", + "nom": "Santenay les Bains", + "lat": 46.910682, + "lon": 4.701641 + }, + { + "uic": "87286401", + "stop_area": "stop_area:OCE:SA:87286401", + "nom": "Santes", + "lat": 50.592063, + "lon": 2.961977 + }, + { + "uic": "87718502", + "stop_area": "stop_area:OCE:SA:87718502", + "nom": "Saône", + "lat": 47.20957, + "lon": 6.101379 + }, + { + "uic": "87595827", + "stop_area": "stop_area:OCE:SA:87595827", + "nom": "Sarlat", + "lat": 44.877114, + "lon": 1.220469 + }, + { + "uic": "87734152", + "stop_area": "stop_area:OCE:SA:87734152", + "nom": "Sarliève - Cournon", + "lat": 45.738743, + "lon": 3.168075 + }, + { + "uic": "87406991", + "stop_area": "stop_area:OCE:SA:87406991", + "nom": "Sarralbe Centre", + "lat": 48.998501, + "lon": 7.028793 + }, + { + "uic": "87215350", + "stop_area": "stop_area:OCE:SA:87215350", + "nom": "Sarraltroff Gare", + "lat": 48.77005, + "lon": 7.065614 + }, + { + "uic": "87407015", + "stop_area": "stop_area:OCE:SA:87407015", + "nom": "Sarraltroff Mairie", + "lat": 48.774013, + "lon": 7.060816 + }, + { + "uic": "87703686", + "stop_area": "stop_area:OCE:SA:87703686", + "nom": "Sarraltroff Rue de Fénétrange", + "lat": 48.77713, + "lon": 7.056506 + }, + { + "uic": "87707588", + "stop_area": "stop_area:OCE:SA:87707588", + "nom": "Sarraltroff Rue de la Forêt", + "lat": 48.778587, + "lon": 7.056887 + }, + { + "uic": "87672766", + "stop_area": "stop_area:OCE:SA:87672766", + "nom": "Sarrance", + "lat": 43.049711, + "lon": -0.599744 + }, + { + "uic": "87215459", + "stop_area": "stop_area:OCE:SA:87215459", + "nom": "Sarre-Union", + "lat": 48.936017, + "lon": 7.085544 + }, + { + "uic": "87728584", + "stop_area": "stop_area:OCE:SA:87728584", + "nom": "Sarre-Union Rue des Roses", + "lat": 48.937562, + "lon": 7.091307 + }, + { + "uic": "87215012", + "stop_area": "stop_area:OCE:SA:87215012", + "nom": "Sarrebourg", + "lat": 48.73808, + "lon": 7.05285 + }, + { + "uic": "87703744", + "stop_area": "stop_area:OCE:SA:87703744", + "nom": "Sarrebourg Hôpital", + "lat": 48.730495, + "lon": 7.050648 + }, + { + "uic": "87477638", + "stop_area": "stop_area:OCE:SA:87477638", + "nom": "Sarrebourg LP Messmer", + "lat": 48.737335, + "lon": 7.072717 + }, + { + "uic": "87477646", + "stop_area": "stop_area:OCE:SA:87477646", + "nom": "Sarrebourg Mairie", + "lat": 48.732884, + "lon": 7.053491 + }, + { + "uic": "87407031", + "stop_area": "stop_area:OCE:SA:87407031", + "nom": "Sarrebourg Méphisto", + "lat": 48.749685, + "lon": 7.067186 + }, + { + "uic": "87407189", + "stop_area": "stop_area:OCE:SA:87407189", + "nom": "Sarrebourg Place Mathey", + "lat": 48.736879, + "lon": 7.057152 + }, + { + "uic": "87477620", + "stop_area": "stop_area:OCE:SA:87477620", + "nom": "Sarrebourg Route de Phalsbourg", + "lat": 48.73875, + "lon": 7.066387 + }, + { + "uic": "87407106", + "stop_area": "stop_area:OCE:SA:87407106", + "nom": "Sarrebourg Verreries", + "lat": 48.733037, + "lon": 7.042797 + }, + { + "uic": "80253914", + "stop_area": "stop_area:OCE:SA:80253914", + "nom": "Sarrebruck", + "lat": 49.241, + "lon": 6.991 + }, + { + "uic": "87193615", + "stop_area": "stop_area:OCE:SA:87193615", + "nom": "Sarreguemines", + "lat": 49.10738, + "lon": 7.068576 + }, + { + "uic": "87737668", + "stop_area": "stop_area:OCE:SA:87737668", + "nom": "Sarreguemines Barth", + "lat": 49.101996, + "lon": 7.050557 + }, + { + "uic": "87737585", + "stop_area": "stop_area:OCE:SA:87737585", + "nom": "Sarreguemines Collège Fulrad", + "lat": 49.11873, + "lon": 7.075506 + }, + { + "uic": "87737676", + "stop_area": "stop_area:OCE:SA:87737676", + "nom": "Sarreguemines Collège Himmelsberg", + "lat": 49.109055, + "lon": 7.052791 + }, + { + "uic": "87737684", + "stop_area": "stop_area:OCE:SA:87737684", + "nom": "Sarreguemines Collège Jean Jaurès", + "lat": 49.103116, + "lon": 7.048974 + }, + { + "uic": "87737692", + "stop_area": "stop_area:OCE:SA:87737692", + "nom": "Sarreguemines Lycée Pange", + "lat": 49.108478, + "lon": 7.064027 + }, + { + "uic": "87737593", + "stop_area": "stop_area:OCE:SA:87737593", + "nom": "Sarreguemines Lycée Technique", + "lat": 49.1163, + "lon": 7.079192 + }, + { + "uic": "87406900", + "stop_area": "stop_area:OCE:SA:87406900", + "nom": "Sarreguemines Poste", + "lat": 49.113031, + "lon": 7.064134 + }, + { + "uic": "87737700", + "stop_area": "stop_area:OCE:SA:87737700", + "nom": "Sarreguemines Utzschneider", + "lat": 49.111667, + "lon": 7.067294 + }, + { + "uic": "87703439", + "stop_area": "stop_area:OCE:SA:87703439", + "nom": "Sarreinsming Pont", + "lat": 49.086364, + "lon": 7.109377 + }, + { + "uic": "87703462", + "stop_area": "stop_area:OCE:SA:87703462", + "nom": "Sarrewerden Église", + "lat": 48.923799, + "lon": 7.082091 + }, + { + "uic": "87407379", + "stop_area": "stop_area:OCE:SA:87407379", + "nom": "Sarrewerden Lotissement", + "lat": 48.920772, + "lon": 7.085991 + }, + { + "uic": "87723700", + "stop_area": "stop_area:OCE:SA:87723700", + "nom": "Sathonay - Rillieux", + "lat": 45.820274, + "lon": 4.875282 + }, + { + "uic": "85010033", + "stop_area": "stop_area:OCE:SA:85010033", + "nom": "Satigny", + "lat": 46.21424, + "lon": 6.03749 + }, + { + "uic": "87673251", + "stop_area": "stop_area:OCE:SA:87673251", + "nom": "Saubusse", + "lat": 43.660269, + "lon": -1.190222 + }, + { + "uic": "87491811", + "stop_area": "stop_area:OCE:SA:87491811", + "nom": "Saujon", + "lat": 45.666502, + "lon": -0.930019 + }, + { + "uic": "87713628", + "stop_area": "stop_area:OCE:SA:87713628", + "nom": "Saulon", + "lat": 47.224246, + "lon": 5.104631 + }, + { + "uic": "87487603", + "stop_area": "stop_area:OCE:SA:87487603", + "nom": "Saumur", + "lat": 47.268994, + "lon": -0.071403 + }, + { + "uic": "87753558", + "stop_area": "stop_area:OCE:SA:87753558", + "nom": "Sausset-les-Pins", + "lat": 43.332879, + "lon": 5.109992 + }, + { + "uic": "87784777", + "stop_area": "stop_area:OCE:SA:87784777", + "nom": "Sauto", + "lat": 42.506371, + "lon": 2.160039 + }, + { + "uic": "87586495", + "stop_area": "stop_area:OCE:SA:87586495", + "nom": "Sauveterre-la-Lémance", + "lat": 44.589405, + "lon": 1.011767 + }, + { + "uic": "87481838", + "stop_area": "stop_area:OCE:SA:87481838", + "nom": "Savenay", + "lat": 47.358602, + "lon": -1.951007 + }, + { + "uic": "87484329", + "stop_area": "stop_area:OCE:SA:87484329", + "nom": "Savennières - Béhuard", + "lat": 47.381329, + "lon": -0.655122 + }, + { + "uic": "87611368", + "stop_area": "stop_area:OCE:SA:87611368", + "nom": "Saverdun", + "lat": 43.239335, + "lon": 1.570636 + }, + { + "uic": "87212225", + "stop_area": "stop_area:OCE:SA:87212225", + "nom": "Saverne", + "lat": 48.744483, + "lon": 7.362055 + }, + { + "uic": "87642256", + "stop_area": "stop_area:OCE:SA:87642256", + "nom": "Saverne Haut Barr", + "lat": 48.73148, + "lon": 7.352343 + }, + { + "uic": "87642223", + "stop_area": "stop_area:OCE:SA:87642223", + "nom": "Saverne Lycée Verne", + "lat": 48.736039, + "lon": 7.373398 + }, + { + "uic": "87642249", + "stop_area": "stop_area:OCE:SA:87642249", + "nom": "Saverne Place des Dragons", + "lat": 48.739602, + "lon": 7.361915 + }, + { + "uic": "87118083", + "stop_area": "stop_area:OCE:SA:87118083", + "nom": "Savières Impasse St-Phal", + "lat": 48.41234, + "lon": 3.947353 + }, + { + "uic": "87727800", + "stop_area": "stop_area:OCE:SA:87727800", + "nom": "Savières Arbre de la Liberté", + "lat": 48.403872, + "lon": 3.954552 + }, + { + "uic": "87727818", + "stop_area": "stop_area:OCE:SA:87727818", + "nom": "Savières Rue Saint-Gilles", + "lat": 48.420158, + "lon": 3.943448 + }, + { + "uic": "87571844", + "stop_area": "stop_area:OCE:SA:87571844", + "nom": "Savonnières", + "lat": 47.36058, + "lon": 0.544182 + }, + { + "uic": "87342253", + "stop_area": "stop_area:OCE:SA:87342253", + "nom": "Savy-Berlette", + "lat": 50.353862, + "lon": 2.558068 + }, + { + "uic": "87714204", + "stop_area": "stop_area:OCE:SA:87714204", + "nom": "Saxon-Sion Basilique", + "lat": 48.428594, + "lon": 6.084929 + }, + { + "uic": "87396317", + "stop_area": "stop_area:OCE:SA:87396317", + "nom": "Sceaux - Boëssé", + "lat": 48.12223, + "lon": 0.572233 + }, + { + "uic": "80194332", + "stop_area": "stop_area:OCE:SA:80194332", + "nom": "Schaidt (Pfalz)", + "lat": 49.061111, + "lon": 8.079722 + }, + { + "uic": "87214205", + "stop_area": "stop_area:OCE:SA:87214205", + "nom": "Scherwiller", + "lat": 48.286934, + "lon": 7.430187 + }, + { + "uic": "87711226", + "stop_area": "stop_area:OCE:SA:87711226", + "nom": "Scherwiller Rue de la Gare", + "lat": 48.288308, + "lon": 7.429349 + }, + { + "uic": "87214692", + "stop_area": "stop_area:OCE:SA:87214692", + "nom": "Schirmeck - La Broque", + "lat": 48.479989, + "lon": 7.216339 + }, + { + "uic": "87742197", + "stop_area": "stop_area:OCE:SA:87742197", + "nom": "Schirmeck Cité Scolaire", + "lat": 48.483402, + "lon": 7.231295 + }, + { + "uic": "87660126", + "stop_area": "stop_area:OCE:SA:87660126", + "nom": "Schoenenbourg Centre", + "lat": 48.952404, + "lon": 7.912312 + }, + { + "uic": "87215483", + "stop_area": "stop_area:OCE:SA:87215483", + "nom": "Schopperten Gare", + "lat": 48.945578, + "lon": 7.055897 + }, + { + "uic": "80359349", + "stop_area": "stop_area:OCE:SA:80359349", + "nom": "Schweighofen", + "lat": 49.03278, + "lon": 7.999166 + }, + { + "uic": "87678698", + "stop_area": "stop_area:OCE:SA:87678698", + "nom": "Schweighouse Égl. protestante", + "lat": 48.820347, + "lon": 7.740845 + }, + { + "uic": "87678706", + "stop_area": "stop_area:OCE:SA:87678706", + "nom": "Schweighouse Maréchal Leclerc", + "lat": 48.822099, + "lon": 7.731436 + }, + { + "uic": "87213108", + "stop_area": "stop_area:OCE:SA:87213108", + "nom": "Schweighouse-sur-Moder", + "lat": 48.828677, + "lon": 7.742564 + }, + { + "uic": "87407320", + "stop_area": "stop_area:OCE:SA:87407320", + "nom": "Schweighouse-sur-Moder Villa", + "lat": 48.819182, + "lon": 7.742247 + }, + { + "uic": "87212159", + "stop_area": "stop_area:OCE:SA:87212159", + "nom": "Schwindratzheim", + "lat": 48.753658, + "lon": 7.600597 + }, + { + "uic": "87658716", + "stop_area": "stop_area:OCE:SA:87658716", + "nom": "Schwindratzheim Général Leclerc", + "lat": 48.754103, + "lon": 7.600012 + }, + { + "uic": "87286518", + "stop_area": "stop_area:OCE:SA:87286518", + "nom": "Seclin", + "lat": 50.548604, + "lon": 3.034965 + }, + { + "uic": "87172254", + "stop_area": "stop_area:OCE:SA:87172254", + "nom": "Sedan", + "lat": 49.695024, + "lon": 4.930373 + }, + { + "uic": "87108829", + "stop_area": "stop_area:OCE:SA:87108829", + "nom": "Sedan Place Calonne", + "lat": 49.699747, + "lon": 4.944245 + }, + { + "uic": "87444695", + "stop_area": "stop_area:OCE:SA:87444695", + "nom": "Sées", + "lat": 48.599966, + "lon": 0.166408 + }, + { + "uic": "87612358", + "stop_area": "stop_area:OCE:SA:87612358", + "nom": "Seilhan le Bazert", + "lat": 43.060332, + "lon": 0.591127 + }, + { + "uic": "87214056", + "stop_area": "stop_area:OCE:SA:87214056", + "nom": "Sélestat", + "lat": 48.259824, + "lon": 7.443157 + }, + { + "uic": "87640375", + "stop_area": "stop_area:OCE:SA:87640375", + "nom": "Sélestat Schweisguth", + "lat": 48.261409, + "lon": 7.450064 + }, + { + "uic": "87640383", + "stop_area": "stop_area:OCE:SA:87640383", + "nom": "Sélestat Koeberlé", + "lat": 48.26328, + "lon": 7.455365 + }, + { + "uic": "87640409", + "stop_area": "stop_area:OCE:SA:87640409", + "nom": "Sélestat R. Ste-Marie-a.-Mines", + "lat": 48.263912, + "lon": 7.439898 + }, + { + "uic": "87640391", + "stop_area": "stop_area:OCE:SA:87640391", + "nom": "Sélestat Schwilgué", + "lat": 48.251648, + "lon": 7.446681 + }, + { + "uic": "87576140", + "stop_area": "stop_area:OCE:SA:87576140", + "nom": "Selles-Saint-Denis", + "lat": 47.388383, + "lon": 1.922242 + }, + { + "uic": "87576868", + "stop_area": "stop_area:OCE:SA:87576868", + "nom": "Selles-sur-Cher", + "lat": 47.281511, + "lon": 1.546045 + }, + { + "uic": "87212431", + "stop_area": "stop_area:OCE:SA:87212431", + "nom": "Seltz", + "lat": 48.896564, + "lon": 8.098672 + }, + { + "uic": "87753715", + "stop_area": "stop_area:OCE:SA:87753715", + "nom": "Sénas", + "lat": 43.741003, + "lon": 5.073345 + }, + { + "uic": "87725614", + "stop_area": "stop_area:OCE:SA:87725614", + "nom": "Sennecey-le-Grand", + "lat": 46.64066, + "lon": 4.874277 + }, + { + "uic": "87725671", + "stop_area": "stop_area:OCE:SA:87725671", + "nom": "Senozan", + "lat": 46.392145, + "lon": 4.871063 + }, + { + "uic": "87683003", + "stop_area": "stop_area:OCE:SA:87683003", + "nom": "Sens", + "lat": 48.197856, + "lon": 3.267833 + }, + { + "uic": "87171645", + "stop_area": "stop_area:OCE:SA:87171645", + "nom": "Sept-Saulx", + "lat": 49.151133, + "lon": 4.256974 + }, + { + "uic": "87751800", + "stop_area": "stop_area:OCE:SA:87751800", + "nom": "Septèmes", + "lat": 43.403151, + "lon": 5.370158 + }, + { + "uic": "87784702", + "stop_area": "stop_area:OCE:SA:87784702", + "nom": "Serdinya", + "lat": 42.567008, + "lon": 2.323346 + }, + { + "uic": "87722546", + "stop_area": "stop_area:OCE:SA:87722546", + "nom": "Sérézin", + "lat": 45.627264, + "lon": 4.81812 + }, + { + "uic": "87683722", + "stop_area": "stop_area:OCE:SA:87683722", + "nom": "Sermizelles - Vézelay", + "lat": 47.528881, + "lon": 3.792672 + }, + { + "uic": "87411470", + "stop_area": "stop_area:OCE:SA:87411470", + "nom": "Serqueux", + "lat": 49.631551, + "lon": 1.539403 + }, + { + "uic": "87444315", + "stop_area": "stop_area:OCE:SA:87444315", + "nom": "Serquigny", + "lat": 49.107753, + "lon": 0.719289 + }, + { + "uic": "87763722", + "stop_area": "stop_area:OCE:SA:87763722", + "nom": "Serres", + "lat": 44.424687, + "lon": 5.71847 + }, + { + "uic": "87723791", + "stop_area": "stop_area:OCE:SA:87723791", + "nom": "Servas - Lent", + "lat": 46.130994, + "lon": 5.168175 + }, + { + "uic": "87471532", + "stop_area": "stop_area:OCE:SA:87471532", + "nom": "Servon", + "lat": 48.112213, + "lon": -1.46521 + }, + { + "uic": "87746719", + "stop_area": "stop_area:OCE:SA:87746719", + "nom": "Servoz", + "lat": 45.924493, + "lon": 6.763472 + }, + { + "uic": "87212365", + "stop_area": "stop_area:OCE:SA:87212365", + "nom": "Sessenheim", + "lat": 48.796467, + "lon": 7.989311 + }, + { + "uic": "87773200", + "stop_area": "stop_area:OCE:SA:87773200", + "nom": "Sète", + "lat": 43.412641, + "lon": 3.696571 + }, + { + "uic": "87713677", + "stop_area": "stop_area:OCE:SA:87713677", + "nom": "Seurre", + "lat": 46.996404, + "lon": 5.151071 + }, + { + "uic": "87476754", + "stop_area": "stop_area:OCE:SA:87476754", + "nom": "Sévérac", + "lat": 47.549808, + "lon": -2.072728 + }, + { + "uic": "87668376", + "stop_area": "stop_area:OCE:SA:87668376", + "nom": "Séverac d'Aveyron Embrachement le Massegros", + "lat": 44.320164, + "lon": 3.074734 + }, + { + "uic": "87138339", + "stop_area": "stop_area:OCE:SA:87138339", + "nom": "Severac d'Aveyron Lapanouse", + "lat": 44.335329, + "lon": 3.031685 + }, + { + "uic": "87783795", + "stop_area": "stop_area:OCE:SA:87783795", + "nom": "Severac-D-Aveyron Recoules", + "lat": 44.341035, + "lon": 2.96732 + }, + { + "uic": "87783365", + "stop_area": "stop_area:OCE:SA:87783365", + "nom": "Sévérac-le-Château", + "lat": 44.324652, + "lon": 3.056945 + }, + { + "uic": "87745828", + "stop_area": "stop_area:OCE:SA:87745828", + "nom": "Seyssel - Corbonod", + "lat": 45.963074, + "lon": 5.831503 + }, + { + "uic": "87191635", + "stop_area": "stop_area:OCE:SA:87191635", + "nom": "Sierck-les-Bains", + "lat": 49.443997, + "lon": 6.350114 + }, + { + "uic": "87635847", + "stop_area": "stop_area:OCE:SA:87635847", + "nom": "Sierck-les-Bains Place Morbach", + "lat": 49.441533, + "lon": 6.357538 + }, + { + "uic": "87182105", + "stop_area": "stop_area:OCE:SA:87182105", + "nom": "Sierentz", + "lat": 47.65589, + "lon": 7.459332 + }, + { + "uic": "87659862", + "stop_area": "stop_area:OCE:SA:87659862", + "nom": "Sierentz Centre", + "lat": 47.654216, + "lon": 7.454857 + }, + { + "uic": "87396234", + "stop_area": "stop_area:OCE:SA:87396234", + "nom": "Sillé-le-Guillaume", + "lat": 48.181795, + "lon": -0.128891 + }, + { + "uic": "87743336", + "stop_area": "stop_area:OCE:SA:87743336", + "nom": "Simandre-sur-Suran", + "lat": 46.22021, + "lon": 5.421093 + }, + { + "uic": "87751438", + "stop_area": "stop_area:OCE:SA:87751438", + "nom": "Simiane", + "lat": 43.434751, + "lon": 5.426058 + }, + { + "uic": "87345405", + "stop_area": "stop_area:OCE:SA:87345405", + "nom": "Sin-le-Noble", + "lat": 50.356683, + "lon": 3.112559 + }, + { + "uic": "87595769", + "stop_area": "stop_area:OCE:SA:87595769", + "nom": "Siorac-en-Périgord", + "lat": 44.819788, + "lon": 0.984188 + }, + { + "uic": "87173906", + "stop_area": "stop_area:OCE:SA:87173906", + "nom": "Siradan D825", + "lat": 42.966455, + "lon": 0.629584 + }, + { + "uic": "87651802", + "stop_area": "stop_area:OCE:SA:87651802", + "nom": "Sisteron", + "lat": 44.194894, + "lon": 5.942402 + }, + { + "uic": "87751206", + "stop_area": "stop_area:OCE:SA:87751206", + "nom": "Sisteron", + "lat": 44.19022, + "lon": 5.946575 + }, + { + "uic": "87271817", + "stop_area": "stop_area:OCE:SA:87271817", + "nom": "Soissons", + "lat": 49.369226, + "lon": 3.33809 + }, + { + "uic": "87592246", + "stop_area": "stop_area:OCE:SA:87592246", + "nom": "Solignac - Le Vigen", + "lat": 45.756142, + "lon": 1.285594 + }, + { + "uic": "87755330", + "stop_area": "stop_area:OCE:SA:87755330", + "nom": "Solliès-Pont", + "lat": 43.190871, + "lon": 6.0463 + }, + { + "uic": "87677955", + "stop_area": "stop_area:OCE:SA:87677955", + "nom": "Solomiac Halle", + "lat": 43.805599, + "lon": 0.897019 + }, + { + "uic": "88716621", + "stop_area": "stop_area:OCE:SA:88716621", + "nom": "SOLRE-SUR-SAMBRE", + "lat": 50.312639, + "lon": 4.158431 + }, + { + "uic": "87345314", + "stop_area": "stop_area:OCE:SA:87345314", + "nom": "Somain", + "lat": 50.355699, + "lon": 3.277319 + }, + { + "uic": "87411462", + "stop_area": "stop_area:OCE:SA:87411462", + "nom": "Sommery", + "lat": 49.629664, + "lon": 1.435304 + }, + { + "uic": "87747261", + "stop_area": "stop_area:OCE:SA:87747261", + "nom": "Sommesous Nationale", + "lat": 48.738064, + "lon": 4.205993 + }, + { + "uic": "87107433", + "stop_area": "stop_area:OCE:SA:87107433", + "nom": "Soncourt", + "lat": 48.252239, + "lon": 5.116971 + }, + { + "uic": "87765206", + "stop_area": "stop_area:OCE:SA:87765206", + "nom": "Sorgues - Châteauneuf-du-Pape", + "lat": 44.005427, + "lon": 4.875612 + }, + { + "uic": "87756825", + "stop_area": "stop_area:OCE:SA:87756825", + "nom": "Sospel", + "lat": 43.876586, + "lon": 7.453789 + }, + { + "uic": "87411223", + "stop_area": "stop_area:OCE:SA:87411223", + "nom": "Sotteville", + "lat": 49.412606, + "lon": 1.101963 + }, + { + "uic": "87500934", + "stop_area": "stop_area:OCE:SA:87500934", + "nom": "Sougy-sur-Loire BIF", + "lat": 46.848848, + "lon": 3.389704 + }, + { + "uic": "87594333", + "stop_area": "stop_area:OCE:SA:87594333", + "nom": "Souillac", + "lat": 44.902127, + "lon": 1.466605 + }, + { + "uic": "87666115", + "stop_area": "stop_area:OCE:SA:87666115", + "nom": "Souilly", + "lat": 49.027971, + "lon": 5.285856 + }, + { + "uic": "87581371", + "stop_area": "stop_area:OCE:SA:87581371", + "nom": "Soulac-sur-Mer", + "lat": 45.508234, + "lon": -1.117698 + }, + { + "uic": "87141259", + "stop_area": "stop_area:OCE:SA:87141259", + "nom": "Soulosse Route Nationale", + "lat": 48.401785, + "lon": 5.731773 + }, + { + "uic": "87213421", + "stop_area": "stop_area:OCE:SA:87213421", + "nom": "Soultz-sous-Forêts", + "lat": 48.934775, + "lon": 7.882664 + }, + { + "uic": "87295543", + "stop_area": "stop_area:OCE:SA:87295543", + "nom": "Sous le Bois", + "lat": 50.265748, + "lon": 3.939508 + }, + { + "uic": "87725192", + "stop_area": "stop_area:OCE:SA:87725192", + "nom": "ST PIERRE C. ZI porte Dauphiné", + "lat": 45.661841, + "lon": 5.002382 + }, + { + "uic": "87725168", + "stop_area": "stop_area:OCE:SA:87725168", + "nom": "St Pierre Chandieu C.Cassier", + "lat": 45.644353, + "lon": 5.001639 + }, + { + "uic": "87698662", + "stop_area": "stop_area:OCE:SA:87698662", + "nom": "St-Etienne-Châtcrx. G Routière", + "lat": 45.442658, + "lon": 4.401156 + }, + { + "uic": "87725812", + "stop_area": "stop_area:OCE:SA:87725812", + "nom": "St-Jean-sur-Veyle", + "lat": 46.260585, + "lon": 4.915607 + }, + { + "uic": "87698696", + "stop_area": "stop_area:OCE:SA:87698696", + "nom": "St-Maurice-Beynost D1084 Cte", + "lat": 45.829203, + "lon": 4.977509 + }, + { + "uic": "87182691", + "stop_area": "stop_area:OCE:SA:87182691", + "nom": "Staffelfelden", + "lat": 47.827618, + "lon": 7.265018 + }, + { + "uic": "87641027", + "stop_area": "stop_area:OCE:SA:87641027", + "nom": "Ste Marguerite Cora", + "lat": 48.273751, + "lon": 6.967577 + }, + { + "uic": "87640870", + "stop_area": "stop_area:OCE:SA:87640870", + "nom": "Ste-Croix Sq. G. de Gaulle", + "lat": 48.261131, + "lon": 7.218907 + }, + { + "uic": "87640854", + "stop_area": "stop_area:OCE:SA:87640854", + "nom": "Ste-Croix-aux-Mines Stimbach", + "lat": 48.265375, + "lon": 7.235371 + }, + { + "uic": "87640912", + "stop_area": "stop_area:OCE:SA:87640912", + "nom": "Ste-Marie-aux-M S. Techniques", + "lat": 48.252047, + "lon": 7.194723 + }, + { + "uic": "87640920", + "stop_area": "stop_area:OCE:SA:87640920", + "nom": "Ste-Marie-aux-Mines Espace Musées", + "lat": 48.248889, + "lon": 7.188331 + }, + { + "uic": "87640938", + "stop_area": "stop_area:OCE:SA:87640938", + "nom": "Ste-Marie-aux-Mines Mairie", + "lat": 48.245575, + "lon": 7.18224 + }, + { + "uic": "87640961", + "stop_area": "stop_area:OCE:SA:87640961", + "nom": "Ste-Marie-aux-Mines Super U", + "lat": 48.248212, + "lon": 7.189329 + }, + { + "uic": "87640953", + "stop_area": "stop_area:OCE:SA:87640953", + "nom": "Ste-Marie-aux-Mines Théâtre", + "lat": 48.243805, + "lon": 7.180613 + }, + { + "uic": "87640946", + "stop_area": "stop_area:OCE:SA:87640946", + "nom": "Ste-Marie-aux-Ms P. de Gaulle", + "lat": 48.243631, + "lon": 7.176407 + }, + { + "uic": "87342295", + "stop_area": "stop_area:OCE:SA:87342295", + "nom": "Steenbecque", + "lat": 50.681445, + "lon": 2.510593 + }, + { + "uic": "87286161", + "stop_area": "stop_area:OCE:SA:87286161", + "nom": "Steenwerck", + "lat": 50.712787, + "lon": 2.786562 + }, + { + "uic": "87212209", + "stop_area": "stop_area:OCE:SA:87212209", + "nom": "Steinbourg", + "lat": 48.763529, + "lon": 7.416299 + }, + { + "uic": "80359331", + "stop_area": "stop_area:OCE:SA:80359331", + "nom": "Steinfeld (Pfalz)", + "lat": 49.044722, + "lon": 8.039444 + }, + { + "uic": "87212126", + "stop_area": "stop_area:OCE:SA:87212126", + "nom": "Stephansfeld", + "lat": 48.717587, + "lon": 7.704595 + }, + { + "uic": "87654590", + "stop_area": "stop_area:OCE:SA:87654590", + "nom": "Stephansfeld Hôpital", + "lat": 48.717012, + "lon": 7.706163 + }, + { + "uic": "87212027", + "stop_area": "stop_area:OCE:SA:87212027", + "nom": "Strasbourg", + "lat": 48.58511, + "lon": 7.733882 + }, + { + "uic": "87212191", + "stop_area": "stop_area:OCE:SA:87212191", + "nom": "Strasbourg Roethig", + "lat": 48.563303, + "lon": 7.69485 + }, + { + "uic": "87286203", + "stop_area": "stop_area:OCE:SA:87286203", + "nom": "Strazeele", + "lat": 50.713419, + "lon": 2.630928 + }, + { + "uic": "80290346", + "stop_area": "stop_area:OCE:SA:80290346", + "nom": "Stuttgart Hbf", + "lat": 48.7846, + "lon": 9.1837 + }, + { + "uic": "87590828", + "stop_area": "stop_area:OCE:SA:87590828", + "nom": "Sucé-sur-Erdre", + "lat": 47.343088, + "lon": -1.530181 + }, + { + "uic": "87574236", + "stop_area": "stop_area:OCE:SA:87574236", + "nom": "Suèvres", + "lat": 47.680225, + "lon": 1.454098 + }, + { + "uic": "87660050", + "stop_area": "stop_area:OCE:SA:87660050", + "nom": "Surbourg Rue Saint-Arbogast", + "lat": 48.906924, + "lon": 7.847097 + }, + { + "uic": "87444562", + "stop_area": "stop_area:OCE:SA:87444562", + "nom": "Surdon", + "lat": 48.664769, + "lon": 0.13441 + }, + { + "uic": "87485227", + "stop_area": "stop_area:OCE:SA:87485227", + "nom": "Surgères", + "lat": 46.113252, + "lon": -0.762054 + }, + { + "uic": "87726422", + "stop_area": "stop_area:OCE:SA:87726422", + "nom": "Sury-le-Comtal", + "lat": 45.52912, + "lon": 4.182497 + }, + { + "uic": "87746750", + "stop_area": "stop_area:OCE:SA:87746750", + "nom": "Taconnaz", + "lat": 45.899504, + "lon": 6.825817 + }, + { + "uic": "87761163", + "stop_area": "stop_area:OCE:SA:87761163", + "nom": "Tain-l'Hermitage - Tournon", + "lat": 45.072178, + "lon": 4.839708 + }, + { + "uic": "87748350", + "stop_area": "stop_area:OCE:SA:87748350", + "nom": "Talence-Médoquine", + "lat": 44.81588, + "lon": -0.602596 + }, + { + "uic": "85010157", + "stop_area": "stop_area:OCE:SA:85010157", + "nom": "Tannay", + "lat": 46.307636, + "lon": 6.181127 + }, + { + "uic": "87501049", + "stop_area": "stop_area:OCE:SA:87501049", + "nom": "Tannay Place de l'Église", + "lat": 47.367, + "lon": 3.5914 + }, + { + "uic": "87700906", + "stop_area": "stop_area:OCE:SA:87700906", + "nom": "Tantonville Rue Louis Pasteur", + "lat": 48.467881, + "lon": 6.135556 + }, + { + "uic": "87615674", + "stop_area": "stop_area:OCE:SA:87615674", + "nom": "Tanus", + "lat": 44.100443, + "lon": 2.314921 + }, + { + "uic": "87721472", + "stop_area": "stop_area:OCE:SA:87721472", + "nom": "Tarare", + "lat": 45.889866, + "lon": 4.439175 + }, + { + "uic": "87611590", + "stop_area": "stop_area:OCE:SA:87611590", + "nom": "Tarascon-sur-Ariège", + "lat": 42.849498, + "lon": 1.600042 + }, + { + "uic": "87137158", + "stop_area": "stop_area:OCE:SA:87137158", + "nom": "Tarascon-sur-Ariège Espace Francois Mitterrand", + "lat": 42.846536, + "lon": 1.604316 + }, + { + "uic": "87765354", + "stop_area": "stop_area:OCE:SA:87765354", + "nom": "Tarascon-sur-Rhône", + "lat": 43.801331, + "lon": 4.657206 + }, + { + "uic": "87671008", + "stop_area": "stop_area:OCE:SA:87671008", + "nom": "Tarbes", + "lat": 43.239863, + "lon": 0.069442 + }, + { + "uic": "87721514", + "stop_area": "stop_area:OCE:SA:87721514", + "nom": "Tassin", + "lat": 45.761541, + "lon": 4.758585 + }, + { + "uic": "87698738", + "stop_area": "stop_area:OCE:SA:87698738", + "nom": "Tassin-le-Baraillon", + "lat": 45.764511, + "lon": 4.758132 + }, + { + "uic": "87396051", + "stop_area": "stop_area:OCE:SA:87396051", + "nom": "Teillé", + "lat": 48.181339, + "lon": 0.191443 + }, + { + "uic": "87286625", + "stop_area": "stop_area:OCE:SA:87286625", + "nom": "Templeuve", + "lat": 50.528694, + "lon": 3.175668 + }, + { + "uic": "87743757", + "stop_area": "stop_area:OCE:SA:87743757", + "nom": "Tenay - Hauteville", + "lat": 45.92221, + "lon": 5.50161 + }, + { + "uic": "87756882", + "stop_area": "stop_area:OCE:SA:87756882", + "nom": "Tende", + "lat": 44.08992, + "lon": 7.59412 + }, + { + "uic": "87296442", + "stop_area": "stop_area:OCE:SA:87296442", + "nom": "Tergnier", + "lat": 49.659129, + "lon": 3.297253 + }, + { + "uic": "87721811", + "stop_area": "stop_area:OCE:SA:87721811", + "nom": "Ternand", + "lat": 45.946122, + "lon": 4.536302 + }, + { + "uic": "87177576", + "stop_area": "stop_area:OCE:SA:87177576", + "nom": "Ternay Barbières", + "lat": 45.596952, + "lon": 4.799659 + }, + { + "uic": "87698746", + "stop_area": "stop_area:OCE:SA:87698746", + "nom": "Ternay Boucherattes", + "lat": 45.60311, + "lon": 4.81913 + }, + { + "uic": "87698753", + "stop_area": "stop_area:OCE:SA:87698753", + "nom": "Ternay Centre", + "lat": 45.605421, + "lon": 4.8111 + }, + { + "uic": "87698761", + "stop_area": "stop_area:OCE:SA:87698761", + "nom": "Ternay Chassagne Grandes Combes", + "lat": 45.598005, + "lon": 4.807667 + }, + { + "uic": "87698779", + "stop_area": "stop_area:OCE:SA:87698779", + "nom": "Ternay Chemin de la Gare", + "lat": 45.611681, + "lon": 4.809855 + }, + { + "uic": "87698787", + "stop_area": "stop_area:OCE:SA:87698787", + "nom": "Ternay Croix du Morze", + "lat": 45.602096, + "lon": 4.8083 + }, + { + "uic": "87594408", + "stop_area": "stop_area:OCE:SA:87594408", + "nom": "Terrasson", + "lat": 45.135602, + "lon": 1.300501 + }, + { + "uic": "87615245", + "stop_area": "stop_area:OCE:SA:87615245", + "nom": "Tessonnières", + "lat": 43.928421, + "lon": 1.936953 + }, + { + "uic": "87193151", + "stop_area": "stop_area:OCE:SA:87193151", + "nom": "Teterchen Rue Jeanne D'Arc", + "lat": 49.230392, + "lon": 6.562968 + }, + { + "uic": "87193342", + "stop_area": "stop_area:OCE:SA:87193342", + "nom": "Teting-sur-Nied", + "lat": 49.051605, + "lon": 6.664627 + }, + { + "uic": "87313882", + "stop_area": "stop_area:OCE:SA:87313882", + "nom": "TGV Haute Picardie", + "lat": 49.859172, + "lon": 2.831619 + }, + { + "uic": "87182568", + "stop_area": "stop_area:OCE:SA:87182568", + "nom": "Thann", + "lat": 47.808795, + "lon": 7.106998 + }, + { + "uic": "87472605", + "stop_area": "stop_area:OCE:SA:87472605", + "nom": "Thann Centre", + "lat": 47.809959, + "lon": 7.101041 + }, + { + "uic": "87659961", + "stop_area": "stop_area:OCE:SA:87659961", + "nom": "Thann La Poste", + "lat": 47.810273, + "lon": 7.102514 + }, + { + "uic": "87182881", + "stop_area": "stop_area:OCE:SA:87182881", + "nom": "Thann Saint-Jacques", + "lat": 47.813316, + "lon": 7.093847 + }, + { + "uic": "87144097", + "stop_area": "stop_area:OCE:SA:87144097", + "nom": "Thaon", + "lat": 48.244686, + "lon": 6.416337 + }, + { + "uic": "87193508", + "stop_area": "stop_area:OCE:SA:87193508", + "nom": "Theding Allée de la Forêt", + "lat": 49.117961, + "lon": 6.889293 + }, + { + "uic": "87543199", + "stop_area": "stop_area:OCE:SA:87543199", + "nom": "Theillay", + "lat": 47.314519, + "lon": 2.044474 + }, + { + "uic": "87713099", + "stop_area": "stop_area:OCE:SA:87713099", + "nom": "Thenissey", + "lat": 47.494595, + "lon": 4.623192 + }, + { + "uic": "87595579", + "stop_area": "stop_area:OCE:SA:87595579", + "nom": "Thenon", + "lat": 45.16013, + "lon": 1.068646 + }, + { + "uic": "87757583", + "stop_area": "stop_area:OCE:SA:87757583", + "nom": "Théoule-sur-Mer", + "lat": 43.513499, + "lon": 6.93696 + }, + { + "uic": "87328195", + "stop_area": "stop_area:OCE:SA:87328195", + "nom": "Thésée", + "lat": 47.322305, + "lon": 1.312225 + }, + { + "uic": "87316125", + "stop_area": "stop_area:OCE:SA:87316125", + "nom": "Thézy-Glimont", + "lat": 49.811866, + "lon": 2.435741 + }, + { + "uic": "87141432", + "stop_area": "stop_area:OCE:SA:87141432", + "nom": "Thiaville", + "lat": 48.413914, + "lon": 6.810241 + }, + { + "uic": "87668095", + "stop_area": "stop_area:OCE:SA:87668095", + "nom": "Thiel-sur-Acolin abris-bus", + "lat": 46.524233, + "lon": 3.579035 + }, + { + "uic": "87342287", + "stop_area": "stop_area:OCE:SA:87342287", + "nom": "Thiennes", + "lat": 50.652356, + "lon": 2.472922 + }, + { + "uic": "87734475", + "stop_area": "stop_area:OCE:SA:87734475", + "nom": "Thiers", + "lat": 45.861093, + "lon": 3.543099 + }, + { + "uic": "87191007", + "stop_area": "stop_area:OCE:SA:87191007", + "nom": "Thionville", + "lat": 49.353965, + "lon": 6.168582 + }, + { + "uic": "87752675", + "stop_area": "stop_area:OCE:SA:87752675", + "nom": "Thionville Porte Saarlouis", + "lat": 49.35295, + "lon": 6.176307 + }, + { + "uic": "87595124", + "stop_area": "stop_area:OCE:SA:87595124", + "nom": "Thiviers", + "lat": 45.418977, + "lon": 0.92135 + }, + { + "uic": "87745646", + "stop_area": "stop_area:OCE:SA:87745646", + "nom": "Thonon-les-Bains", + "lat": 46.368989, + "lon": 6.481673 + }, + { + "uic": "87481143", + "stop_area": "stop_area:OCE:SA:87481143", + "nom": "Thouaré", + "lat": 47.26513, + "lon": -1.440883 + }, + { + "uic": "87487009", + "stop_area": "stop_area:OCE:SA:87487009", + "nom": "Thouars", + "lat": 46.985039, + "lon": -0.21002 + }, + { + "uic": "87276741", + "stop_area": "stop_area:OCE:SA:87276741", + "nom": "Thourotte", + "lat": 49.475429, + "lon": 2.881771 + }, + { + "uic": "87784751", + "stop_area": "stop_area:OCE:SA:87784751", + "nom": "Thuès Carença", + "lat": 42.522949, + "lon": 2.222728 + }, + { + "uic": "87784744", + "stop_area": "stop_area:OCE:SA:87784744", + "nom": "Thuès les Bains", + "lat": 42.528801, + "lon": 2.249094 + }, + { + "uic": "88718114", + "stop_area": "stop_area:OCE:SA:88718114", + "nom": "THUIN", + "lat": 50.342739, + "lon": 4.288914 + }, + { + "uic": "87215699", + "stop_area": "stop_area:OCE:SA:87215699", + "nom": "Tieffenbach - Struth", + "lat": 48.90636, + "lon": 7.255418 + }, + { + "uic": "87484147", + "stop_area": "stop_area:OCE:SA:87484147", + "nom": "Tiercé", + "lat": 47.617528, + "lon": -0.469408 + }, + { + "uic": "87342303", + "stop_area": "stop_area:OCE:SA:87342303", + "nom": "Tincques", + "lat": 50.357153, + "lon": 2.49804 + }, + { + "uic": "87485151", + "stop_area": "stop_area:OCE:SA:87485151", + "nom": "Tonnay-Charente", + "lat": 45.943401, + "lon": -0.897789 + }, + { + "uic": "87586651", + "stop_area": "stop_area:OCE:SA:87586651", + "nom": "Tonneins", + "lat": 44.392754, + "lon": 0.314057 + }, + { + "uic": "87713198", + "stop_area": "stop_area:OCE:SA:87713198", + "nom": "Tonnerre", + "lat": 47.85938, + "lon": 3.97355 + }, + { + "uic": "87486894", + "stop_area": "stop_area:OCE:SA:87486894", + "nom": "Torfou", + "lat": 47.03319, + "lon": -1.117492 + }, + { + "uic": "83004523", + "stop_area": "stop_area:OCE:SA:83004523", + "nom": "TORINO LINGOTTO", + "lat": 45.026604, + "lon": 7.65747 + }, + { + "uic": "83002196", + "stop_area": "stop_area:OCE:SA:83002196", + "nom": "TORINO PORTA NUOVA", + "lat": 45.06097, + "lon": 7.67747 + }, + { + "uic": "87718114", + "stop_area": "stop_area:OCE:SA:87718114", + "nom": "Torpes - Boussières", + "lat": 47.163801, + "lon": 5.888715 + }, + { + "uic": "87756817", + "stop_area": "stop_area:OCE:SA:87756817", + "nom": "Touët-de-l'Escarène", + "lat": 43.847073, + "lon": 7.36437 + }, + { + "uic": "87141044", + "stop_area": "stop_area:OCE:SA:87141044", + "nom": "Toul", + "lat": 48.679011, + "lon": 5.880499 + }, + { + "uic": "87405753", + "stop_area": "stop_area:OCE:SA:87405753", + "nom": "Toul Gare Routière", + "lat": 48.67379, + "lon": 5.88621 + }, + { + "uic": "87755009", + "stop_area": "stop_area:OCE:SA:87755009", + "nom": "Toulon", + "lat": 43.128353, + "lon": 5.929404 + }, + { + "uic": "87742262", + "stop_area": "stop_area:OCE:SA:87742262", + "nom": "Toulon Sainte-Musse", + "lat": 43.125008, + "lon": 5.972433 + }, + { + "uic": "87611004", + "stop_area": "stop_area:OCE:SA:87611004", + "nom": "Toulouse Matabiau", + "lat": 43.611206, + "lon": 1.453616 + }, + { + "uic": "87286542", + "stop_area": "stop_area:OCE:SA:87286542", + "nom": "Tourcoing", + "lat": 50.716826, + "lon": 3.168027 + }, + { + "uic": "88850010", + "stop_area": "stop_area:OCE:SA:88850010", + "nom": "Tournai", + "lat": 50.613, + "lon": 3.396 + }, + { + "uic": "87671172", + "stop_area": "stop_area:OCE:SA:87671172", + "nom": "Tournay", + "lat": 43.183662, + "lon": 0.23915 + }, + { + "uic": "87783456", + "stop_area": "stop_area:OCE:SA:87783456", + "nom": "Tournemire - Roquefort", + "lat": 43.9698, + "lon": 3.016626 + }, + { + "uic": "87761460", + "stop_area": "stop_area:OCE:SA:87761460", + "nom": "Tournon-Centre", + "lat": 45.06298, + "lon": 4.83421 + }, + { + "uic": "87725622", + "stop_area": "stop_area:OCE:SA:87725622", + "nom": "Tournus", + "lat": 46.566724, + "lon": 4.906562 + }, + { + "uic": "87571000", + "stop_area": "stop_area:OCE:SA:87571000", + "nom": "Tours", + "lat": 47.389866, + "lon": 0.692831 + }, + { + "uic": "87411181", + "stop_area": "stop_area:OCE:SA:87411181", + "nom": "Tourville", + "lat": 49.324424, + "lon": 1.09858 + }, + { + "uic": "87543074", + "stop_area": "stop_area:OCE:SA:87543074", + "nom": "Toury", + "lat": 48.193606, + "lon": 1.939565 + }, + { + "uic": "87725416", + "stop_area": "stop_area:OCE:SA:87725416", + "nom": "Toussieu Eglise", + "lat": 45.654894, + "lon": 4.990003 + }, + { + "uic": "87725309", + "stop_area": "stop_area:OCE:SA:87725309", + "nom": "Toussieu la Côte", + "lat": 45.657938, + "lon": 4.983263 + }, + { + "uic": "87696161", + "stop_area": "stop_area:OCE:SA:87696161", + "nom": "Tracy Sancerre", + "lat": 47.338091, + "lon": 2.880298 + }, + { + "uic": "87322347", + "stop_area": "stop_area:OCE:SA:87322347", + "nom": "Traou Nez", + "lat": 48.748551, + "lon": -3.134971 + }, + { + "uic": "85042150", + "stop_area": "stop_area:OCE:SA:85042150", + "nom": "Travers", + "lat": 46.94241, + "lon": 6.67657 + }, + { + "uic": "87473819", + "stop_area": "stop_area:OCE:SA:87473819", + "nom": "Trégonneau - Squiffiec", + "lat": 48.624358, + "lon": -3.174252 + }, + { + "uic": "87701532", + "stop_area": "stop_area:OCE:SA:87701532", + "nom": "Trélazé", + "lat": 47.452845, + "lon": -0.469666 + }, + { + "uic": "87584474", + "stop_area": "stop_area:OCE:SA:87584474", + "nom": "Trémolat", + "lat": 44.862556, + "lon": 0.830342 + }, + { + "uic": "80251819", + "stop_area": "stop_area:OCE:SA:80251819", + "nom": "Trèves", + "lat": 49.7568, + "lon": 6.6522 + }, + { + "uic": "87313353", + "stop_area": "stop_area:OCE:SA:87313353", + "nom": "Tricot", + "lat": 49.561971, + "lon": 2.581782 + }, + { + "uic": "87343400", + "stop_area": "stop_area:OCE:SA:87343400", + "nom": "Trith-Saint-Léger", + "lat": 50.331565, + "lon": 3.489508 + }, + { + "uic": "87184242", + "stop_area": "stop_area:OCE:SA:87184242", + "nom": "Trois Chênes", + "lat": 47.64809, + "lon": 6.846113 + }, + { + "uic": "87696203", + "stop_area": "stop_area:OCE:SA:87696203", + "nom": "Tronsanges", + "lat": 47.113149, + "lon": 3.053887 + }, + { + "uic": "87444372", + "stop_area": "stop_area:OCE:SA:87444372", + "nom": "Trouville - Deauville", + "lat": 49.360005, + "lon": 0.084167 + }, + { + "uic": "87118000", + "stop_area": "stop_area:OCE:SA:87118000", + "nom": "Troyes", + "lat": 48.296069, + "lon": 4.065281 + }, + { + "uic": "87216036", + "stop_area": "stop_area:OCE:SA:87216036", + "nom": "Troyes Boulevard du 14 juillet", + "lat": 48.294736, + "lon": 4.079934 + }, + { + "uic": "87139659", + "stop_area": "stop_area:OCE:SA:87139659", + "nom": "Troyes Chambre de Commerce", + "lat": 48.29088, + "lon": 4.071271 + }, + { + "uic": "87139501", + "stop_area": "stop_area:OCE:SA:87139501", + "nom": "Troyes Gare Routière", + "lat": 48.297284, + "lon": 4.064276 + }, + { + "uic": "87747147", + "stop_area": "stop_area:OCE:SA:87747147", + "nom": "Troyes Hôpital Simone Veil", + "lat": 48.2798, + "lon": 4.0682 + }, + { + "uic": "87139667", + "stop_area": "stop_area:OCE:SA:87139667", + "nom": "Troyes Lombards", + "lat": 48.278074, + "lon": 4.065859 + }, + { + "uic": "87727743", + "stop_area": "stop_area:OCE:SA:87727743", + "nom": "Troyes Pont Vert", + "lat": 48.308703, + "lon": 4.069091 + }, + { + "uic": "87747121", + "stop_area": "stop_area:OCE:SA:87747121", + "nom": "Troyes Québec", + "lat": 48.269985, + "lon": 4.082472 + }, + { + "uic": "87312587", + "stop_area": "stop_area:OCE:SA:87312587", + "nom": "Troyes Quennedey", + "lat": 48.290595, + "lon": 4.089058 + }, + { + "uic": "87727735", + "stop_area": "stop_area:OCE:SA:87727735", + "nom": "Troyes Théâtre de Champagne", + "lat": 48.300295, + "lon": 4.074469 + }, + { + "uic": "87216051", + "stop_area": "stop_area:OCE:SA:87216051", + "nom": "Troyes Victor Hugo", + "lat": 48.293073, + "lon": 4.069195 + }, + { + "uic": "87594499", + "stop_area": "stop_area:OCE:SA:87594499", + "nom": "Tulle", + "lat": 45.258733, + "lon": 1.756445 + }, + { + "uic": "87761759", + "stop_area": "stop_area:OCE:SA:87761759", + "nom": "Tullins Fures", + "lat": 45.300905, + "lon": 5.492174 + }, + { + "uic": "87182352", + "stop_area": "stop_area:OCE:SA:87182352", + "nom": "Turckheim", + "lat": 48.085629, + "lon": 7.279466 + }, + { + "uic": "87665380", + "stop_area": "stop_area:OCE:SA:87665380", + "nom": "Turckheim Place de la République", + "lat": 48.086214, + "lon": 7.278888 + }, + { + "uic": "87594556", + "stop_area": "stop_area:OCE:SA:87594556", + "nom": "Turenne", + "lat": 45.037954, + "lon": 1.600704 + }, + { + "uic": "83000356", + "stop_area": "stop_area:OCE:SA:83000356", + "nom": "Turin Porta Susa", + "lat": 45.074118, + "lon": 7.666675 + }, + { + "uic": "87775106", + "stop_area": "stop_area:OCE:SA:87775106", + "nom": "Uchaud", + "lat": 43.758096, + "lon": 4.267443 + }, + { + "uic": "87191130", + "stop_area": "stop_area:OCE:SA:87191130", + "nom": "Uckange", + "lat": 49.303459, + "lon": 6.1566 + }, + { + "uic": "87698795", + "stop_area": "stop_area:OCE:SA:87698795", + "nom": "Ugine-Place-du-Val-d'Arly", + "lat": 45.746294, + "lon": 6.42127 + }, + { + "uic": "87192880", + "stop_area": "stop_area:OCE:SA:87192880", + "nom": "Ugny Mairie", + "lat": 49.472008, + "lon": 5.697446 + }, + { + "uic": "80291039", + "stop_area": "stop_area:OCE:SA:80291039", + "nom": "Ulm Hbf", + "lat": 48.3996, + "lon": 9.9828 + }, + { + "uic": "87784884", + "stop_area": "stop_area:OCE:SA:87784884", + "nom": "Ur les Escaldes", + "lat": 42.457481, + "lon": 1.940549 + }, + { + "uic": "87576348", + "stop_area": "stop_area:OCE:SA:87576348", + "nom": "Urçay", + "lat": 46.62933, + "lon": 2.586642 + }, + { + "uic": "87409490", + "stop_area": "stop_area:OCE:SA:87409490", + "nom": "Urcay Hôtel du Lyon d'Or", + "lat": 46.626834, + "lon": 2.589442 + }, + { + "uic": "87214635", + "stop_area": "stop_area:OCE:SA:87214635", + "nom": "Urmatt", + "lat": 48.525984, + "lon": 7.338299 + }, + { + "uic": "87672386", + "stop_area": "stop_area:OCE:SA:87672386", + "nom": "Urt", + "lat": 43.499213, + "lon": -1.300529 + }, + { + "uic": "87611582", + "stop_area": "stop_area:OCE:SA:87611582", + "nom": "Ussat les Bains", + "lat": 42.821052, + "lon": 1.621331 + }, + { + "uic": "87594093", + "stop_area": "stop_area:OCE:SA:87594093", + "nom": "Ussel", + "lat": 45.557382, + "lon": 2.314403 + }, + { + "uic": "87417907", + "stop_area": "stop_area:OCE:SA:87417907", + "nom": "Ussel Place Henri Queuille", + "lat": 45.549738, + "lon": 2.307346 + }, + { + "uic": "87673624", + "stop_area": "stop_area:OCE:SA:87673624", + "nom": "Ustaritz-Jatxou", + "lat": 43.404533, + "lon": -1.449071 + }, + { + "uic": "87678466", + "stop_area": "stop_area:OCE:SA:87678466", + "nom": "Uttwiller Croisement", + "lat": 48.846149, + "lon": 7.487526 + }, + { + "uic": "87594200", + "stop_area": "stop_area:OCE:SA:87594200", + "nom": "Uzerche", + "lat": 45.440654, + "lon": 1.570272 + }, + { + "uic": "87396598", + "stop_area": "stop_area:OCE:SA:87396598", + "nom": "Vaas", + "lat": 47.670707, + "lon": 0.316452 + }, + { + "uic": "87193128", + "stop_area": "stop_area:OCE:SA:87193128", + "nom": "Vahl-lès-Bénestroff Mairie", + "lat": 48.9132, + "lon": 6.7871 + }, + { + "uic": "80297796", + "stop_area": "stop_area:OCE:SA:80297796", + "nom": "Vaihingen (Enz)", + "lat": 48.948056, + "lon": 8.9575 + }, + { + "uic": "87761064", + "stop_area": "stop_area:OCE:SA:87761064", + "nom": "Val-d'Oingt - Saint-Laurent-d'Oingt Bourg", + "lat": 45.945156, + "lon": 4.563591 + }, + { + "uic": "87761072", + "stop_area": "stop_area:OCE:SA:87761072", + "nom": "Val-d'Oingt - Saint-Laurent-d'Oingt Gare", + "lat": 45.932289, + "lon": 4.551666 + }, + { + "uic": "87415877", + "stop_area": "stop_area:OCE:SA:87415877", + "nom": "Val-de-Reuil", + "lat": 49.275437, + "lon": 1.224147 + }, + { + "uic": "87171611", + "stop_area": "stop_area:OCE:SA:87171611", + "nom": "Val-de-Vesle", + "lat": 49.17792, + "lon": 4.22221 + }, + { + "uic": "87576215", + "stop_area": "stop_area:OCE:SA:87576215", + "nom": "Valençay", + "lat": 47.163055, + "lon": 1.558658 + }, + { + "uic": "87766824", + "stop_area": "stop_area:OCE:SA:87766824", + "nom": "Valençay Collège Alain Fournier", + "lat": 47.164462, + "lon": 1.564392 + }, + { + "uic": "87611863", + "stop_area": "stop_area:OCE:SA:87611863", + "nom": "Valence d'Agen", + "lat": 44.111643, + "lon": 0.891595 + }, + { + "uic": "87556506", + "stop_area": "stop_area:OCE:SA:87556506", + "nom": "Valence Gare Routière", + "lat": 44.927222, + "lon": 4.892222 + }, + { + "uic": "87763029", + "stop_area": "stop_area:OCE:SA:87763029", + "nom": "Valence TGV Rhône-Alpes Sud", + "lat": 44.991907, + "lon": 4.978652 + }, + { + "uic": "87761007", + "stop_area": "stop_area:OCE:SA:87761007", + "nom": "Valence Ville", + "lat": 44.928081, + "lon": 4.893288 + }, + { + "uic": "87343004", + "stop_area": "stop_area:OCE:SA:87343004", + "nom": "Valenciennes", + "lat": 50.363187, + "lon": 3.517124 + }, + { + "uic": "87773432", + "stop_area": "stop_area:OCE:SA:87773432", + "nom": "Valergues - Lansargues", + "lat": 43.672631, + "lon": 4.060256 + }, + { + "uic": "87118117", + "stop_area": "stop_area:OCE:SA:87118117", + "nom": "Vallant-Saint-Georges Mairie", + "lat": 48.469237, + "lon": 3.90388 + }, + { + "uic": "87745414", + "stop_area": "stop_area:OCE:SA:87745414", + "nom": "Valleiry", + "lat": 46.109343, + "lon": 5.967379 + }, + { + "uic": "87192732", + "stop_area": "stop_area:OCE:SA:87192732", + "nom": "Valleroy - Moineville", + "lat": 49.205742, + "lon": 5.935957 + }, + { + "uic": "87641357", + "stop_area": "stop_area:OCE:SA:87641357", + "nom": "Vallon-en-Sully", + "lat": 46.536481, + "lon": 2.610766 + }, + { + "uic": "87765990", + "stop_area": "stop_area:OCE:SA:87765990", + "nom": "Vallon-en-Sully Marché couvert", + "lat": 46.535873, + "lon": 2.607845 + }, + { + "uic": "85011031", + "stop_area": "stop_area:OCE:SA:85011031", + "nom": "Vallorbe", + "lat": 46.71242, + "lon": 6.37057 + }, + { + "uic": "87746875", + "stop_area": "stop_area:OCE:SA:87746875", + "nom": "Vallorcine", + "lat": 46.032498, + "lon": 6.932669 + }, + { + "uic": "87447284", + "stop_area": "stop_area:OCE:SA:87447284", + "nom": "Valognes", + "lat": 49.505454, + "lon": -1.47986 + }, + { + "uic": "87192476", + "stop_area": "stop_area:OCE:SA:87192476", + "nom": "Vandières", + "lat": 48.951493, + "lon": 6.039047 + }, + { + "uic": "87476606", + "stop_area": "stop_area:OCE:SA:87476606", + "nom": "Vannes", + "lat": 47.665169, + "lon": -2.75245 + }, + { + "uic": "87484386", + "stop_area": "stop_area:OCE:SA:87484386", + "nom": "Varades - Saint-Florent-le-Vieil", + "lat": 47.374561, + "lon": -1.01982 + }, + { + "uic": "87141101", + "stop_area": "stop_area:OCE:SA:87141101", + "nom": "Varangéville - Saint-Nicolas", + "lat": 48.635215, + "lon": 6.313142 + }, + { + "uic": "87696351", + "stop_area": "stop_area:OCE:SA:87696351", + "nom": "Varennes-sur-Allier", + "lat": 46.3155, + "lon": 3.394239 + }, + { + "uic": "87576231", + "stop_area": "stop_area:OCE:SA:87576231", + "nom": "Varennes-sur-Fouzon", + "lat": 47.21446, + "lon": 1.61441 + }, + { + "uic": "87594606", + "stop_area": "stop_area:OCE:SA:87594606", + "nom": "Varetz", + "lat": 45.191122, + "lon": 1.447454 + }, + { + "uic": "87611327", + "stop_area": "stop_area:OCE:SA:87611327", + "nom": "Varilhes", + "lat": 43.041594, + "lon": 1.628318 + }, + { + "uic": "87130898", + "stop_area": "stop_area:OCE:SA:87130898", + "nom": "Varilhes Centre", + "lat": 43.044978, + "lon": 1.627614 + }, + { + "uic": "87476929", + "stop_area": "stop_area:OCE:SA:87476929", + "nom": "Vatimont Mairie", + "lat": 48.980013, + "lon": 6.464483 + }, + { + "uic": "87747295", + "stop_area": "stop_area:OCE:SA:87747295", + "nom": "Vatry Rue Principale", + "lat": 48.821098, + "lon": 4.244065 + }, + { + "uic": "87279927", + "stop_area": "stop_area:OCE:SA:87279927", + "nom": "Vauchonvilliers Mairie", + "lat": 48.265575, + "lon": 4.526139 + }, + { + "uic": "87746727", + "stop_area": "stop_area:OCE:SA:87746727", + "nom": "Vaudagne", + "lat": 45.908818, + "lon": 6.772591 + }, + { + "uic": "87117507", + "stop_area": "stop_area:OCE:SA:87117507", + "nom": "Vaudreching Bernanos", + "lat": 49.285029, + "lon": 6.524449 + }, + { + "uic": "87271601", + "stop_area": "stop_area:OCE:SA:87271601", + "nom": "Vaumoise", + "lat": 49.233921, + "lon": 2.988748 + }, + { + "uic": "87775817", + "stop_area": "stop_area:OCE:SA:87775817", + "nom": "Vauvert", + "lat": 43.695037, + "lon": 4.270165 + }, + { + "uic": "87715201", + "stop_area": "stop_area:OCE:SA:87715201", + "nom": "Vaux-et-Chantegrue", + "lat": 46.813674, + "lon": 6.248624 + }, + { + "uic": "87297283", + "stop_area": "stop_area:OCE:SA:87297283", + "nom": "Vauxaillon", + "lat": 49.47424, + "lon": 3.40953 + }, + { + "uic": "87691469", + "stop_area": "stop_area:OCE:SA:87691469", + "nom": "Vauzelles", + "lat": 47.001314, + "lon": 3.13488 + }, + { + "uic": "87594739", + "stop_area": "stop_area:OCE:SA:87594739", + "nom": "Vayrac", + "lat": 44.950301, + "lon": 1.70635 + }, + { + "uic": "87584714", + "stop_area": "stop_area:OCE:SA:87584714", + "nom": "Vayres", + "lat": 44.897326, + "lon": -0.317169 + }, + { + "uic": "87726208", + "stop_area": "stop_area:OCE:SA:87726208", + "nom": "Veauche - Saint-Galmier", + "lat": 45.565928, + "lon": 4.293438 + }, + { + "uic": "87611566", + "stop_area": "stop_area:OCE:SA:87611566", + "nom": "Vèbre", + "lat": 42.773927, + "lon": 1.719881 + }, + { + "uic": "87338178", + "stop_area": "stop_area:OCE:SA:87338178", + "nom": "Vecqueville", + "lat": 48.457357, + "lon": 5.143001 + }, + { + "uic": "87571414", + "stop_area": "stop_area:OCE:SA:87571414", + "nom": "Veigné", + "lat": 47.291227, + "lon": 0.73488 + }, + { + "uic": "87712331", + "stop_area": "stop_area:OCE:SA:87712331", + "nom": "Velars", + "lat": 47.32652, + "lon": 4.92746 + }, + { + "uic": "87584177", + "stop_area": "stop_area:OCE:SA:87584177", + "nom": "Vélines", + "lat": 44.852029, + "lon": 0.10351 + }, + { + "uic": "87212118", + "stop_area": "stop_area:OCE:SA:87212118", + "nom": "Vendenheim", + "lat": 48.665922, + "lon": 7.717777 + }, + { + "uic": "87118257", + "stop_area": "stop_area:OCE:SA:87118257", + "nom": "Vendeuvre", + "lat": 48.240069, + "lon": 4.467214 + }, + { + "uic": "87215947", + "stop_area": "stop_area:OCE:SA:87215947", + "nom": "Vendeuvre-sur-Barse Centre", + "lat": 48.237519, + "lon": 4.466975 + }, + { + "uic": "87574558", + "stop_area": "stop_area:OCE:SA:87574558", + "nom": "Vendôme", + "lat": 47.801959, + "lon": 1.068219 + }, + { + "uic": "87571216", + "stop_area": "stop_area:OCE:SA:87571216", + "nom": "Vendôme - Villiers-sur-Loir", + "lat": 47.821937, + "lon": 1.021143 + }, + { + "uic": "87611392", + "stop_area": "stop_area:OCE:SA:87611392", + "nom": "Venerque - Le Vernet", + "lat": 43.433359, + "lon": 1.425956 + }, + { + "uic": "87723320", + "stop_area": "stop_area:OCE:SA:87723320", + "nom": "Vénissieux", + "lat": 45.705608, + "lon": 4.888007 + }, + { + "uic": "83045013", + "stop_area": "stop_area:OCE:SA:83045013", + "nom": "VENTIMIGLIA", + "lat": 43.792569, + "lon": 7.610233 + }, + { + "uic": "87175778", + "stop_area": "stop_area:OCE:SA:87175778", + "nom": "Verdun", + "lat": 49.165441, + "lon": 5.379672 + }, + { + "uic": "87458836", + "stop_area": "stop_area:OCE:SA:87458836", + "nom": "Verdun la Tour du Champ", + "lat": 49.163989, + "lon": 5.399661 + }, + { + "uic": "87574434", + "stop_area": "stop_area:OCE:SA:87574434", + "nom": "Véretz - Montlouis", + "lat": 47.371386, + "lon": 0.819672 + }, + { + "uic": "87775114", + "stop_area": "stop_area:OCE:SA:87775114", + "nom": "Vergèze - Codognan", + "lat": 43.739784, + "lon": 4.218911 + }, + { + "uic": "87683664", + "stop_area": "stop_area:OCE:SA:87683664", + "nom": "Vermenton", + "lat": 47.660761, + "lon": 3.732059 + }, + { + "uic": "87471029", + "stop_area": "stop_area:OCE:SA:87471029", + "nom": "Vern", + "lat": 48.046849, + "lon": -1.596529 + }, + { + "uic": "87722264", + "stop_area": "stop_area:OCE:SA:87722264", + "nom": "Vernaison", + "lat": 45.645663, + "lon": 4.81328 + }, + { + "uic": "85015610", + "stop_area": "stop_area:OCE:SA:85015610", + "nom": "Vernayaz MC", + "lat": 46.130414, + "lon": 7.044608 + }, + { + "uic": "87691675", + "stop_area": "stop_area:OCE:SA:87691675", + "nom": "Verneuil", + "lat": 46.861119, + "lon": 3.557435 + }, + { + "uic": "87393595", + "stop_area": "stop_area:OCE:SA:87393595", + "nom": "Verneuil-sur-Avre", + "lat": 48.742486, + "lon": 0.929192 + }, + { + "uic": "87297119", + "stop_area": "stop_area:OCE:SA:87297119", + "nom": "Verneuil-sur-Serre", + "lat": 49.648709, + "lon": 3.667803 + }, + { + "uic": "85010074", + "stop_area": "stop_area:OCE:SA:85010074", + "nom": "Vernier", + "lat": 46.22071, + "lon": 6.093892 + }, + { + "uic": "87415604", + "stop_area": "stop_area:OCE:SA:87415604", + "nom": "Vernon - Giverny", + "lat": 49.091573, + "lon": 1.478297 + }, + { + "uic": "87713081", + "stop_area": "stop_area:OCE:SA:87713081", + "nom": "Verrey", + "lat": 47.438853, + "lon": 4.669857 + }, + { + "uic": "87668384", + "stop_area": "stop_area:OCE:SA:87668384", + "nom": "Verrieres Engayresque", + "lat": 44.254859, + "lon": 3.055451 + }, + { + "uic": "87393009", + "stop_area": "stop_area:OCE:SA:87393009", + "nom": "Versailles Chantiers", + "lat": 48.795826, + "lon": 2.135883 + }, + { + "uic": "87296608", + "stop_area": "stop_area:OCE:SA:87296608", + "nom": "Versigny", + "lat": 49.657428, + "lon": 3.433654 + }, + { + "uic": "85010223", + "stop_area": "stop_area:OCE:SA:85010223", + "nom": "Versoix", + "lat": 46.279717, + "lon": 6.165748 + }, + { + "uic": "87734426", + "stop_area": "stop_area:OCE:SA:87734426", + "nom": "Vertaizon", + "lat": 45.784579, + "lon": 3.288241 + }, + { + "uic": "87481408", + "stop_area": "stop_area:OCE:SA:87481408", + "nom": "Vertou", + "lat": 47.186149, + "lon": -1.477956 + }, + { + "uic": "87296129", + "stop_area": "stop_area:OCE:SA:87296129", + "nom": "Vervins", + "lat": 49.829884, + "lon": 3.893519 + }, + { + "uic": "87615138", + "stop_area": "stop_area:OCE:SA:87615138", + "nom": "Verzeille", + "lat": 43.130422, + "lon": 2.32155 + }, + { + "uic": "87185009", + "stop_area": "stop_area:OCE:SA:87185009", + "nom": "Vesoul", + "lat": 47.61781, + "lon": 6.151821 + }, + { + "uic": "87574327", + "stop_area": "stop_area:OCE:SA:87574327", + "nom": "Veuves - Monteaux", + "lat": 47.475555, + "lon": 1.123819 + }, + { + "uic": "87763300", + "stop_area": "stop_area:OCE:SA:87763300", + "nom": "Veynes Dévoluy", + "lat": 44.532019, + "lon": 5.815807 + }, + { + "uic": "87717108", + "stop_area": "stop_area:OCE:SA:87717108", + "nom": "Vézelise Beauregard", + "lat": 48.488983, + "lon": 6.093343 + }, + { + "uic": "87746735", + "stop_area": "stop_area:OCE:SA:87746735", + "nom": "Viaduc sainte-Marie", + "lat": 45.897132, + "lon": 6.785002 + }, + { + "uic": "87781260", + "stop_area": "stop_area:OCE:SA:87781260", + "nom": "Vias", + "lat": 43.315653, + "lon": 3.425356 + }, + { + "uic": "87773531", + "stop_area": "stop_area:OCE:SA:87773531", + "nom": "Vic - Mireval", + "lat": 43.500704, + "lon": 3.799379 + }, + { + "uic": "87734186", + "stop_area": "stop_area:OCE:SA:87734186", + "nom": "Vic-le-Comte", + "lat": 45.664941, + "lon": 3.207042 + }, + { + "uic": "87645440", + "stop_area": "stop_area:OCE:SA:87645440", + "nom": "Vic-sur-Cère", + "lat": 44.975877, + "lon": 2.631664 + }, + { + "uic": "87732008", + "stop_area": "stop_area:OCE:SA:87732008", + "nom": "Vichy", + "lat": 46.126991, + "lon": 3.430476 + }, + { + "uic": "87755421", + "stop_area": "stop_area:OCE:SA:87755421", + "nom": "Vidauban", + "lat": 43.430934, + "lon": 6.433753 + }, + { + "uic": "87409482", + "stop_area": "stop_area:OCE:SA:87409482", + "nom": "Vieille-Brioude", + "lat": 45.264187, + "lon": 3.404474 + }, + { + "uic": "87597633", + "stop_area": "stop_area:OCE:SA:87597633", + "nom": "Vieilleville", + "lat": 46.091317, + "lon": 1.673622 + }, + { + "uic": "87615492", + "stop_area": "stop_area:OCE:SA:87615492", + "nom": "Vielmur-sur-Agout", + "lat": 43.62384, + "lon": 2.089295 + }, + { + "uic": "87722587", + "stop_area": "stop_area:OCE:SA:87722587", + "nom": "Vienne", + "lat": 45.521231, + "lon": 4.874274 + }, + { + "uic": "87698803", + "stop_area": "stop_area:OCE:SA:87698803", + "nom": "Vienne-Gare-Routière", + "lat": 45.521263, + "lon": 4.873992 + }, + { + "uic": "87576009", + "stop_area": "stop_area:OCE:SA:87576009", + "nom": "Vierzon", + "lat": 47.226474, + "lon": 2.059869 + }, + { + "uic": "87576090", + "stop_area": "stop_area:OCE:SA:87576090", + "nom": "Vierzon Forges", + "lat": 47.210525, + "lon": 2.100416 + }, + { + "uic": "87271783", + "stop_area": "stop_area:OCE:SA:87271783", + "nom": "Vierzy", + "lat": 49.29103, + "lon": 3.277834 + }, + { + "uic": "87182550", + "stop_area": "stop_area:OCE:SA:87182550", + "nom": "Vieux-Thann", + "lat": 47.805879, + "lon": 7.119465 + }, + { + "uic": "87659979", + "stop_area": "stop_area:OCE:SA:87659979", + "nom": "Vieux-Thann Parking de la Gare", + "lat": 47.806072, + "lon": 7.119758 + }, + { + "uic": "87181289", + "stop_area": "stop_area:OCE:SA:87181289", + "nom": "Vieux-Thann Zone Industrielle", + "lat": 47.80194, + "lon": 7.133222 + }, + { + "uic": "87319756", + "stop_area": "stop_area:OCE:SA:87319756", + "nom": "Viéville", + "lat": 48.239342, + "lon": 5.135045 + }, + { + "uic": "87747576", + "stop_area": "stop_area:OCE:SA:87747576", + "nom": "Vif", + "lat": 45.047669, + "lon": 5.685425 + }, + { + "uic": "87594218", + "stop_area": "stop_area:OCE:SA:87594218", + "nom": "Vigeois", + "lat": 45.382851, + "lon": 1.514965 + }, + { + "uic": "87142232", + "stop_area": "stop_area:OCE:SA:87142232", + "nom": "Vignory", + "lat": 48.270681, + "lon": 5.124249 + }, + { + "uic": "87107409", + "stop_area": "stop_area:OCE:SA:87107409", + "nom": "Vignory Centre", + "lat": 48.278352, + "lon": 5.101419 + }, + { + "uic": "87723759", + "stop_area": "stop_area:OCE:SA:87723759", + "nom": "Villars-les-Dombes", + "lat": 46.004273, + "lon": 5.028415 + }, + { + "uic": "87727891", + "stop_area": "stop_area:OCE:SA:87727891", + "nom": "Ville sous la Ferté Four à Chaux", + "lat": 48.153926, + "lon": 4.794349 + }, + { + "uic": "87727883", + "stop_area": "stop_area:OCE:SA:87727883", + "nom": "Ville-sous-la-Ferté Tramway", + "lat": 48.12167, + "lon": 4.787636 + }, + { + "uic": "87447698", + "stop_area": "stop_area:OCE:SA:87447698", + "nom": "Villedieu-les-Poêles", + "lat": 48.83415, + "lon": -1.225418 + }, + { + "uic": "87775197", + "stop_area": "stop_area:OCE:SA:87775197", + "nom": "Villefort", + "lat": 44.43951, + "lon": 3.924015 + }, + { + "uic": "87784686", + "stop_area": "stop_area:OCE:SA:87784686", + "nom": "Villefranche - Vernet-les-Bains", + "lat": 42.5917, + "lon": 2.370354 + }, + { + "uic": "87615013", + "stop_area": "stop_area:OCE:SA:87615013", + "nom": "Villefranche-de-Lauragais", + "lat": 43.398537, + "lon": 1.714725 + }, + { + "uic": "87613893", + "stop_area": "stop_area:OCE:SA:87613893", + "nom": "Villefranche-de-Rouergue", + "lat": 44.347498, + "lon": 2.036459 + }, + { + "uic": "87595892", + "stop_area": "stop_area:OCE:SA:87595892", + "nom": "Villefranche-du-Périgord", + "lat": 44.627019, + "lon": 1.049302 + }, + { + "uic": "87576884", + "stop_area": "stop_area:OCE:SA:87576884", + "nom": "Villefranche-sur-Cher", + "lat": 47.29478, + "lon": 1.768056 + }, + { + "uic": "87756361", + "stop_area": "stop_area:OCE:SA:87756361", + "nom": "Villefranche-sur-Mer", + "lat": 43.707047, + "lon": 7.314245 + }, + { + "uic": "87721332", + "stop_area": "stop_area:OCE:SA:87721332", + "nom": "Villefranche-sur-Saône", + "lat": 45.984482, + "lon": 4.720798 + }, + { + "uic": "87673616", + "stop_area": "stop_area:OCE:SA:87673616", + "nom": "Villefranque", + "lat": 43.431489, + "lon": -1.456289 + }, + { + "uic": "87576165", + "stop_area": "stop_area:OCE:SA:87576165", + "nom": "Villeherviers", + "lat": 47.369401, + "lon": 1.797256 + }, + { + "uic": "87581835", + "stop_area": "stop_area:OCE:SA:87581835", + "nom": "Villenave-d'Ornon", + "lat": 44.768343, + "lon": -0.547257 + }, + { + "uic": "87110361", + "stop_area": "stop_area:OCE:SA:87110361", + "nom": "Villeneuve-au-Chemin", + "lat": 48.089901, + "lon": 3.851317 + }, + { + "uic": "87613885", + "stop_area": "stop_area:OCE:SA:87613885", + "nom": "Villeneuve-d'Aveyron", + "lat": 44.436802, + "lon": 2.029952 + }, + { + "uic": "87764720", + "stop_area": "stop_area:OCE:SA:87764720", + "nom": "Villeneuve-de-Berg-Centre", + "lat": 44.554919, + "lon": 4.498102 + }, + { + "uic": "87491258", + "stop_area": "stop_area:OCE:SA:87491258", + "nom": "Villeneuve-la-Comtesse", + "lat": 46.098637, + "lon": -0.512922 + }, + { + "uic": "87683102", + "stop_area": "stop_area:OCE:SA:87683102", + "nom": "Villeneuve-la-Guyard", + "lat": 48.342425, + "lon": 3.071655 + }, + { + "uic": "87773515", + "stop_area": "stop_area:OCE:SA:87773515", + "nom": "Villeneuve-lès-Maguelone", + "lat": 43.543728, + "lon": 3.849887 + }, + { + "uic": "87756304", + "stop_area": "stop_area:OCE:SA:87756304", + "nom": "Villeneuve-Loubet-Plage", + "lat": 43.629928, + "lon": 7.134066 + }, + { + "uic": "87696310", + "stop_area": "stop_area:OCE:SA:87696310", + "nom": "Villeneuve-sur-Allier", + "lat": 46.658954, + "lon": 3.247165 + }, + { + "uic": "87668004", + "stop_area": "stop_area:OCE:SA:87668004", + "nom": "Villeneuve-sur-Allier Centre", + "lat": 46.660457, + "lon": 3.247131 + }, + { + "uic": "87683219", + "stop_area": "stop_area:OCE:SA:87683219", + "nom": "Villeneuve-sur-Yonne", + "lat": 48.085013, + "lon": 3.286925 + }, + { + "uic": "87618215", + "stop_area": "stop_area:OCE:SA:87618215", + "nom": "Villenouvelle", + "lat": 43.433308, + "lon": 1.660886 + }, + { + "uic": "87575043", + "stop_area": "stop_area:OCE:SA:87575043", + "nom": "Villeperdue", + "lat": 47.201883, + "lon": 0.633527 + }, + { + "uic": "87743328", + "stop_area": "stop_area:OCE:SA:87743328", + "nom": "Villereversure", + "lat": 46.194192, + "lon": 5.397474 + }, + { + "uic": "87313437", + "stop_area": "stop_area:OCE:SA:87313437", + "nom": "Villers-Bretonneux", + "lat": 49.862968, + "lon": 2.521424 + }, + { + "uic": "87271734", + "stop_area": "stop_area:OCE:SA:87271734", + "nom": "Villers-Cotterêts", + "lat": 49.250228, + "lon": 3.093604 + }, + { + "uic": "87713339", + "stop_area": "stop_area:OCE:SA:87713339", + "nom": "Villers-les-Pots", + "lat": 47.206732, + "lon": 5.347963 + }, + { + "uic": "87276378", + "stop_area": "stop_area:OCE:SA:87276378", + "nom": "Villers-Saint-Paul", + "lat": 49.282396, + "lon": 2.489455 + }, + { + "uic": "87313593", + "stop_area": "stop_area:OCE:SA:87313593", + "nom": "Villers-Saint-Sépulcre", + "lat": 49.367986, + "lon": 2.220386 + }, + { + "uic": "87444398", + "stop_area": "stop_area:OCE:SA:87444398", + "nom": "Villers-sur-Mer", + "lat": 49.315876, + "lon": 0.009715 + }, + { + "uic": "87117978", + "stop_area": "stop_area:OCE:SA:87117978", + "nom": "Villery", + "lat": 48.171506, + "lon": 4.018561 + }, + { + "uic": "87342576", + "stop_area": "stop_area:OCE:SA:87342576", + "nom": "Vimy", + "lat": 50.374013, + "lon": 2.82192 + }, + { + "uic": "87761726", + "stop_area": "stop_area:OCE:SA:87761726", + "nom": "Vinay", + "lat": 45.207966, + "lon": 5.410091 + }, + { + "uic": "87784611", + "stop_area": "stop_area:OCE:SA:87784611", + "nom": "Vinça", + "lat": 42.648252, + "lon": 2.527832 + }, + { + "uic": "87683631", + "stop_area": "stop_area:OCE:SA:87683631", + "nom": "Vincelles", + "lat": 47.704204, + "lon": 3.628471 + }, + { + "uic": "87144063", + "stop_area": "stop_area:OCE:SA:87144063", + "nom": "Vincey", + "lat": 48.343424, + "lon": 6.335801 + }, + { + "uic": "87741108", + "stop_area": "stop_area:OCE:SA:87741108", + "nom": "Vions - Chanaz", + "lat": 45.824552, + "lon": 5.80689 + }, + { + "uic": "87448159", + "stop_area": "stop_area:OCE:SA:87448159", + "nom": "Vire", + "lat": 48.846329, + "lon": -0.882884 + }, + { + "uic": "87172114", + "stop_area": "stop_area:OCE:SA:87172114", + "nom": "Vireux-Molhain", + "lat": 50.082797, + "lon": 4.723391 + }, + { + "uic": "87747204", + "stop_area": "stop_area:OCE:SA:87747204", + "nom": "Virieu sur Bourbre", + "lat": 45.491758, + "lon": 5.47213 + }, + { + "uic": "87741504", + "stop_area": "stop_area:OCE:SA:87741504", + "nom": "Virieu-le-Grand - Belley", + "lat": 45.848323, + "lon": 5.65363 + }, + { + "uic": "87297051", + "stop_area": "stop_area:OCE:SA:87297051", + "nom": "Viry-Noureuil", + "lat": 49.627357, + "lon": 3.250169 + }, + { + "uic": "87342535", + "stop_area": "stop_area:OCE:SA:87342535", + "nom": "Vis à Marles", + "lat": 50.50509, + "lon": 2.517363 + }, + { + "uic": "87471508", + "stop_area": "stop_area:OCE:SA:87471508", + "nom": "Vitré", + "lat": 48.122671, + "lon": -1.211754 + }, + { + "uic": "87439554", + "stop_area": "stop_area:OCE:SA:87439554", + "nom": "Vitrolles Aéroport Marseille P", + "lat": 43.441734, + "lon": 5.237122 + }, + { + "uic": "87342113", + "stop_area": "stop_area:OCE:SA:87342113", + "nom": "Vitry-en-Artois", + "lat": 50.327121, + "lon": 2.9805 + }, + { + "uic": "87174276", + "stop_area": "stop_area:OCE:SA:87174276", + "nom": "Vitry-le-François", + "lat": 48.717913, + "lon": 4.587515 + }, + { + "uic": "87144279", + "stop_area": "stop_area:OCE:SA:87144279", + "nom": "Vittel", + "lat": 48.202426, + "lon": 5.942295 + }, + { + "uic": "87741140", + "stop_area": "stop_area:OCE:SA:87741140", + "nom": "Viviers-du-Lac", + "lat": 45.648537, + "lon": 5.903325 + }, + { + "uic": "87194498", + "stop_area": "stop_area:OCE:SA:87194498", + "nom": "Viviers-sur-Chiers Mairie", + "lat": 49.471248, + "lon": 5.632918 + }, + { + "uic": "87613661", + "stop_area": "stop_area:OCE:SA:87613661", + "nom": "Viviez - Decazeville", + "lat": 44.555568, + "lon": 2.218258 + }, + { + "uic": "87396077", + "stop_area": "stop_area:OCE:SA:87396077", + "nom": "Vivoin - Beaumont", + "lat": 48.230194, + "lon": 0.144845 + }, + { + "uic": "87575290", + "stop_area": "stop_area:OCE:SA:87575290", + "nom": "Vivonne", + "lat": 46.426818, + "lon": 0.265237 + }, + { + "uic": "87747287", + "stop_area": "stop_area:OCE:SA:87747287", + "nom": "Voiron", + "lat": 45.364034, + "lon": 5.594959 + }, + { + "uic": "87659722", + "stop_area": "stop_area:OCE:SA:87659722", + "nom": "Voiteur Halte Routière", + "lat": 46.75511, + "lon": 5.611315 + }, + { + "uic": "87396358", + "stop_area": "stop_area:OCE:SA:87396358", + "nom": "Voivres", + "lat": 47.930498, + "lon": 0.085284 + }, + { + "uic": "87641423", + "stop_area": "stop_area:OCE:SA:87641423", + "nom": "Volvic", + "lat": 45.864649, + "lon": 3.003083 + }, + { + "uic": "87725820", + "stop_area": "stop_area:OCE:SA:87725820", + "nom": "Vonnas", + "lat": 46.227149, + "lon": 4.991831 + }, + { + "uic": "87747337", + "stop_area": "stop_area:OCE:SA:87747337", + "nom": "Voreppe", + "lat": 45.290415, + "lon": 5.632119 + }, + { + "uic": "87734723", + "stop_area": "stop_area:OCE:SA:87734723", + "nom": "Vorey", + "lat": 45.182925, + "lon": 3.91138 + }, + { + "uic": "87747188", + "stop_area": "stop_area:OCE:SA:87747188", + "nom": "Voué Mairie", + "lat": 48.4576, + "lon": 4.123027 + }, + { + "uic": "87279869", + "stop_area": "stop_area:OCE:SA:87279869", + "nom": "Vouécourt", + "lat": 48.267006, + "lon": 5.13587 + }, + { + "uic": "87713511", + "stop_area": "stop_area:OCE:SA:87713511", + "nom": "Vougeot - Gilly-lès-Cîteaux", + "lat": 47.175695, + "lon": 4.971514 + }, + { + "uic": "87184531", + "stop_area": "stop_area:OCE:SA:87184531", + "nom": "Voujeaucourt", + "lat": 47.478973, + "lon": 6.769967 + }, + { + "uic": "87677195", + "stop_area": "stop_area:OCE:SA:87677195", + "nom": "Voutenay-sur-Cure Place Mairie", + "lat": 47.561729, + "lon": 3.784688 + }, + { + "uic": "87478560", + "stop_area": "stop_area:OCE:SA:87478560", + "nom": "Voutré", + "lat": 48.134157, + "lon": -0.292219 + }, + { + "uic": "87545707", + "stop_area": "stop_area:OCE:SA:87545707", + "nom": "Voves", + "lat": 48.275005, + "lon": 1.622232 + }, + { + "uic": "87297150", + "stop_area": "stop_area:OCE:SA:87297150", + "nom": "Voyenne", + "lat": 49.726227, + "lon": 3.720575 + }, + { + "uic": "87765404", + "stop_area": "stop_area:OCE:SA:87765404", + "nom": "Voyenne Ecole", + "lat": 49.723842, + "lon": 3.730776 + }, + { + "uic": "87143024", + "stop_area": "stop_area:OCE:SA:87143024", + "nom": "Vraincourt", + "lat": 48.23994, + "lon": 5.126267 + }, + { + "uic": "87172221", + "stop_area": "stop_area:OCE:SA:87172221", + "nom": "Vrigne-Meuse", + "lat": 49.700966, + "lon": 4.843561 + }, + { + "uic": "87316208", + "stop_area": "stop_area:OCE:SA:87316208", + "nom": "Wacquemoulin", + "lat": 49.502918, + "lon": 2.611911 + }, + { + "uic": "87173302", + "stop_area": "stop_area:OCE:SA:87173302", + "nom": "Wadelincourt", + "lat": 49.684989, + "lon": 4.940896 + }, + { + "uic": "87182360", + "stop_area": "stop_area:OCE:SA:87182360", + "nom": "Walbach - La Forge", + "lat": 48.058153, + "lon": 7.233593 + }, + { + "uic": "87665455", + "stop_area": "stop_area:OCE:SA:87665455", + "nom": "Walbach La Forge Abri D 417", + "lat": 48.059876, + "lon": 7.233092 + }, + { + "uic": "87213405", + "stop_area": "stop_area:OCE:SA:87213405", + "nom": "Walbourg", + "lat": 48.886249, + "lon": 7.80923 + }, + { + "uic": "87660043", + "stop_area": "stop_area:OCE:SA:87660043", + "nom": "Walbourg Séminaire", + "lat": 48.886536, + "lon": 7.789394 + }, + { + "uic": "87181065", + "stop_area": "stop_area:OCE:SA:87181065", + "nom": "Walheim", + "lat": 47.641641, + "lon": 7.26332 + }, + { + "uic": "87343301", + "stop_area": "stop_area:OCE:SA:87343301", + "nom": "Wallers", + "lat": 50.3845, + "lon": 3.393922 + }, + { + "uic": "87191098", + "stop_area": "stop_area:OCE:SA:87191098", + "nom": "Walygator parc", + "lat": 49.22492, + "lon": 6.15946 + }, + { + "uic": "87345595", + "stop_area": "stop_area:OCE:SA:87345595", + "nom": "Wambaix", + "lat": 50.133856, + "lon": 3.311485 + }, + { + "uic": "87281436", + "stop_area": "stop_area:OCE:SA:87281436", + "nom": "Watten - Éperlecques", + "lat": 50.826125, + "lon": 2.207597 + }, + { + "uic": "87286526", + "stop_area": "stop_area:OCE:SA:87286526", + "nom": "Wattignies - Templemars", + "lat": 50.579309, + "lon": 3.051984 + }, + { + "uic": "87286419", + "stop_area": "stop_area:OCE:SA:87286419", + "nom": "Wavrin", + "lat": 50.574424, + "lon": 2.936654 + }, + { + "uic": "87112334", + "stop_area": "stop_area:OCE:SA:87112334", + "nom": "Wé", + "lat": 49.641872, + "lon": 5.152617 + }, + { + "uic": "87193607", + "stop_area": "stop_area:OCE:SA:87193607", + "nom": "Welferding Cimetière", + "lat": 49.112598, + "lon": 7.046198 + }, + { + "uic": "87477141", + "stop_area": "stop_area:OCE:SA:87477141", + "nom": "Welferding Rue de France", + "lat": 49.112777, + "lon": 7.047472 + }, + { + "uic": "87182618", + "stop_area": "stop_area:OCE:SA:87182618", + "nom": "Wesserling", + "lat": 47.889694, + "lon": 6.997559 + }, + { + "uic": "87213678", + "stop_area": "stop_area:OCE:SA:87213678", + "nom": "Weyersheim", + "lat": 48.717829, + "lon": 7.797082 + }, + { + "uic": "87659771", + "stop_area": "stop_area:OCE:SA:87659771", + "nom": "Weyersheim Rue République", + "lat": 48.717811, + "lon": 7.800244 + }, + { + "uic": "87182378", + "stop_area": "stop_area:OCE:SA:87182378", + "nom": "Wihr-au-Val - Soultzbach", + "lat": 48.046052, + "lon": 7.209535 + }, + { + "uic": "87665463", + "stop_area": "stop_area:OCE:SA:87665463", + "nom": "Wihr-au-Val - Soultzbach D417", + "lat": 48.04677, + "lon": 7.209204 + }, + { + "uic": "87182584", + "stop_area": "stop_area:OCE:SA:87182584", + "nom": "Willer-sur-Thur", + "lat": 47.842623, + "lon": 7.069281 + }, + { + "uic": "87659946", + "stop_area": "stop_area:OCE:SA:87659946", + "nom": "Willer-sur-Thur Mairie", + "lat": 47.843071, + "lon": 7.071404 + }, + { + "uic": "87212175", + "stop_area": "stop_area:OCE:SA:87212175", + "nom": "Wilwisheim", + "lat": 48.745877, + "lon": 7.507836 + }, + { + "uic": "87658740", + "stop_area": "stop_area:OCE:SA:87658740", + "nom": "Wilwisheim Haute-Montée", + "lat": 48.748004, + "lon": 7.506757 + }, + { + "uic": "87317123", + "stop_area": "stop_area:OCE:SA:87317123", + "nom": "Wimille - Wimereux", + "lat": 50.763642, + "lon": 1.613609 + }, + { + "uic": "87213769", + "stop_area": "stop_area:OCE:SA:87213769", + "nom": "Wimmenau", + "lat": 48.911245, + "lon": 7.427486 + }, + { + "uic": "87654467", + "stop_area": "stop_area:OCE:SA:87654467", + "nom": "Wimmenau Centre", + "lat": 48.910834, + "lon": 7.421714 + }, + { + "uic": "87642348", + "stop_area": "stop_area:OCE:SA:87642348", + "nom": "Wimmenau D.919 - Rue de la Gare", + "lat": 48.910025, + "lon": 7.420315 + }, + { + "uic": "80194324", + "stop_area": "stop_area:OCE:SA:80194324", + "nom": "Winden (Pfalz)", + "lat": 49.0954, + "lon": 8.1224 + }, + { + "uic": "87213744", + "stop_area": "stop_area:OCE:SA:87213744", + "nom": "Wingen-sur-Moder", + "lat": 48.920092, + "lon": 7.380538 + }, + { + "uic": "87642355", + "stop_area": "stop_area:OCE:SA:87642355", + "nom": "Wingen-sur-Moder Mairie", + "lat": 48.923275, + "lon": 7.371182 + }, + { + "uic": "87214676", + "stop_area": "stop_area:OCE:SA:87214676", + "nom": "Wisches", + "lat": 48.507649, + "lon": 7.270243 + }, + { + "uic": "87660688", + "stop_area": "stop_area:OCE:SA:87660688", + "nom": "Wisches Église", + "lat": 48.508635, + "lon": 7.268896 + }, + { + "uic": "87213470", + "stop_area": "stop_area:OCE:SA:87213470", + "nom": "Wissembourg", + "lat": 49.031931, + "lon": 7.95018 + }, + { + "uic": "87660381", + "stop_area": "stop_area:OCE:SA:87660381", + "nom": "Wissembourg Altenstadt", + "lat": 49.028254, + "lon": 7.963882 + }, + { + "uic": "87747881", + "stop_area": "stop_area:OCE:SA:87747881", + "nom": "Wissembourg Lycée Stanislas", + "lat": 49.035214, + "lon": 7.959664 + }, + { + "uic": "87703454", + "stop_area": "stop_area:OCE:SA:87703454", + "nom": "Wittring Pont", + "lat": 49.053325, + "lon": 7.150877 + }, + { + "uic": "87193771", + "stop_area": "stop_area:OCE:SA:87193771", + "nom": "Woelfling-lès-Sarreguemines", + "lat": 49.094747, + "lon": 7.190609 + }, + { + "uic": "80191031", + "stop_area": "stop_area:OCE:SA:80191031", + "nom": "Woerth (Rhein)", + "lat": 49.0457, + "lon": 8.2732 + }, + { + "uic": "87192088", + "stop_area": "stop_area:OCE:SA:87192088", + "nom": "Woippy", + "lat": 49.148797, + "lon": 6.155621 + }, + { + "uic": "87703488", + "stop_area": "stop_area:OCE:SA:87703488", + "nom": "Wolfskirchen Rue du Moulin", + "lat": 48.879298, + "lon": 7.071746 + }, + { + "uic": "80190686", + "stop_area": "stop_area:OCE:SA:80190686", + "nom": "Worms Hbf", + "lat": 49.6348, + "lon": 8.3566 + }, + { + "uic": "87144121", + "stop_area": "stop_area:OCE:SA:87144121", + "nom": "Xertigny", + "lat": 48.053024, + "lon": 6.376815 + }, + { + "uic": "87582536", + "stop_area": "stop_area:OCE:SA:87582536", + "nom": "Ychoux", + "lat": 44.32927, + "lon": -0.946335 + }, + { + "uic": "87473116", + "stop_area": "stop_area:OCE:SA:87473116", + "nom": "Yffiniac", + "lat": 48.470083, + "lon": -2.652447 + }, + { + "uic": "87671487", + "stop_area": "stop_area:OCE:SA:87671487", + "nom": "Ygos", + "lat": 43.978228, + "lon": -0.736143 + }, + { + "uic": "87645101", + "stop_area": "stop_area:OCE:SA:87645101", + "nom": "Ytrac", + "lat": 44.910652, + "lon": 2.364402 + }, + { + "uic": "87191304", + "stop_area": "stop_area:OCE:SA:87191304", + "nom": "Yutz Poitiers", + "lat": 49.361354, + "lon": 6.209395 + }, + { + "uic": "87476937", + "stop_area": "stop_area:OCE:SA:87476937", + "nom": "Yutz Saint-Vitus", + "lat": 49.35616, + "lon": 6.19203 + }, + { + "uic": "87413385", + "stop_area": "stop_area:OCE:SA:87413385", + "nom": "Yvetot", + "lat": 49.622115, + "lon": 0.750139 + }, + { + "uic": "87702068", + "stop_area": "stop_area:OCE:SA:87702068", + "nom": "Zellenberg Route du Vin", + "lat": 48.170526, + "lon": 7.31838 + }, + { + "uic": "87703447", + "stop_area": "stop_area:OCE:SA:87703447", + "nom": "Zetting Salle des Fêtes", + "lat": 49.079405, + "lon": 7.135454 + }, + { + "uic": "87182196", + "stop_area": "stop_area:OCE:SA:87182196", + "nom": "Zillisheim", + "lat": 47.694314, + "lon": 7.294144 + }, + { + "uic": "87654574", + "stop_area": "stop_area:OCE:SA:87654574", + "nom": "Zillisheim Auberge Mohn", + "lat": 47.693805, + "lon": 7.294209 + }, + { + "uic": "85010009", + "stop_area": "stop_area:OCE:SA:85010009", + "nom": "Zimeysa", + "lat": 46.221263, + "lon": 6.065739 + }, + { + "uic": "87472639", + "stop_area": "stop_area:OCE:SA:87472639", + "nom": "Zu Rhein", + "lat": 47.743497, + "lon": 7.317051 + }, + { + "uic": "85030007", + "stop_area": "stop_area:OCE:SA:85030007", + "nom": "Zuerich HB", + "lat": 47.37817, + "lon": 8.54019 + } +]; + +function cleanStationQuery(s) { + if (!s) return ''; + return String(s) + .toLowerCase() + .normalize('NFD') + .replace(/[\u0300-\u036f]/g, '') + .replace(/[-_/.,()']/g, ' ') + .replace(/\bst\b/g, 'saint') + .replace(/\bste\b/g, 'sainte') + .replace(/\s+/g, ' ') + .trim(); +} + +const STATION_ALIASES = { + 'valence tgv': '87763029', + 'valence': '87761007', + 'paris nord': '87271007', + 'paris gare du nord': '87271007', + 'paris est': '87113001', + 'paris gare de l est': '87113001', + 'paris lyon': '87686006', + 'paris gare de lyon': '87686006', + 'paris montparnasse': '87391003', + 'montparnasse': '87391003', + 'paris austerlitz': '87547000', + 'austerlitz': '87547000', + 'paris bercy': '87686667', + 'bercy': '87686667', + 'marseille': '87751008', + 'marseille saint charles': '87751008', + 'marseille st charles': '87751008', + 'lyon part dieu': '87723197', + 'lyon perrache': '87722025', + 'lyon saint exupery': '87762906', + 'lyon st exupery': '87762906', + 'toulouse': '87611004', + 'toulouse matabiau': '87611004', + 'bordeaux': '87581009', + 'bordeaux saint jean': '87581009', + 'strasbourg': '87212027', + 'nantes': '87481002', + 'rennes': '87471003', + 'lille flandres': '87286005', + 'lille europe': '87286021', + 'montpellier': '87773002', + 'montpellier saint roch': '87773002', + 'montpellier sud de france': '87688887', + 'nimes': '87775007', + 'nimes centre': '87775007', + 'nimes pont du gard': '87775106', + 'avignon tgv': '87318964', + 'avignon centre': '87765008', + 'aix tgv': '87319012', + 'aix en provence tgv': '87319012', + 'aix centre': '87754002', + 'besancon': '87713008', + 'besancon viotte': '87713008', + 'besancon tgv': '87300863', + 'besancon franche comte tgv': '87300863', + 'dijon': '87713040', + 'dijon ville': '87713040', + 'amiens': '87313874' +}; + +export function findGtfsGare(query) { + if (!query) return null; + const rawQ = String(query).trim(); + const qClean = cleanStationQuery(rawQ); + if (!qClean) return null; + + // 1. Recherche directe par code UIC exact + const byUic = GTFS_GARES.find(g => g.uic === rawQ || g.uic === qClean); + if (byUic) return byUic; + + // 2. Recherche par alias prioritaires + if (STATION_ALIASES[qClean]) { + const found = GTFS_GARES.find(g => g.uic === STATION_ALIASES[qClean]); + if (found) return found; + } + + // 3. Algorithme de scoring par tokens et similarité + const qTokens = qClean.split(' ').filter(Boolean); + const wantsTgv = qTokens.includes('tgv'); + + let bestMatch = null; + let bestScore = -1; + + for (const g of GTFS_GARES) { + const gClean = cleanStationQuery(g.nom); + const gTokens = gClean.split(' ').filter(Boolean); + const hasTgv = gTokens.includes('tgv'); + + let score = 0; + + if (gClean === qClean) { + score = 1000; + } else if (gClean.startsWith(qClean)) { + score = 500; + } else { + let allFound = true; + let tokenMatches = 0; + + for (const qt of qTokens) { + const found = gTokens.some(gt => gt === qt || gt.startsWith(qt)); + if (found) { + tokenMatches++; + } else { + allFound = false; + } + } + + if (allFound) { + score = 200 + tokenMatches * 20 - (gTokens.length - qTokens.length) * 5; + } else if (tokenMatches > 0) { + score = tokenMatches * 15 - (gTokens.length - tokenMatches) * 5; + } + } + + if (wantsTgv && hasTgv) score += 150; + if (wantsTgv && !hasTgv) score -= 200; + if (!wantsTgv && hasTgv) score -= 50; + + if (!wantsTgv && gClean.includes('ville') && qTokens.length === 1 && gTokens[0] === qTokens[0]) { + score += 100; + } + + if (score > bestScore && score > 50) { + bestScore = score; + bestMatch = g; + } + } + + return bestMatch; +} + +export function searchGtfsGares(query, limit = 20) { + if (!query || String(query).trim().length === 0) return []; + const qClean = cleanStationQuery(query); + if (!qClean) return []; + + const qTokens = qClean.split(' ').filter(Boolean); + + const scored = []; + for (const g of GTFS_GARES) { + const gClean = cleanStationQuery(g.nom); + const uicMatch = g.uic.includes(query.trim()); + + if (uicMatch) { + scored.push({ gare: g, score: 900 }); + continue; + } + + if (gClean === qClean) { + scored.push({ gare: g, score: 1000 }); + } else if (gClean.startsWith(qClean)) { + scored.push({ gare: g, score: 800 }); + } else { + const gTokens = gClean.split(' ').filter(Boolean); + let matchCount = 0; + for (const qt of qTokens) { + if (gTokens.some(gt => gt === qt || gt.startsWith(qt))) { + matchCount++; + } + } + if (matchCount === qTokens.length) { + scored.push({ gare: g, score: 500 + matchCount * 10 - gTokens.length }); + } else if (matchCount > 0) { + scored.push({ gare: g, score: matchCount * 20 - gTokens.length }); + } + } + } + + scored.sort((a, b) => b.score - a.score); + return scored.slice(0, limit).map(s => s.gare); +} diff --git a/src/services/railwayService.js b/src/services/railwayService.js new file mode 100644 index 0000000..8cf5d1f --- /dev/null +++ b/src/services/railwayService.js @@ -0,0 +1,71 @@ +// Service Façade unifié pour l'accès aux données ferroviaires (SNCF GTFS ou Supabase Ferrovia) +import { searchSncfGares, getSncfTimetable, getSncfPlatformsForGare } from './sncfApi'; +import { getSupabaseGares, getSupabasePlatformsForGare, getSupabaseHorairesAndPerturbations, getSupabaseGareDetails } from './supabaseApi'; + +/** + * Détecte la source de données à partir de l'URL courante ou d'un chemin + * @param {string} pathname + * @returns {'supabase' | 'sncf'} + */ +export function getSourceFromPath(pathname = '') { + if (typeof window !== 'undefined' && !pathname) { + pathname = window.location.pathname || ''; + } + return pathname.startsWith('/ferrovia') ? 'supabase' : 'sncf'; +} + +/** + * Recherche dynamique des gares selon la source active + * @param {string} query + * @param {'sncf' | 'supabase'} source + * @returns {Promise>} + */ +export async function searchGares(query, source = 'sncf') { + if (source === 'supabase') { + const { data } = await getSupabaseGares(); + const q = (query || '').toLowerCase().trim(); + if (!q) return data || []; + return (data || []).filter(g => (g.nom || '').toLowerCase().includes(q)); + } + + // Mode SNCF (GTFS) : recherche dynamique sans renvoi systématique si query est vide + return searchSncfGares(query); +} + +/** + * Récupère les voies / quais d'une gare selon la source + */ +export async function getPlatformsForStation(gareName, source = 'sncf') { + if (source === 'supabase') { + return getSupabasePlatformsForGare(gareName); + } + return getSncfPlatformsForGare(gareName); +} + +/** + * Récupère les horaires de départs ou arrivées selon la source + */ +export async function getTimetable({ gareName, mode = 'departs', quai = null, source = 'sncf' }) { + if (source === 'sncf') { + return getSncfTimetable({ gareName, mode, quai }); + } + + // Pour Supabase, renvoyer les tables brutes que les afficheurs traitent + const res = await getSupabaseHorairesAndPerturbations(); + return { + data: res.horaires, + perturbations: res.perturbations, + travaux: res.travaux, + error: res.error + }; +} + +/** + * Récupère les métadonnées d'une gare (type de gare, ID...) + */ +export async function getStationMeta(gareNameOrId, source = 'sncf') { + if (source === 'supabase') { + return getSupabaseGareDetails(gareNameOrId); + } + return { id: null, nom: gareNameOrId, type: 'ville' }; +} diff --git a/src/services/sncfApi.js b/src/services/sncfApi.js new file mode 100644 index 0000000..55dfe1d --- /dev/null +++ b/src/services/sncfApi.js @@ -0,0 +1,539 @@ +// Service d'accès aux données SNCF (GTFS / GTFS-RT / SIRI Lite / Open Data SNCF) +import { transit_realtime } from 'gtfs-realtime-bindings'; +import { findGtfsGare, searchGtfsGares } from './gtfsStations'; + +const SNCF_GTFS_RT_TRIP_UPDATES = 'https://proxy.transport.data.gouv.fr/resource/sncf-gtfs-rt-trip-updates'; +const SNCF_GTFS_RT_SERVICE_ALERTS = 'https://proxy.transport.data.gouv.fr/resource/sncf-gtfs-rt-service-alerts'; +const SNCF_SIRI_LITE_TIMETABLE = 'https://proxy.transport.data.gouv.fr/resource/sncf-siri-lite-estimated-timetable'; + +// Cache mémoire pour le flux GTFS-RT (TTL = 30s) +let gtfsRtCache = { + timestamp: 0, + updates: new Map(), + alerts: [] +}; + +// Cache mémoire pour le flux SIRI-Lite (TTL = 30s) +let siriLiteCache = { + timestamp: 0, + platforms: new Map(), + updates: new Map() +}; + +function cleanNum(n) { + if (!n) return ''; + const m = String(n).match(/\d+/); + return m ? m[0].replace(/^0+/, '') : String(n).trim(); +} + +/** + * Récupère et décode les flux temps réel SIRI Lite SNCF (Quais réels et horaires estimés) + */ +async function fetchSiriLiteData() { + const now = Date.now(); + if (now - siriLiteCache.timestamp < 30000 && siriLiteCache.platforms.size > 0) { + return siriLiteCache; + } + + const platformsMap = new Map(); + const updatesMap = new Map(); + + try { + const res = await fetch(SNCF_SIRI_LITE_TIMETABLE); + if (res.ok) { + const xml = await res.text(); + const journeys = xml.split(''); + + for (let i = 1; i < journeys.length; i++) { + const j = journeys[i]; + const trainNumMatch = j.match(/([^<]+)<\/TrainNumberRef>/); + const rawTrainNum = trainNumMatch ? trainNumMatch[1].trim() : ''; + const trainNum = cleanNum(rawTrainNum); + + const journeyRefMatch = j.match(/([^<]+)<\/DatedVehicleJourneyRef>/) || j.match(/([^<]+)<\/VehicleJourneyRef>/); + const journeyRef = journeyRefMatch ? journeyRefMatch[1].trim() : ''; + + const isCanceled = j.includes('true'); + + // Extraire les arrêts et quais (RecordedCall et EstimatedCall) + const callMatches = j.match(/<(RecordedCall|EstimatedCall)>[\s\S]*?<\/\1>/g) || []; + for (const call of callMatches) { + const stopRefMatch = call.match(/[^:]*::(\d+)<\/StopPointRef>/) || call.match(/([^<]+)<\/StopPointRef>/); + const uicMatch = stopRefMatch ? (stopRefMatch[1].match(/\d{7,8}/) || [stopRefMatch[1]]) : null; + const uic = uicMatch ? uicMatch[0] : ''; + + const stopNameMatch = call.match(/([^<]+)<\/StopPointName>/); + const stopNameClean = stopNameMatch ? formatStationName(stopNameMatch[1]).toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '').replace(/[-_/.,()'&]/g, ' ').replace(/\s+/g, ' ').trim() : ''; + + const depPlatMatch = call.match(/([^<]+)<\/DeparturePlatformName>/); + const arrPlatMatch = call.match(/([^<]+)<\/ArrivalPlatformName>/); + const platform = (depPlatMatch ? depPlatMatch[1] : (arrPlatMatch ? arrPlatMatch[1] : '')).trim(); + + const expDepMatch = call.match(/([^<]+)<\/ExpectedDepartureTime>/); + const aimDepMatch = call.match(/([^<]+)<\/AimedDepartureTime>/); + + let delayMin = 0; + if (expDepMatch && aimDepMatch) { + const expD = new Date(expDepMatch[1]).getTime(); + const aimD = new Date(aimDepMatch[1]).getTime(); + if (!isNaN(expD) && !isNaN(aimD)) { + delayMin = Math.max(0, Math.round((expD - aimD) / 60000)); + } + } + + if (platform) { + if (uic) { + if (trainNum) { + platformsMap.set(`${trainNum}_${uic}`, platform); + platformsMap.set(`${uic}_${trainNum}`, platform); + } + if (rawTrainNum) { + platformsMap.set(`${rawTrainNum}_${uic}`, platform); + platformsMap.set(`${uic}_${rawTrainNum}`, platform); + } + if (journeyRef) { + platformsMap.set(`${journeyRef}_${uic}`, platform); + platformsMap.set(`${uic}_${journeyRef}`, platform); + } + } + if (stopNameClean) { + if (trainNum) platformsMap.set(`${trainNum}_${stopNameClean}`, platform); + if (rawTrainNum) platformsMap.set(`${rawTrainNum}_${stopNameClean}`, platform); + if (journeyRef) platformsMap.set(`${journeyRef}_${stopNameClean}`, platform); + } + } + + if (trainNum || rawTrainNum || journeyRef) { + const info = { + platform: platform, + delayMinutes: delayMin, + isCanceled: isCanceled + }; + if (trainNum) updatesMap.set(trainNum, info); + if (rawTrainNum) updatesMap.set(rawTrainNum, info); + if (journeyRef) updatesMap.set(journeyRef, info); + } + } + } + } + + siriLiteCache = { + timestamp: now, + platforms: platformsMap, + updates: updatesMap + }; + } catch (err) { + console.warn('[sncfApi] Notice: SIRI-Lite refresh error:', err); + } + + return siriLiteCache; +} + +/** + * Récupère et décode les mises à jour temps réel GTFS-RT SNCF + */ +async function fetchGtfsRealtimeData() { + const now = Date.now(); + if (now - gtfsRtCache.timestamp < 30000 && gtfsRtCache.updates.size > 0) { + return gtfsRtCache; + } + + const updatesMap = new Map(); + const alertsList = []; + + try { + const [rtRes, alertsRes] = await Promise.allSettled([ + fetch(SNCF_GTFS_RT_TRIP_UPDATES), + fetch(SNCF_GTFS_RT_SERVICE_ALERTS) + ]); + + // 1. Décodage Trip Updates (Retards, Suppressions) + if (rtRes.status === 'fulfilled' && rtRes.value.ok) { + const buffer = await rtRes.value.arrayBuffer(); + const feed = transit_realtime.FeedMessage.decode(new Uint8Array(buffer)); + + (feed.entity || []).forEach(e => { + if (e.tripUpdate && e.tripUpdate.trip) { + const trip = e.tripUpdate.trip; + const tid = trip.tripId || ''; + const trainNoMatch = tid.match(/(?:OCESN)?(\d+)/); + const trainNo = trainNoMatch ? trainNoMatch[1] : ''; + + let maxDelaySec = 0; + const stopUpdates = e.tripUpdate.stopTimeUpdate || []; + stopUpdates.forEach(stu => { + if (stu.departure && typeof stu.departure.delay === 'number') { + maxDelaySec = Math.max(maxDelaySec, stu.departure.delay); + } + if (stu.arrival && typeof stu.arrival.delay === 'number') { + maxDelaySec = Math.max(maxDelaySec, stu.arrival.delay); + } + }); + + const isCanceled = trip.scheduleRelationship === transit_realtime.TripDescriptor.ScheduleRelationship.CANCELED || + trip.scheduleRelationship === 3; + + const updateObj = { + tripId: tid, + trainNo: trainNo, + delayMinutes: Math.max(0, Math.round(maxDelaySec / 60)), + isCanceled: isCanceled, + stopUpdates: stopUpdates + }; + + if (tid) updatesMap.set(tid, updateObj); + if (trainNo) updatesMap.set(trainNo, updateObj); + } + }); + } + + // 2. Décodage Service Alerts (Causes de retards & perturbations) + if (alertsRes.status === 'fulfilled' && alertsRes.value.ok) { + const buffer = await alertsRes.value.arrayBuffer(); + const alertFeed = transit_realtime.FeedMessage.decode(new Uint8Array(buffer)); + + (alertFeed.entity || []).forEach(e => { + if (e.alert) { + const a = e.alert; + const text = (a.headerText && a.headerText.translation && a.headerText.translation[0] && a.headerText.translation[0].text) || + (a.descriptionText && a.descriptionText.translation && a.descriptionText.translation[0] && a.descriptionText.translation[0].text) || ''; + if (text) { + alertsList.push({ + text: text, + cause: a.cause, + effect: a.effect + }); + } + } + }); + } + + gtfsRtCache = { + timestamp: now, + updates: updatesMap, + alerts: alertsList + }; + } catch (err) { + console.warn('[sncfApi] Notice: GTFS-RT stream refresh error:', err); + } + + return gtfsRtCache; +} + +/** + * Formatage d'une heure HH:mm sans secondes avec normalisation modulo 24h + */ +function formatTimeHM(v) { + if (v == null) return ''; + const tryDate = new Date(v); + if (!isNaN(tryDate.getTime())) { + const hh = String(tryDate.getHours() % 24).padStart(2, '0'); + const mm = String(tryDate.getMinutes()).padStart(2, '0'); + return `${hh}:${mm}`; + } + if (typeof v === 'string') { + const m = v.match(/(\d{1,2}):(\d{2})/); + if (m) { + const h = parseInt(m[1], 10) % 24; + return `${String(h).padStart(2, '0')}:${m[2]}`; + } + const m2 = v.match(/T(\d{2}):(\d{2})/); + if (m2) { + const h = parseInt(m2[1], 10) % 24; + return `${String(h).padStart(2, '0')}:${m2[2]}`; + } + const m3 = v.match(/(\d{1,2})h(\d{2})/i); + if (m3) { + const h = parseInt(m3[1], 10) % 24; + return `${String(h).padStart(2, '0')}:${m3[2]}`; + } + return v.slice(0, 5); + } + return String(v).slice(0, 5); +} + +/** + * Calcul des minutes depuis minuit (avec normalisation modulo 24h) + */ +function parseTimeHM(v) { + if (!v) return null; + if (typeof v === 'number') return v % 1440; + const m = String(v).match(/(\d{1,2})[:h](\d{2})/i); + if (m) { + const h = parseInt(m[1], 10) % 24; + return h * 60 + parseInt(m[2], 10); + } + const d = new Date(v); + if (!isNaN(d.getTime())) return d.getHours() * 60 + d.getMinutes(); + return null; +} + +/** + * Nettoyage et formatage esthétique des noms de gares + */ +function formatStationName(raw) { + if (!raw) return ''; + let s = String(raw).trim(); + return s + .toLowerCase() + .replace(/\bst\b/g, 'Saint') + .replace(/\bste\b/g, 'Sainte') + .split(' ') + .map(w => w.charAt(0).toUpperCase() + w.slice(1)) + .join(' ') + .replace(/ Saint /g, ' Saint-') + .replace(/ Sainte /g, ' Sainte-') + .replace(/-tgv\b/i, ' TGV') + .replace(/\bTgv\b/g, 'TGV'); +} + +/** + * Récupère et enrichit les horaires théoriques GTFS avec les retards temps réel GTFS-RT et quais SIRI Lite + */ +async function fetchGtfsStationTimetable(uic, mode = 'departs') { + if (!uic) return null; + + try { + const [jsonRes, rtData, siriData] = await Promise.all([ + fetch(`/data/stations/${uic}.json`), + fetchGtfsRealtimeData(), + fetchSiriLiteData() + ]); + + if (!jsonRes.ok) return null; + + const data = await jsonRes.json(); + const rawList = mode === 'arrivees' ? data.arrivees : data.departs; + if (!Array.isArray(rawList) || rawList.length === 0) return null; + + const now = new Date(); + const currentHM = now.getHours() * 60 + now.getMinutes(); + const currentDay = now.getDay(); // 0 = Dimanche, 1 = Lundi, ..., 6 = Samedi + const currentYYYYMMDD = `${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}`; + + // Filtrage complet de circulation GTFS + const circulatingList = rawList.filter(t => { + // 1. Si la date courante figure dans les dates explicites + if (Array.isArray(t.dates) && t.dates.length > 0 && t.dates.includes(currentYYYYMMDD)) { + return true; + } + // 2. Si le jour de la semaine est actif dans la période de validité + if (Array.isArray(t.days) && t.days.length > 0 && t.days.includes(currentDay)) { + if ((!t.start || currentYYYYMMDD >= t.start) && (!t.end || currentYYYYMMDD <= t.end)) { + return true; + } + } + // 3. Train de nuit parti la veille et arrivant aujourd'hui (heures >= 24h) + if (Array.isArray(t.days) && t.days.length > 0) { + const prevDay = (currentDay + 6) % 7; + const rawTime = mode === 'arrivees' ? (t.arr || t.dep) : (t.dep || t.arr); + const m = String(rawTime).match(/^(\d{1,2})/); + const rawHour = m ? parseInt(m[1], 10) : 0; + if (rawHour >= 24 && t.days.includes(prevDay)) { + return true; + } + } + // 4. Si aucune règle n'est renseignée + if (!t.dates?.length && !t.days?.length) return true; + return false; + }); + + if (circulatingList.length === 0) { + return []; + } + + // Helper de résolution ultra-robuste de quai par couple (train, gare) + const lookupPlatform = (trainNum, tripId, stationUic, stationName) => { + const cNum = cleanNum(trainNum); + const cName = stationName ? formatStationName(stationName).toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '').replace(/[-_/.,()'&]/g, ' ').replace(/\s+/g, ' ').trim() : ''; + + return ( + (cNum && stationUic && siriData.platforms.get(`${cNum}_${stationUic}`)) || + (trainNum && stationUic && siriData.platforms.get(`${trainNum}_${stationUic}`)) || + (stationUic && cNum && siriData.platforms.get(`${stationUic}_${cNum}`)) || + (stationUic && trainNum && siriData.platforms.get(`${stationUic}_${trainNum}`)) || + (cNum && cName && siriData.platforms.get(`${cNum}_${cName}`)) || + (trainNum && cName && siriData.platforms.get(`${trainNum}_${cName}`)) || + (tripId && stationUic && siriData.platforms.get(`${tripId}_${stationUic}`)) || + (stationUic && tripId && siriData.platforms.get(`${stationUic}_${tripId}`)) || + (tripId && cName && siriData.platforms.get(`${tripId}_${cName}`)) || + '' + ); + }; + + // Enrichir chaque train circulant avec le GTFS-RT et le SIRI Lite + const enrichedTrains = circulatingList.map((t, idx) => { + const rawTime = mode === 'arrivees' ? (t.arr || t.dep) : (t.dep || t.arr); + const timeHM = parseTimeHM(rawTime) || 0; + + // Recherche de mise à jour GTFS-RT ou SIRI-Lite (par trip_id ou numéro de train) + const rt = rtData.updates.get(t.trip_id) || (t.num ? rtData.updates.get(t.num) : null) || (cleanNum(t.num) ? rtData.updates.get(cleanNum(t.num)) : null); + const siri = siriData.updates.get(t.num) || (cleanNum(t.num) ? siriData.updates.get(cleanNum(t.num)) : null) || (t.trip_id ? siriData.updates.get(t.trip_id) : null); + + const isCanceled = (rt && rt.isCanceled) || (siri && siri.isCanceled) || false; + const delayMinutes = (rt && rt.delayMinutes > 0) ? rt.delayMinutes : (siri && siri.delayMinutes > 0 ? siri.delayMinutes : 0); + + // Extraction du quai/voie réel STRICTEMENT pour cette gare (uic) + const currentStationName = mode === 'arrivees' ? t.dest : t.orig; + let realVoie = lookupPlatform(t.num, t.trip_id, uic, currentStationName); + if (!realVoie && t.quai && typeof t.quai === 'string') { + realVoie = t.quai.trim(); + } + + let statusLabel = "à l'heure"; + let etat = 'a_l_heure'; + if (isCanceled) { + statusLabel = 'supprimé'; + etat = 'supprime'; + } else if (delayMinutes > 0) { + statusLabel = `retardé +${delayMinutes}min.`; + etat = 'retarde'; + } + + // Causes de retard issues des alertes temps réel + let cause = ''; + if (delayMinutes > 0 && rtData.alerts.length > 0) { + cause = rtData.alerts[idx % rtData.alerts.length].text; + } + + // Formatage des arrêts intermédiaires avec leurs voies respectives (propres à chaque gare) + const formattedStops = (t.stops || []).map((st) => { + const stopUic = st.uic || ''; + const stopVoie = lookupPlatform(t.num, t.trip_id, stopUic, st.nom); + + return { + uic: stopUic, + nom: formatStationName(st.nom), + heure: formatTimeHM(st.heure), + quai: stopVoie, + quai_reel: stopVoie, + voie: stopVoie, + platform: stopVoie + }; + }); + + return { + id: `gtfs-${t.num || idx}-${rawTime}-${idx}`, + trip_id: t.trip_id, + numero_train: t.num || String(1000 + idx), + type_train: t.type || 'TER', + op: t.type || 'TER', + code_transilien: '', + gare_depart_nom: formatStationName(t.orig), + gare_arrivee_nom: formatStationName(t.dest), + heure_depart: t.dep || t.arr, + heure_arrivee: t.arr || t.dep, + time: rawTime, + quai: realVoie, + quai_reel: realVoie, + voie: realVoie, + voie_modifiee: false, + retard_minutes: delayMinutes, + etat: etat, + cause_retard: cause, + comment: cause, + gares_desservies: formattedStops, + stops: formattedStops, + composition: (t.type || '').includes('TGV') ? 'Rame 1 (Voitures 1 à 8) + Rame 2 (Voitures 11 à 18)' : 'Train standard', + is_substitution: (t.type || '').includes('AUTOCAR'), + _displayTime: formatTimeHM(rawTime), + _displayPlatform: realVoie, + _depHM: timeHM, + _arrHM: timeHM, + _rawTime: rawTime, + _status: { + label: statusLabel, + detail: '', + delayMinutes: delayMinutes || null, + causeDetails: cause || null + } + }; + }); + + // Tri chronologique : afficher les trains circulant à partir de l'heure courante + enrichedTrains.sort((a, b) => { + const aDiff = ((a._depHM || 0) - currentHM + 1440) % 1440; + const bDiff = ((b._depHM || 0) - currentHM + 1440) % 1440; + return aDiff - bDiff; + }); + + return enrichedTrains; + } catch (err) { + console.warn('[sncfApi] Erreur de chargement GTFS station:', err); + return null; + } +} + +/** + * Récupère les horaires de départs ou d'arrivées pour une gare SNCF (GTFS théorique + GTFS-RT + SIRI Lite) + */ +export async function getSncfTimetable({ gareName, mode = 'departs', quai = null }) { + if (!gareName) { + return { data: [], error: 'Veuillez spécifier une gare.' }; + } + + const gare = findGtfsGare(gareName); + const uic = gare ? gare.uic : null; + + // 1. Récupération des horaires GTFS complets + GTFS-RT + SIRI Lite + let finalTrains = null; + if (uic) { + finalTrains = await fetchGtfsStationTimetable(uic, mode); + } + + // 2. Si non trouvé ou gare sans fichier, chercher avec le nom + if (!finalTrains || finalTrains.length === 0) { + const rawGare = gare ? gare.nom : gareName; + const match = findGtfsGare(rawGare); + if (match && match.uic && match.uic !== uic) { + finalTrains = await fetchGtfsStationTimetable(match.uic, mode); + } + } + + if (!finalTrains) { + finalTrains = []; + } + + // 3. Filtrage par quai si demandé + if (quai) { + const normQuai = String(quai).trim().toLowerCase(); + const matching = finalTrains.filter(t => String(t.quai || t.voie).trim().toLowerCase() === normQuai); + if (matching.length > 0) { + finalTrains = matching; + } else if (finalTrains.length > 0) { + finalTrains[0].quai = quai; + finalTrains[0].voie = quai; + finalTrains[0].quai_reel = quai; + finalTrains[0]._displayPlatform = quai; + finalTrains = [finalTrains[0]]; + } + } + + return { data: finalTrains, error: null }; +} + +/** + * Récupère la liste des voies/quais réels pour une gare SNCF + */ +export async function getSncfPlatformsForGare(gareName) { + const timetable = await getSncfTimetable({ gareName, mode: 'departs' }); + const platformSet = new Set(); + + (timetable.data || []).forEach(train => { + const p = String(train.quai || train.voie || '').trim(); + if (p) platformSet.add(p); + }); + + return Array.from(platformSet).sort((a, b) => a.localeCompare(b, undefined, { numeric: true, sensitivity: 'base' })); +} + +/** + * Recherche dynamique de gares SNCF + */ +export async function searchSncfGares(query) { + return searchGtfsGares(query); +} + + + + diff --git a/src/services/supabaseApi.js b/src/services/supabaseApi.js new file mode 100644 index 0000000..f178e4c --- /dev/null +++ b/src/services/supabaseApi.js @@ -0,0 +1,116 @@ +// Service d'accès aux données de la Base de Données Supabase (Univers Ferrovia) +import supabase from '../lib/supabase'; +import { fetchAllRows } from '../lib/fetchAllRows'; + +/** + * Récupère la liste de toutes les gares enregistrées dans Supabase + */ +export async function getSupabaseGares() { + if (!supabase) { + return { data: [], error: 'Supabase non configuré' }; + } + try { + const { data, error } = await supabase.from('gares').select('id, nom, type'); + if (error) throw error; + return { data: data || [], error: null }; + } catch (err) { + console.error('Erreur getSupabaseGares:', err); + return { data: [], error: err.message || String(err) }; + } +} + +/** + * Récupère les données d'une gare Supabase par son nom ou ID + */ +export async function getSupabaseGareDetails(nameOrId) { + if (!supabase || !nameOrId) return null; + try { + if (typeof nameOrId === 'number' || /^\d+$/.test(String(nameOrId))) { + const { data } = await supabase.from('gares').select('*').eq('id', nameOrId).limit(1); + if (data && data.length) return data[0]; + } + const flexNeedle = `%${String(nameOrId).replace(/[-_+\s]+/g, '%')}%`; + const { data } = await supabase.from('gares').select('*').ilike('nom', flexNeedle); + if (data && data.length) return data[0]; + return null; + } catch (e) { + return null; + } +} + +/** + * Récupère tous les horaires, perturbations et travaux depuis Supabase + */ +export async function getSupabaseHorairesAndPerturbations() { + if (!supabase) { + return { horaires: [], perturbations: [], travaux: [], error: 'Supabase non configuré' }; + } + try { + const [{ data: horairesData, error: hError }, { data: perturbData, error: pError }, { data: travauxData, error: tError }] = await Promise.all([ + fetchAllRows(supabase.from('horaires').select('*')), + supabase.from('perturbations').select('*'), + supabase.from('travaux').select('*') + ]); + + if (hError || pError || tError) { + throw hError || pError || tError; + } + + return { + horaires: horairesData || [], + perturbations: perturbData || [], + travaux: travauxData || [], + error: null + }; + } catch (err) { + console.error('Erreur getSupabaseHorairesAndPerturbations:', err); + return { horaires: [], perturbations: [], travaux: [], error: err.message || String(err) }; + } +} + +/** + * Récupère la liste des voies/quais configurés pour une gare dans Supabase + */ +export async function getSupabasePlatformsForGare(gareName) { + if (!supabase || !gareName) return []; + try { + const { data, error } = await supabase.from('horaires').select('quai_reel, voie, quai, gare_depart_nom, gare_arrivee_nom, gares_desservies'); + if (error) throw error; + + const platformSet = new Set(); + const normGare = String(gareName).normalize('NFD').replace(/\p{M}/gu, '').toLowerCase().trim(); + + (data || []).forEach(h => { + let stopsList = []; + if (Array.isArray(h.gares_desservies)) { + stopsList = h.gares_desservies; + } else if (typeof h.gares_desservies === 'string') { + try { stopsList = JSON.parse(h.gares_desservies); } catch (e) {} + } + if (!Array.isArray(stopsList)) stopsList = []; + + let foundStop = stopsList.find(s => { + const name = (s.gare_nom || s.nom || s.name || '').toString().normalize('NFD').replace(/\p{M}/gu, '').toLowerCase().trim(); + return name === normGare || name.includes(normGare) || normGare.includes(name); + }); + + if (foundStop) { + const platform = (foundStop.quai_reel || foundStop.quai || foundStop.platform || foundStop.quay || '').toString().trim(); + if (platform) platformSet.add(platform); + } else { + const origin = (h.gare_depart_nom || '').toString().normalize('NFD').replace(/\p{M}/gu, '').toLowerCase().trim(); + const dest = (h.gare_arrivee_nom || '').toString().normalize('NFD').replace(/\p{M}/gu, '').toLowerCase().trim(); + if (origin === normGare || origin.includes(normGare) || normGare.includes(origin) || + dest === normGare || dest.includes(normGare) || normGare.includes(dest)) { + const platform = (h.quai_reel || h.voie || h.quai || '').toString().trim(); + if (platform) platformSet.add(platform); + } + } + }); + + return Array.from(platformSet).sort((a, b) => a.localeCompare(b, undefined, { numeric: true, sensitivity: 'base' })); + } catch (err) { + console.error('Erreur getSupabasePlatformsForGare:', err); + return []; + } +}