optimisation des vélos en libre service
TRANSCRIPT
HUG Grand Ouest #1, Rennes
Optimisation des vélosen libre-service
30 septembre 2015Franck GallosAdrien Pavie
2
Présentation Import Traitement Résultat
Vélo libre-service
v v
3
Présentation Import Traitement Résultat
Des limites
Rééquilibrage estimé par expérience
Différence régulière offre/demande
Difficulté à prévoir la maintenance
~≠±
4
Présentation Import Traitement Résultat
Données variées
Météo
Vélos & GPS
Réseau de vélo existant
OpenStreetMap
v
5
Présentation Import Traitement Résultat
Objectif
vDonnées DataSet
Point de départpour le data scientist
6
Présentation Import Traitement Résultat
Chaîne de traitement
Données
Hadoop/Hive
DataSet
Import
Traitement
7
Présentation Import Traitement Résultat
Types de données
Traditionnelles Géographiques
8
Présentation Import Traitement Résultat
Import des données
● CSV : OK
● Météo : OK
● OpenStreetMap : pas OK
Jusqu'à présent...
9
Présentation Import Traitement Résultat
Hive & MétéoSYNOP
06458 41/58 73315 10070 20047 40122 57012 76080 77521 333 86533 84365 85385=
10
Présentation Import Traitement Résultat
<osm version='0.6'>
<node id='1091' visible='true' lat='48.13' lon='1.65' />
<node id='1089' visible='true' lat='48.12' lon='1.66' />
<node id='1088' visible='true' lat='48.11' lon='1.67' />
<way id='1090' visible='true'>
<nd ref='1088' />
<nd ref='1089' />
<nd ref='1091' />
<nd ref='1088' />
<tag k='amenity' v='bench' />
</way>
</osm>
Hive & OpenStreetMap
Chemin
Noeuds
Dépendance&
Structuredifférente
Nécessite untraitement particulier
11
Présentation Import Traitement Résultat
OSM2Hive
● Fonction d'import pour Hive
● Sous licence Apache 2.0
ADD JAR /path/to/osm2hive.jar;CREATE TEMPORARY FUNCTION OSMImportNodes
AS 'info.pavie.osm2hive.controller.HiveNodeImporter';
CREATE TABLE osmdata(osm_content STRING) STORED AS TEXTFILE;LOAD DATA LOCAL INPATH '/path/to/data.osm'
OVERWRITE INTO TABLE osmdata;
CREATE TABLE osmnodesAS SELECT OSMImportNodes(osm_content) FROM osmdata;
Ajout Fonction
Fichier OSM
Import noeuds
12
Présentation Import Traitement Résultat
Traitement
Dataset
=
Données fusionnées
Requêtes de traitement
13
Présentation Import Traitement Résultat
Requête #1● Différence du nombre de vélos entre
deux relevés
CREATE TABLE velo_usage_rownb ASSELECT id, date, slots_avail, bike_avail,ROW_NUMBER() OVER
(PARTITION BY id ORDER BY date ASC) as rownbFROM velo_usage;
SELECT a.id, a.date, (a.bike_avail - b.bike_avail) AS diff_bikeFROM velo_usage_rownb a, velo_usage_rownb bWHERE a.id == b.idAND a.rownb == b.rownb + 1;
Numérotationdes relevés
Diff.Vélos
14
Présentation Import Traitement Résultat
ESRI for Hadoop
Fonctions géospatiales
pour Hive
15
Présentation Import Traitement Résultat
Requête #2
● Longueur des pistes cyclables autour des stations de vélos
Reconstructiongéométrie OSMpistes cyclables
Zone tamponautour des
stations de vélos
Pistes danszones tampons
Intersection
Longueur de pistesautour de chaque
station de vélo
Agrégation+ longueur
Requête de plus de 700 caractères
16
Présentation Import Traitement Résultat
Dataset obtenu
17
Présentation Import Traitement Résultat
Visualisation des relevés
18
Présentation Import Traitement Résultat
19
Présentation Import Traitement Résultat
20
Présentation Import Traitement Résultat
21
Conclusion
Innovation pour SmartCities
Données variées
= meilleure prévision
À venir : prévision météo
& véhicules connectés
λ-architecture
22
Merci pour votre attention !
To be continued...