Migrar data del Transporte Publico de CDMX

Editores estoy en un conflicto en cuanto a las etiquetas que estoy tratando de subir sobre transporte publico de la CDMX en este link están los datos

http://datos.labcd.mx/dataset/paradas-de-transporte-publico

Al abrir el diccionario de datos cambio el encabezado de stop_name por name que es el nombre de la parada, ahora el source = datos.labcd.mx que es mi fuente.

Siguiendo la wiki de tag http://wiki.openstreetmap.org/wiki/ES:Tag:public_transport%3Dplatform
donde agregaría estas otras etiquetas public_transport=platform pero aprovechando mas información que trae esta base de datos veo que hay horarios y hacia donde van las lineas es ahí donde tengo el conflicto para poner el horario y la ruta de donde inicia y donde llega, Marco Antonio me comento que en esta liga http://wiki.openstreetmap.org/wiki/Import/Catalogue/Queensland_GTFS_Data se puede migrar la data. me comenta que falta mucho para hacer algo útil. S. Coast hizo algo por ahí.

Espero ideas y me puedan apoyar gracias.

Creo que está bueno el ejemplo de Queensland, que compartió Marco Antonio. Yo me atrevería a decir a que conviene dividir la conversación, primero sobre el import de las paradas con los tags esenciales, y luego sobre etiquetado adicional como los horarios del servicio y rutas. ¿Qué opinas?

El dataset tiene encoding que no es UTF-8; aparenta ser 8859-1 pero como que no. Les voy a echar un correo a los del Lab para ver si lo pueden corregir.

