Datos Geográficos: un servicio de normalización

Natalia Sampietro
Datos Argentina
Published in
6 min readAug 23, 2018

--

Publicamos el Servicio de Normalización de Datos Geográficos de Argentina, con el objetivo de mejorar la calidad de datos con coordenadas, calles y todo tipo de unidades territoriales de Argentina.

Acá te contamos cómo usar esta API basada en los datos abiertos publicados por el Instituto Nacional de Estadística y Censos (INDEC), el Instituto Geográfico Nacional (IGN) y la Base de Asentamientos Humanos de la República Argentina (BAHRA).

¿Por qué un servicio web?

El IGN y el INDEC vienen realizando grandes esfuerzos por homogeneizar y publicar los listados canónicos de unidades territoriales y el Nomenclador de Vías de Circulación respectivamente. El solo hecho de producir y difundir estos listados en formatos abiertos, implica valor en términos de contar con una única fuente oficial y estandarizada para esta información.

¿Cuántas veces nos encontramos frente a un formulario que requiere completar nuestra dirección, la de nuestro trabajo, o el lugar donde nacimos? Casi sin darnos cuenta, dudamos si escribir “Mendoza o MZA”, “Santiago del Estero o Sgo del Estero”, “Ciudad Autónoma de Buenos Aires o CABA”?.

Esa micro-decisión casi inconsciente que cientos de usuarios tomamos en sólo unos milisegundos, dará forma a bases de datos y planillas que a futuro serán utilizadas para la toma de decisiones.

¿Cuántas veces seremos nosotros mismos los que busquemos reutilizar esas bases o planillas? Quizás para responder cosas sencillas como la cantidad de titulares/usuarios de un servicio por localidad, o preguntas más complejas como el porcentaje de la población entre 25 y 34 años que es titular/usuaria del mismo en la localidad de Caucete, San Juan.

En cualquier caso, contar con un listado homogéneo y estandarizado de unidades administrativas o territoriales es clave para que nuestros datos sean útiles.

En el caso más sencillo esperamos que exista consistencia interna (decir “CABA” o “Ciudad Autónoma de Buenos Aires”, pero no usar las dos indistintamente) pero cuando además necesitamos cruzar bases de datos entre sí, se hace indispensable que todos llamemos a las mismas cosas, de la misma manera.

Por esto, creamos un servicio para:

  • Acceder a datos oficiales de las unidades territoriales o administrativas, y las calles de todo el país. Una lista confiable, precisa y actualizada de estos datos que pueden ser integrados a tus sistemas en forma programática, en una variedad de formatos.
  • Normalizar datos de estas entidades geográficas, unidades territoriales o administrativas. Una herramienta para homogeneizar y estandarizar bases de datos y planillas existentes.
  • Enriquecer datos geográficos. Permite enriquecer un punto de coordenadas (latitud, longitud), o listado de puntos, con atributos de las entidades geográficas que lo contienen.

¿Cómo se usa?

El servicio de normalización y enriquecimiento de datos geográficos de Argentina es una API REST que funciona bajo un esquema público y abierto que te permite probar todas sus funcionalidades sin requerir autenticación. Los organismos de la Administración Pública Nacional de alta demanda tienen la posibilidad de autenticarse, para acceder a cuotas de uso mayores.

Descargar entidades territoriales

El servicio te permite consultar las diferentes entidades en formato JSON y descargar en formato CSV.

Así, si queremos consultar los departamentos de la provincia de Córdoba usaremos el endpoint de departamentos, elegimos el formato, filtramos por la provincia de Córdoba y ponemos un máximo de resultados a devolver en la respuesta:

https://apis.datos.gob.ar/georef/api/departamentos?formato=json&provincia=cordoba&max=10”

y se obtiene:

Si en cambio elegimos formato CSV se obtendría:

https://apis.datos.gob.ar/georef/api/departamentos?formato=csv&provincia=cordoba&max=10”

Normalizar datos existentes

Normalizar planillas de cálculo

A continuación se muestran algunos ejemplos sobre cómo integrar URLs de consulta a la API en Google Spreadsheet:

  1. Importar listado de provincias/ departamentos/ municipios o localidades. Utilizamos la función IMPORTDATA de Google Sheets y armamos la url de la entidad territorial que queremos importar.

Por ejemplo si queremos importar 1000 localidades, escribiremos:

“https://apis.datos.gob.ar/georef/api/localidades?formato=csv&max=1000”

Y obtendremos:

2. Normalizar un listado de unidades territoriales. Si tenemos un listado de provincias que queremos normalizar, como el siguiente:

Podemos armar urls individuales para normalizar los nombres y traer alguno de sus atributos. Imaginemos que queremos el ID y el nombre normalizado. Primero generamos la url para cada una de las provincias:

y luego necesitamos importar una nueva función en la hoja de cálculo. Para eso, desde el menú:

  1. Herramientas → Editor de secuencia de comandos.
  2. Borramos todo lo que hay en el editor y pegamos el siguiente script de Bradjasper
  3. Renombremos el script como ImportJson.gs y guardamos.
  4. Ahora ya podemos usar la función “=importJSON()” en una celda.

“=ImportJSON(B2;”/provincias/id,/provincias/nombre”;”noInherit,noTruncate,noHeaders”)”

y obtendremos:

Python

Podés ver ejemplos de uso en Python en la documentación.

Integrarlo en tu aplicación

Si querés conocer más sobre la API o sobre cómo autenticarte, podés revisar la documentación.

Instancia tu propia API de normalización de datos geográficos

Respetando la filosofía de que nuestros servicios son desarrollos de código abierto, construidos sobre conjuntos de datos abiertos publicados por organismos de la Administración Pública Nacional, actualmente podés clonar y/o forkear el repositorio de la API Georef de nuestro GitHub.

También podés encontrar los recursos que utiliza la API en datos.gob.ar.

Hoja de Ruta

Estos son los primeros pasos de desarrollo de este servicio, en los próximos meses estaremos trabajando no sólo en mejorar las funcionalidades existentes sino también en:

Portabilidad del servicio

Para facilitar la tarea de aquellos que quieran instanciar el servicio en su propia infraestructura, se está trabajando en simplificar el proceso de instalación y la contenerización del servicio.

Ecosistema de herramientas

Desde el equipo de datos no sólo nos preocupamos por la evolución del servicio en sí mismo, sino por el desarrollo de un ecosistema de herramientas que simplifiquen su adopción y posterior uso.

Entre ellas prevemos el desarrollo de librerías para el acondicionamiento de datos, formularios embebibles con texto predictivo y autocompletado, entre otros.

Si te interesa saber más podés revisar la documentación de la API, el repositorios en nuestro GitHub o escribirnos un mail.

***

¿Usás datos geográficos que requieren normalización? ¿Sentís que esta API te sirve para tu trabajo diario? Nos encantaría que nos cuentes por Twitter o por mail para qué y de qué manera la vas a usar, y qué otros servicios de datos te gustaría encontrar dentro del Estado.

Si te sirvió este post, hacé clic en el ❤ acá abajo, así más personas se suman a #DatosArgentina.

--

--