4 julio Noticias
Compartir:

Opencensus – Framework para extraer y procesar datos censales presentes en bases Redatam

En el desarrollo del proyecto Eigencities (FONDEF IDeA 15I10313) nació la necesidad de contar con un acceso directo a los microdatos censales facilitados por el Instituto Nacional de Estadísticas (INE Chile), específicamente a nivel de manzana censal. El organismo en cuestión facilitó los datos en un formato en el cual se debe de hacer uso de la herramienta software Redatam para poder consultarlos y así obtener, por ejemplo, reportes de conteo de las diferentes entidades censales y sus variables.

Redatam es un software de uso libre pero de acceso restringido a datos, que permite hacer consultas a sus bases datos de forma sencilla, pero la incorporación de estos datos a herramientas o plataformas software externas se dificulta bastante. Es decir, no es posible acceder de forma directa, mediante las herramientas que provee Redatam, a los datos de todas las variables y entidades que residen en la base de datos.

Una base Redatam está compuesta por una serie de entidades y variables, por ejemplo las entidades de la base de datos del censo realizado en Chile el año 2002 son “Persona”, “Vivienda” y “Hogar”. Cada una de estas entidades tiene una serie de variables con la información recopilada en las encuestas realizadas. Así, para la entidad “Persona”, encontramos las variables “Edad”, “Sexo”, “Cultura”, “Situación Laboral”, entre otras.

Para poder extraer todos los datos de una variable presente en base Redatam es posible hacer uso de la interfaz del software y obtener un reporte. Este proceso es secuencial como se puede observar en la Figura 1, y se debe realizar para cada variable presente en cada entidad que tiene la base de datos.

 

 

Figura 1. Diagrama que ejemplifica una serie de consultas para obtener datos por cada variable presente en las diferentes “P” entidades de una base de datos Redatam. La cantidad de variables pueden ser distintas entre las diferentes entidades existentes.

 

En el Laboratorio de EcoInformática se desarrolló un framework o marco de trabajo que permite, dada una base de datos Redatam, extraer de forma masiva la información contenida en ellas, cambiar el formato de extracción a un formato de uso común e incorporar la información extraída a una base de datos relacional. Esto surge con el fin de facilitar el acceso de los datos y su tratamiento en las diferentes herramientas de uso común que existen hoy en día, tales como Excel, Calc, entre otras.

La estructura general del framework utilizado se puede observar en la Figura 2, y contempla script desarrollados en lenguaje Python.

Figura 2. Diagrama del framework utilizado en el desarrollo del proyecto.

 

Éste divide en tres módulos los cuales se pueden utilizar de acuerdo a las necesidades del usuario final:

1.- Extracción masiva de datos. 

Módulo dedicado a la extracción masiva de información censal de una base de datos Redatam. Permite generar un documento de texto plano (*.txt) que contiene una serie de consultas escritas en el lenguaje propio de Redatam y que, una vez ingresadas a Redatam, permitirá extraer los datos en archivos *.dbf (ver Figura 3)Estos últimos archivos se pueden visualizar y editar con herramientas de uso común como Excel, Calc, entre otras.

Figura 3. Diagrama del módulo de extracción masiva de una base de datos Redatam.

 

2.- Cambio de formato de archivos obtenidos (*.dbf a *.csv).

Módulo que se aplica en los casos cuando se requiere cambiar de formato a múltiples archivos *.dbf para convertirlos en archivos *.csv. El proceso es muy sencillo y útil dado que permite hacer una conversión de formatos a todos los archivos con extraídos Redatam (ver Figura 4). Para hacer uso de este script es necesario instalar previamente la librería “dbfpy”.

 

Figura 4. Diagrama del módulo de conversión de formato de archivos, considerando un “input” de archivos extraídos desde Redatam en formato *.dbf.

 

3.- Incorporación a una base de datos relacional Sqlite.

Si existe la necesidad de importar estos datos extraídos a una base de datos Sqlite para realizar consultas SQL, se puede hacer uso de este módulo para generar un script que crea una base de datos sqlite e importa los datos a las tablas correspondientes (ver Figura 5).

 

Figura 5. Diagrama del módulo de generación de script para creación de base de datos Sqlite e incorporación de datos extraídos en formato *.csv.

 

El framework presentado contempla el uso de los scripts mencionados anteriormente, los cuales se encuentran en desarrollo. Actualmente, también se está trabajando en la elaboración de un artículo con el fin de mostrar con más detalle el framework propuesto y desarrollado en el laboratorio, lo cual será comunicado oportunamente.

Consultas, comentarios o algún interés en esta iniciativa en particular, no duden en contactar al responsable:

 

Boris Sotomayor Gómez.
Ingeniero Civil en Informática, UACh.
Programador Científico en Laboratorio de Ecoinformática.

bsotomayor@ecoinformatica.cl