Hice algo de análisis inicial. Creo que podemos iniciar una primera exploración usando GO-SYNC operador por operador (https://code.google.com/p/gtfs-osm-sync/wiki/GettingStarted):

Acá el cálculo de operadores en el archivo.


Primero revisé qué tan grande era el archivo


➜  wc -l st25.02.2015.csv
   64985 st25.02.2015.csv

Traté de parsearlo como CSV para empezar a filtrar las entradas por operador (p. ej. Metrobús) para probar con un subconjunto de los 64,985, y falló por temas de no ser UTF-8


➜  csvlook st25.02.2015.csv
Your file is not "utf-8" encoded. Please specify the correct encoding with the -e flag. Use the -v flag to see the complete error.

Cambié el encoding a UTF-8 para procesarlo y ver la cantidad de operadores que están en el archivo.


➜  iconv -f LATIN1 -t UTF-8 st25.02.2015.csv > gtfs-cdmx-20150225.csv
➜  cut -d, -f5 gtfs-cdmx-20150225.csv | uniq -c
   1 organismo
4082 Metrobús
1910 "Sistema de Transporte Colectivo
 561 "Nochebús
56075 Red de Transporte de Pasajeros
2174 Sistema de Transportes Eléctricos
 182 Ferrocarriles Suburbanos

Parece que el archivo del Lab no es un GTFS puro, parece que unieron todos los metadatos en un sólo archivo. Creo que habrá que seleccionar columnas para reconstruir los stops.txt, routes.txt, etc…

Referencia: https://developers.google.com/transit/gtfs/examples/gtfs-feed?hl=en

p. ej.


➜  head -n1 gtfs-cdmx-20150225.csv > metrobus.csv
➜  grep -r "Metrobús" gtfs-cdmx-20150225.csv | cut -d: -f2 >> metrobus.csv  
➜  head -n1 metrobus.csv | grep route_
orden,trip_id,trip_headsign,agency_id,organismo,route_id,route_short_name,routelong_name,service_id,route_type,stop_sequence,stop_id,stop_name,stop_lat,stop_lon,arrival_time,departure_time,shape_id,monday,tuesday,wednesday,thursday,friday,saturday,sunday,start_date,end_date,calendario,start_time,end_time,headway_secs,,
➜  cut -d, -f6,7,8,10 metrobus.csv > routes.txt   
➜  cut -d, -f12,13,14,15 metrobus.csv > stops.txt

Y ya con estos archivos GTFS, podríamos utilizar la herramienta GO-SYNC para ver un reporte con la comparación entre el dataset y OSM.

Me parece formidable lo que lograste yo estaba trabajando en QGis grabando cada organismo en un SHP de ahi abrir ese SHP en JOSM con el complemento OpenData para poderlo subirlo a OSM pero me atore con las etiquetas de horarios ademas que en un punto hay 6 a 8 registros en una misma coordenada lo que diferencia es el nombre completo de la ruta así como los horarios y días que dan servicio.

Puedo Publicar tu análisis en la wiki del Poryecto?:slight_smile:

http://wiki.openstreetmap.org/wiki/WikiProjecto_importacion_datos_transporte_publico_ciudad_de_mexico

Sin problema!

¿Ya viste http://wiki.openstreetmap.org/wiki/GO-Sync? Creo que eso podría darnos rápido un análisis de diferencias entre OSM y el dataset, y darnos en segundos una guía de por dónde empezar.

Ya lo vi estoy en proceso de instalación no se si tu ya lo pudiste instalar?
Te dejo esta liga de un proyecto en españa similar a lo que pretendemos hacer
https://wiki.openstreetmap.org/wiki/ES:C%C3%B3rdoba_(Spain)_Bus_Transport_Import

rodowi ya corri el sudo java -jar GO-Sync-0.9.3.jar y este error me da

:: Yolo County Transportation District  : YCTD : 9090 :  :: 
:: York County Transportation Authority  : rabbittransit : 3027 :  :: 
:: Yuba-Sutter Transit Authority  : YSTA : 9061 :  :: 
:: Yuma Metropolitan Planning Organization  : YMPO : 9192 :  :: 
Error: java.io.FileNotFoundException: /home/desarrollo/Documentos/metrobus\routes.txt (No existe el archivo o el directorio)
Error: java.io.FileNotFoundException: /home/desarrollo/Documentos/metrobus\trips.txt (No existe el archivo o el directorio)
Error: java.io.FileNotFoundException: /home/desarrollo/Documentos/metrobus\stop_times.txt (No existe el archivo o el directorio)
Error: java.io.FileNotFoundException: /home/desarrollo/Documentos/metrobus\stops.txt (No existe el archivo o el directorio)
Lon, Lat format = -0.004,-0.004      0.004,0.004
Initializing...
Connecting http://api.openstreetmap.org/api/0.6/capabilities/ using method GET 1
Response Code: 200
Response Message: OK
End response
Connecting http://open.mapquestapi.com/xapi/api/0.6/node[highway=bus_stop][bbox=-0.004,-0.004,0.004,0.004] using method GET 1
Response Code: 403
Response Message: Forbidden
Error: The AppKey submitted with this request is invalid.

org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; El contenido no está permitido en el prólogo.
null nodes
Connecting http://open.mapquestapi.com/xapi/api/0.6/relation[route=bus][bbox=-0.004,-0.004,0.004,0.004] using method GET 1
Response Code: 403
Response Message: Forbidden
Error: The AppKey submitted with this request is invalid.

org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; El contenido no está permitido en el prólogo.
null relations
There's no bus stop in the region -0.004, -0.004, 0.004, 0.004
Done...!!

Les comento que cree una carpeta con los dos archivos que genere siguiendo las instrucciones que antes mencionastes routes.txt y stops.txt

 ls -l ~/Documentos/metrobus
total 28
-rwxrwxrwx 1 desarrollo desarrollo 12299 ago 21 14:08 routes.txt
-rwxrwxrwx 1 desarrollo desarrollo 12282 ago 21 14:09 stops.txt

No se si alguien ya lo pudo correr y ver si tiene el mismo error que yo.
Espero comentarios y agradezco su ayuda.(- | -)…

Por ahí se ve un “Error: The AppKey submitted with this request is invalid.”

Creo que necesitas registrarte en mapquestapi y que te den un API token. Muchos servicios utilizan este tipo de autenticación para no saturar sus servicios.

rodowi seria modificar el codigo de GO-sync con la API token que nos de mapquestapi? No seria mejor trabajar con Osmapi de OpenStreetMap y crear una cuenta de usuario para la importación algo así como importmx.

Hi everybody,

My name is Uli and I work for the public transport company ally. My team mate Isabel told me about your GTFS import process. First of all big thanks for the great work you do and apologizes that I write in English. I am very interested in your work. I was just reading up on it in the wiki. I have two questions:

  1. Did you guys consider using this GTFS-OSM sync tool? https://github.com/CUTR-at-USF/gtfs-osm-sync
  2. You guys mention that the import of the stops is subject to the approval of the import mailing list. Could you point me to the discussion happening so far on the list? I couldn’t find it in the archives.

Thanks again,
Uli

Hola Tavo,
Ya tenemos una cuenta de mail para las importaciones (es la misma que vamos a usar para la importación de la RNC y los límites municipales). En cuanto tengan lista esta importación porfavor indicanos y te mandamos las credenciales para usarla.

Saludos,
Andres

If we are considering it but me and stuck and asking some keys to synchronize, which tells me rodowi is to be ordered to mapquestapi that key. Once we have that agrgarlas Java code GO-sync, and in truth not good java management.

I do not understand what files :frowning:

Seria bueno crear una lista de correo de importaciones en México como la de imports-us para nuestro caso seria imports-mx como ven?

Hey Uli [ustroetz], answering between lines:

  1. Did you guys consider using this GTFS-OSM sync tool? https://github.com/CUTR-at-USF/gtfs-osm-sync

That’s exactly the tool I suggested to [tavooca] (wiki http://wiki.openstreetmap.org/wiki/GO-Sync points to that repo). AFAIK he is still struggling to make it work. I’m sorry that I haven’t jumped in to figure this out, perhaps on the weekend.

Some other members suggested (offline) to do all this diff and patching using QGIS.

  1. You guys mention that the import of the stops is subject to the approval of the import mailing list. Could you point me to the discussion happening so far on the list? I couldn’t find it in the archives.

Yes, we will follow the importing guidelines. We haven’t submit anything to the mailing list yet.

Great to have you in this conversation!