Conoce la versión Beta de nuestro Sitio
Instituto Nacional de Estadística y Geografía
Inicio  |  Contacto    |  Síguenos:          
 Inicio >  Para Desarrolladores
Para Desarrolladores
API para Ruteo
El Instituto Nacional de Estadística y Geografía, a efecto de proveer conocimiento sobre redes de carreteras y caminos, implementa y pone a disposición este servicio web del tipo sistemas inteligentes de transporte, que genera rutas entre diversos destinos como localidades y sitios de interés, muy útil para la planeación de viajes e indispensable para analizar en los temas de riesgos, rutas de evacuación y caminos alternos para brindar ayuda humanitaria.

Esta API contiene 5 funciones que devuelven los siguientes datos:

Búsqueda Destino (SD) Búsqueda de Línea (IL) Cálculo de Ruta (CR) Obtención de Detalle (GD) Combustibles (CM)
Identificador único del destino. Identificador único de la línea. Longitud en kilómetros de la ruta. Dirección de giro del segmento. Tipo de combustible.
Abreviación de la entidad federativa. Source de la línea. Tiempo promedio en minutos de traslado de la ruta. Longitud en metros del segmento. Costo del combustible, en pesos mexicanos.
Nombre del destino. Target de la línea. Si pasa por alguna caseta de cobro o no. Tiempo promedio de traslado del segmento. Tipo y costo del combustible.
Geometría del punto geográfico en formato texto. Nombre de la línea (carretera, camino o vialidad). Cantidad en pesos que pagaría al transitar por esta ruta. Cantidad en pesos que pagaría al transitar por este segmento (incluye eje excedente en caso de que lo hubiera).
Geometría del punto geográfico en formato geoJSON. Cantidad en pesos que pagaría al transitar por esta ruta en caso de llevar ejes excedentes. Geometría del segmento en formato de texto.
Geometría de ruta en formato de texto. Geometría del segmento en formato geoJSON.
Geometría de la ruta en formato geoJSON. Giro.

Guía para desarrolladores

  1. Introducción.
  2. Audiencia.
  3. Métodos para obtener información a través de la API.
  4. Cómo utilizar la API.
  5. Registro y solicitud de token.

Introducción

Bienvenidos a la documentación para desarrolladores del API SAKBE. El INEGI se une a la iniciativa de libre acceso con el objetivo de ampliar la disponibilidad de información para los usuarios.

Audiencia

Este documento está dirigido para los desarrolladores familiarizados con la programación Java Script y Sistemas de Información Geográfica para web.

Métodos para obtener información a través de la API

Existen 5 funciones para obtener información mediante la siguiente URL:
http://gaia.inegi.org.mx/sakbe/wservice&parametros

Búsqueda Destinos (SD) Parámetros
  • make: clave de la función.
  • buscar: es una cadena de caracteres que define el nombre o parte del destino que desea encontrar.
  • proj: define la proyección que desea que se encuentren los puntos resultantes. GRS80 para coordenadas geográficas y MERC para coordenadas Spherical Mercator. Este parámetro es opcional, si se omite el valor por default será GRS80.
  • type: Tipo de formato a regresar (json o xml).
  • key: número único que permite acceder a la API.
Resultado

Devolverá todos los destinos que, en el parámetro buscar, coincidan con su nombre o parte del mismo.

  • ent_abr: devuelve el la abreviación de la entidad federativa en donde se encuentra el destino.
  • nombre: devuelve el nombre del destino.
  • geojson: devuelve la geometría del punto geográfico en formato geoJSON.
  • id_dest: devuelve el identificador único del destino.
Ejemplo:

Buscaremos todos los destinos que coincidan con la palabra Tulum, con una proyección GRS80.
http://gaia.inegi.org.mx/sakbe/wservice?make=SD&buscar=Tulum&type=json&key={token}

Búsqueda Líneas (IL) Parámetros
  • make: clave de la función.
  • escala: es el valor de la escala de visualización en la que se encuentra su mapa.
  • x: es el valor de la longitud de un punto dado en coordenadas geográficas (grados decimales) o Spherical Mercator (metros) dependiendo del valor del parámetro proj.
  • y: es el valor de la latitud de un punto dado en coordenadas geográficas (grados decimales) o Spherical Mercator (metros) dependiendo del valor del parámetro proj.
  • proj: es el tipo de sistema de referencia, entre los valores permitidos están GRS80 (Geográfica) y MERC (Spherical Mercator). Este parámetro es opcional, si se omite el valor por default será GRS80, y las coordenadas deberán de están en grados decimales.
  • type: Tipo de formato a regresar (json o xml).
  • key: número único que permite acceder a la API.
