User:Mga geo/Transports publics/septembre 2017

From OpenStreetMap Wiki
Jump to: navigation, search

Reprise des hostilités avec les nouvelles données de Kéolis

Nettoyage des arrêts

  • suppression des arrêts en double sous JOSM
  • ajout des nouveaux arrêts
  • repositionnement d'arrêts

Nettoyage des lignes

  • arrêts

vue GTFS

Les itinéraires : la grande nouveauté depuis juillet 2017 !!!

shapes.txt

shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence,shape_dist_traveled
"0001-A-2126-1024","48.13471","-1.621787","1",""
"0001-A-2126-1024","48.133961","-1.624158","10",""
"0001-A-2126-1024","48.1267","-1.641395","100",""
"0001-A-2126-1024","48.126678","-1.641398","101",""
"0001-A-2126-1024","48.126656","-1.641391","102",""

Le shape_id est constitué de :

  • la route
  • le sens : A aller B retour
  • le node_id de départ
  • le node_id de via éventuellement
  • le node_id d'arrivée

La référence à l'itinéraire était : 0004-01-B

Transformer ce format "GTFS" en format SIG est faisable en R :

  library(sp)
  library(rgdal)
  df <- gtfs_shapes()
  coordinates(df) = ~ shape_pt_lon + shape_pt_lat
  ids <- unique(df$shape_id)
  liste <- list()
  for ( i in 1:length(ids) ) {
    id <- ids[i]
    print(sprintf("shapes() i : %d, id : %s", i, id))
    df1 <- df[df$shape_id == id,]
    df1 <- df1[with(df1, order(df1$shape_pt_sequence)), ]
#    print(head(df1))
#    plot(df1)
    l <- Lines(Line(coordinates(df1)), ID=id)
    liste[[i]] <- l
  }
  sl <- SpatialLines(liste)
  spdf <- SpatialLinesDataFrame(sl, data.frame(name=ids), match.ID = FALSE)
  proj4string(spdf) <- CRS("+init=epsg:4326")
  plot(spdf)

stop_times.txt

trip_id,arrival_time,departure_time,stop_id,stop_sequence,stop_headsign,pickup_type,drop_off_type,shape_dist_traveled
"1","05:29:00","05:29:00","5001","1","","0","0",""
"1","05:30:00","05:30:00","5002","2","","0","0",""
"1","05:31:30","05:31:30","5003","3","","0","0",""
"1","05:32:41","05:32:41","5004","4","","0","0",""
  • trip_id

trips.txt

route_id,service_id,trip_id,trip_headsign,trip_short_name,direction_id,block_id,shape_id,wheelchair_accessible,bikes_allowed
"1001","6","1","La Poterie","","0","1446193","1001-A-5001-5015","1",""
"1001","6","10","J.F. Kennedy","","1","1446189","1001-B-5030-5001","1",""
"1001","6","100","J.F. Kennedy","","1","1446195","1001-B-5030-5001","1",""
"1001","3","1000","J.F. Kennedy","","1","1446259","1001-B-5030-5001","1",""
  • route_id
  • trip_id
  • shape_id

vue osm

les lignes

Une route dessert un ensemble d'arrêts en suivant un itinéraire ([type=route][route=bus]). L'ensemble des routes avec globalement les mêmes itinéraire et arrêts constitue une ligne ([type=route_master][route=bus]) :

  • non desserte d'une partie des stations
  • détour (marché ...)

les itinéraires

L'itinéraire est une liste ordonnée de "ways".

Les extrémités (nodes) doivent correspondre, sauf :

  • rond-point (roundabout)
  • mini rond-point, un seul node (mini_roundabout)

Dans le GTFS, seule la partie du rond-point utilisée est tracée.

Nettoyage des FIXME de Philippe V.

  • très nombreuses routes sans arrêt ni parcours