API de Valenbisi (Servicio de JCDeacaux)
Escrito por Alex Barros Pulsa para ver las estaciones de Valenbisi »
Valenbisi es un servicio que ofrece el ayuntamiento de Valencia de bicicletas públicas, mediante una red de “estaciones” donde coger o dejar una bici.
La web que tienen ( http://www.valenbisi.es ) me parece muy deficiente, por lo que me quiero aventurar a hacer una aplicación simplificada, más 2.0, con la API de Google Maps.
La web de Valenbisi (la empresa encargada es la francesa JCDecaux) no ofrece una API pública, pero no es muy difícil averiguar el sistema que usan para cargar los datos en su web (que es lo que voy a detallar a continuación). Sólo esperemos que no modifiquen esta funcionalidad, que resulta verdaderamente accesible.
Se trata de dos archivos clave, que contienen toda la información en el formato XML:
1: Las estaciones
El primer archivo nos va a dar información de todas las estaciones existentes, junto con información relativa a la localización.
http://www.valenbisi.es/service/carto
Devuelve un archivo similar a este fragmento:
-
<carto>
-
<markers>
-
<marker name="063_AVDA. DEL PUERTO I" number="63" address="AVDA. DEL PUERTO I – Esq. C/Antonio Suarez" fullAddress="AVDA. DEL PUERTO I – Esq. C/Antonio Suarez " lat="39.46755709145644" lng="-0.357891042655049" open="1" bonus="0"/>
-
<marker name="064_AVDA. DEL PUERTO II" number="64" address="AVDA. DEL PUERTO II – Frente a los numeros 61 y 63" fullAddress="AVDA. DEL PUERTO II – Frente a los numeros 61 y 63 " lat="39.46638708872079" lng="-0.353943030206345" open="1" bonus="0"/>
-
<marker name="065_AVDA. DEL PUERTO III" number="65" address="AVDA. DEL PUERTO III – Esquina con Calle Doctor Manuela" fullAddress="AVDA. DEL PUERTO III – Esquina con Calle Doctor Manuela " lat="39.46549608664973" lng="-0.351062021089717" open="1" bonus="0"/>
-
<marker name="066_GUILLEN DE ANGLESOLA" number="66" address="GUILLEN DE ANGLESOLA – Esquina con Avenida del Puerto" fullAddress="GUILLEN DE ANGLESOLA – Esquina con Avenida del Puerto " lat="39.46414708365747" lng="-0.34636900630001" open="1" bonus="0"/>
-
<marker name="067_JUAN VERDEGUER" number="67" address="JUAN VERDEGUER – Esquina con Calle Boters" fullAddress="JUAN VERDEGUER – Esquina con Calle Boters " lat="39.458805068652005" lng="-0.337036975447925" open="0" bonus="1"/>
-
</carto>
Cada marker contiene toda la información de una estación, que son el nombre, el número (este dato es fundamental para el siguiente paso), la dirección, datos cartográficos y si está operativa (la propiedad bonus no he comprendido todavía qué significa)
2: Detalles de la estación
Cuando quieres centrarte en los datos de una estación concreta, debes acudir al siguiente archivo. Se trata de una dirección base a la que debes añadir al final el número de estación que deseas obtener.
http://www.valenbisi.es/service/stationdetails/num_estacion
(donde num_estacion es un número entero correspondiente a una estación.)
Devuelve un archivo como este:
-
<station>
-
<available>14</available>
-
<free>2</free>
-
<total>19</total>
-
<ticket>0</ticket>
-
</station>
Es decir, el número de bicicletas disponibles (avaliable), el número de bornetas disponibles para aparcar (free) el número total de bornetas con que cuenta la estación (total) y si admite la opción de alquiler con tarjeta bancaria (ticket).
A partir de aquí lo único que hace falta es un parser de XML para el lenguaje que estés utilizando, y una conexión a internet, el resto lo pone la imaginación del programador.
Que vivan las APIs!
(Editado: podéis ver mi experimento: bicis disponibles de Valenbisi en http://bicivalencia.com y una versión móvil en http://bicivalencia.com/m)
Categorias: Boozox |
5 comentarios »

Es una aplicación con mucho potencial, porque el de “usuarios de GPS con ganas de copartir rutas”, es un público que está ahí, que está esperando que le ofrezcas una buena solución. Además me encanta porque es una aplicación que realmente ayuda a la gente a conseguir lo que quiere, no es una banalidad 2.0 (que abundan mucho por la red).





Respeta el copyleft