datosgobar / data-cleaner

Librería en python para para limpieza de datos, según estándares del Equipo de Datos Argentina.
http://data-cleaner.readthedocs.io/
MIT License
30 stars 12 forks source link

Agregar capacidad de leer un SHP y transformarlo a CSV (geojson) #43

Closed abenassi closed 7 years ago

abenassi commented 7 years ago

Hoy el data-cleaner sólo admite la interpretación de archivos CSV que internamente se convierten a DataFrame de pandas para ofrecer una serie de reglas de limpieza y transformación.

El archivo limpio y transformado se puede guardar nuevamente en CSV mediante el método DataCleaner.save().

Se busca agregar la capacidad del objeto DataCleaner de leer/entender un SHP para poder aplicar las mismas reglas de transformación y limpieza disponible para usar en un CSV, y luego transformar el formato guardando los datos geográficos en un CSV.

Convertir un SHP en CSV implica mayormente trabajar en la creación de una columna geom en el CSV que contenga las figuras geométricas que en el caso del SHP se guardan en un formato no tabular específico, en forma de un string geojson.

Research previa: El uso de GeoPandas como alternativa a Pandas para que el objeto DataCleaner lea SHP es probablemente la mejor posibilidad a explorar. Permite mantener la interfaz interna construida sobre la base de Pandas para las reglas de transformación y limpieza, y permite usar funcionalidades geográficas para leer un SHP y convertirlo a GEOJSON.

La experiencia de uso de la librería buscada sería:

from data_cleaner import DataCleaner

input_path = "samples/provincias/provincias.shp"
output_path = "samples/provincias.csv"

dc = DataCleaner(input_path)
dc.save(output_path)

Otros requerimientos: revisar la interfaz y el estilo de implementación actual de DataCleaner para que el desarrollo vaya en línea con la idea de la librería en general. Crear tests para la nueva funcionalidad siguiendo el estilo de los tests ya implementados para otras funcionalidades.

abenassi commented 7 years ago

@pilimayora ahí creé el issue para encarar con @arperoni sobre conversión de shapefiles a CSV con geojson legibles por CKAN. Avisame qué clarificaciones harían falta sobre esto o cuándo podría juntarme con Artur para ver dudas y demás.

arperoni commented 7 years ago

Fecha estimada de entrega: viernes 1/9.

abenassi commented 7 years ago