Optimisation des vélos en libre service

Preview:

Citation preview

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...

Recommended