Resultado

Devolverá la línea más cercana a la coordenada enviada.

  • id: identificador único de la línea.
  • source: source de la línea.
  • target: target de la línea.
  • nombre: nombre de la línea (carretera, camino o vialidad).
  • geojson: devuelve la geometría del punto geográfico en formato geoJSON, ajustado a la linea mas cercana de las coordenadas enviadas.
Calcular Ruta (CR)
Parámetros
  • make: clave de la función.
  • id_i: identificador de la línea de inicio. *
  • source_i: valor del source de la línea de inicio. *
  • target_i: valor del target de la línea de inicio. *
  • id_f: identificador de la línea final. *
  • source_f: valor del source de la línea final. *
  • target_f: valor del target de la línea final. *
  • dest_i: identificador del destino de inicio. **
  • dest_f: identificador del destino final. **
  • p: específica tipo de ruta. Es opcional, si se omite el valor por default será 2 (ver tabla 1).
  • v: especifica el tipo de vehículo (ver tabla 2).
  • e: especifica el número de ejes excedentes. Es opcional, si se omite el valor por default será 0. (ver tabla 3)
  • b: cadena de caracteres que especifica los id_routing_net de las líneas separado por comas, líneas por las cuales la ruta no pasara por algún motivo. Ej. 12865,3659,658,12546.
  • proj: es el tipo de sistema de referencia, entre los valores permitidos están GRS80 (Geográfica) y MERC (Spherical Mercator). Este parámetro es opcional, si se omite el valor por default será GRS80.
  • type: tipo de formato a regresar (json o xml).
  • key: número único que permite acceder a la API.

* Parámetro opcional, aplica solo si se trata de una línea.
** Parámetro opcional, aplica solo si se trata de un destino.



Resultado
Devolverá los valores de la ruta.
  • long_km: devuelve la longitud en kilómetros de la ruta.
  • tiempo_min: devuelve el tiempo promedio en minutos de traslado de la ruta.
  • peaje: devuelve f si la ruta no pasa por alguna caseta de cobro y t si pasa por al menos una.
  • costo_caseta: devuelve la cantidad en pesos que pagaría al transitar por esta ruta.
  • eje_excedente: devuelve la cantidad en pesos que pagaría al transitar por esta ruta en caso de llevar ejes excedentes.
  • geojson: devuelve la geometría de la ruta en formato geoJSON.
Detalle de la Ruta (GD)
Parámetros
  • Se utilizarán los mismos parámetros del cálculo de ruta.
Resultado
Devolverá todos los segmentos que integran su ruta, así como también el costo de peaje en el caso que ese segmento cruce una caseta de cobro.
  • direccion: Dirección de giro del segmento.
  • distancia: Longitud en metros del segmento
  • tiempo: Tiempo promedio de traslado del segmento.
  • costo_casetas: Cantidad en pesos que pagaría al transitar por este segmento (incluye eje excedente en caso de que lo hubiera ).
  • geojson: Geometría de la segmento en formato geoJSON.
  • giro: Valor numérico que indica hacia donde se debe girar.

Cómo utilizar la API

Para consultar la API se envían los parámetros directamente en la URL.

Búsqueda Destinos (SD)

Buscaremos todos los destinos que coincidan con la palabra Durango, del estado de Durango (dgo), con una proyección GRS80.
http://gaia.inegi.org.mx/sakbe/wservice?make=SD&buscar=Durango,dgo&type=xml&key=[aquí va su token]





Búsqueda Líneas (IL)

Para una escala de visualización de 1:100000 sobre las coordenadas 32.4952798422821 de latitud y -117.121925383366 de longitud.

http://gaia.inegi.org.mx/sakbe/wservice?make=IL&x=-117.121925383366&y=32.4952798422821&escala=100000&type=xml&key=[aquí va su token]




Calcular Ruta (CR)

Ejemplos
Existen 4 formas de calcular rutas:

Línea a Línea.
http://gaia.inegi.org.mx/sakbe/wservice?make=CR&id_i=1&source_i=82233&target_i=82234&id_f=633281&source_f=218261&target_f=113968&p=2&v=1&e=0&type=xml&key=[aquí va su token]
Destino a Destino
http://gaia.inegi.org.mx/sakbe/wservice?make=CR&dest_i=21358&dest_f=24198&p=1&v=1&e=2&type=xml&key=[aquí va su token]
Línea a Destino
http://gaia.inegi.org.mx/sakbe/wservice?make=CR&id_i=1&source_i=82233&target_i=82234&dest_f=21358&p=1&v=1&e=1&type=json&key= [aquí va su token]
Destino a Línea
http://gaia.inegi.org.mx/sakbe/wservice?make=CR&dest_i=21358&id_f=633281&source_f=218261&target_f=113968&p=1&v=1&e=1&type=json&key=[aquí va su token]



Detalle de la Ruta (GD)

Ejemplos
Para cada tipo de cálculo de ruta existe una forma de obtener su detalle, enviando exactamente los mismos parámetros a excepción del parámetro make, del cual su valor cambiará a GD:

Línea a Línea.
http://gaia.inegi.org.mx/sakbe/wservice?make=GD&id_i=1&source_i=82233&target_i=82234&id_f=633281&source_f=218261&target_f=113968&p=2&v=1&e=0&type=xml&key=[aquí va su token]
Destino a Destino
http://gaia.inegi.org.mx/sakbe/wservice?make=GD&dest_i=21358&dest_f=24198&p=1&v=1&e=2&type=xml&key=[aquí va su token]
Línea a Destino
http://gaia.inegi.org.mx/sakbe/wservice?make=GD&id_i=1&source_i=82233&target_i=82234&dest_f=21358&p=1&v=1&e=1&type=json&key= [aquí va su token]
Destino a Línea
http://gaia.inegi.org.mx/sakbe/wservice?make=GD&dest_i=21358&id_f=633281&source_f=218261&target_f=113968&p=1&v=1&e=1&type=json&key=[aquí va su token]



Tipos de combustibles (CM)

Con esta función solo se obtienen los costos de los diferentes combustibles.

Parámetros
Los parámetros se separan con el carácter & como en cualquier URL estándar.
  • type: Tipo de formato a regresar (json o xml).
  • key: Cadena única por usuario de 36 caracteres.

Resultado
  • tipo_costo: Tipo y costo actual del combustible
  • costo: Costo actual del combustible.
  • tipo: Nombre del combustible.

Ejemplo
http://gaia.inegi.org.mx/sakbe/wservice?make=CM&type=xml&key={Token}

Archivo XML y JSON recibido



Registro y solicitud de token

Registro y solicitud de token

Ejemplos:

Búsqueda

Presentación de la información utilizando HTML y Javascript

Código

HTML

								
<html>
    <head>
    <meta charset="utf-8">
    <script src="js/jquery-1.11.1.min.js" type="text/javascript"></script>
    <script src="js/apiSakbeJson.js"></script>
    <style>
        input{
        font-family:Century Gothic;
        width:250px;
        }
        #titulo{
        font-family:Century Gothic;
        }
        .lista{		
        width: 100%;
        height: 80%;	   
        }
</style>
</head>
<body>
    <img src="img/Logo_transp_sakbe.png" /><BR>
    <b><p id="titulo">Buscar Localidades o Sitios de interes para el turismo</p></b>
    <div>
        <input  type="text" placeholder="Buscar... " id="busqueda" onchange="ApiSakbeJson(this.value);" onkeyup="this.onchange();" 
                                                                    onpaste="this.onchange();" oninput="this.onchange();" />							
    </div>			
    <div class="lista" id="lista">		
    </div>		
</body>
</html>
																

JavaScript

																	
                                                                        function ApiSakbeJson(valor){
                                                                           if (valor.length>3)   
                                                                             {
                                                                            var urlApiBusqueda = "http://gaia.inegi.org.mx/sakbe/wservice?make=SD&buscar=#buscar&key=#token&type=json";	
	                                                                        var token = 'Mcie8SVX-cYyT-VBsm-5C3T-HQDsEErWkvKW';
	                                                                        var urlApiBusquedaTmp = urlApiBusqueda.replace('#buscar',valor);	
	                                                                        urlApiBusquedaTmp = urlApiBusquedaTmp.replace('#token',token);			
	                                                                        $.getJSON( urlApiBusquedaTmp, function( json ) {  
		                                                                        var codHtml = '<table>';
		                                                                        for(var i = 0; i < json.length; i++){
	                                                                            codHtml +='<tr><td style="width:60px">'+json[i].id_dest+'</td><td>'+json[i].nombre+'</td><tr>';	
		                                                                        }	
                                                                                 document.getElementById("lista").innerHTML = codHtml;
	                                                                        });	
	                                                                        }		
                                                                        }
																

Descargar

Para descargar el ejemplo completo, acceda aquí.