-
Notifications
You must be signed in to change notification settings - Fork 3
Carto
#Datasets
card_analytics_dataset
- Proporcionado por la propia organización. El dataset contiene información del importe total y el número de operaciones realizadas en 2015 con tarjetas de débito/crédito del Grupo Cajamar en los comercios de la ciudad de Almería. Se han agrupando dichas operaciones por código postal del cliente, código postal del comercio, sector de comercio y franja horaria.
- Fuente: http://www.cajamardatalab.com/datathon-cajamar-pythonhack-2016/card-analytics/.
poligonos
- Contiene los polígonos de cada código postal para poder pintarlos sobre un mapa.
- Fuente: http://centrodedescargas.cnig.es/CentroDescargas/buscar.do.
codigospostales
- Contiene las coordenadas promedio y el nombre de cada código postal. Se extrajo gracias al script propio
scrapPostCode.py. - Fuente: http://es.postcode.info/espana/p/04.
#Carto
Carto es una herramienta Open Source que permite el almacenamiento y visualizado de datos geoespaciales en un entorno Web. Carto se puede instalar en un servidor propio o utilizar la plataforma SaaS que ofrecen en https://carto.com/.
- Documentación oficial para su instalación: http://cartodb.readthedocs.io/en/latest/install.html.
- O scripts para una instalación automática: https://github.com/lopezruizjavier/cartodb-setup.
##Trabajando con los datos
Carto permite introducir los datos en múltiples formatos. En este caso, se han subido los anteriores dataset en formato CSV y se ha realizado una transformación de estos acorde a las necesidades.
card_analytics_dataset_merge
Se ha generado un nuevo dataset uniendo los dataset card_analytics_dataset y codigospostales para poder geoposicionar las transacciones.
poligonos_merge
Se ha generado un nuevo dataset uniendo los dataset poligonos y codigospostales para poder nombrar los diferentes códigos postales.
##Mostrando los datos
Capa 1: Gasto total por código postal
Capa Choropleth que muestra el gasto total por código postal mediante un degradado de colores por cuantiles.
WITH maxima
AS (SELECT Sum(importe) importe, s.cp_cliente
FROM card_analytics_dataset_merge s
GROUP BY s.cp_cliente)
SELECT p.*, COALESCE(importe, 0) importe
FROM poligonos_merge p
LEFT JOIN maxima s ON s.cp_cliente = p.cod_postal Capa 2: Códigos postales
Capa sencilla que muestra como etiqueta el nombre del código postal. Los polígonos tienen un color transparente para que esta capa pueda ser superpuesta a otras.
SELECT *
FROM poligonos_mergeCapa 3: Sector más rentable por código postal
Capa categórica que muestra el código postal por el color del sector en el que se realiza un gasto mayor.
WITH suma
AS (SELECT Sum(importe) importe, cp_cliente, sector
FROM card_analytics_dataset_merge
GROUP BY cp_cliente, sector),
maxima
AS (SELECT Max(importe) importe, s.cp_cliente
FROM suma s
GROUP BY s.cp_cliente),
sector
AS (SELECT sector sector_max, m.cp_cliente
FROM maxima m
LEFT JOIN suma s2 ON s2.importe = m.importe)
SELECT p.*, COALESCE(sector_max, 'Desconocido') sector_max
FROM poligonos_merge p
LEFT JOIN sector s ON s.cp_cliente = p.cod_postalCapa 4: Transacciones durante el año
Capa Torque, para poder representar las transacciones a lo largo del tiempo gracias al día de la transacción. Cada punto representa la geo-posición promedio del código postal de los clientes.
SELECT *
FROM card_analytics_dataset_mergeCapa 5: Códigos postales con más transacciones entre las 6 y 8 de la mañana
Capa Choropleth que muestra el total de transacciones entre las 6 y 8 de la mañana por código postal mediante un degradado de colores por cuantiles.
WITH suma
AS (SELECT Sum(num_op) num_op, cp_cliente
FROM card_analytics_dataset_merge
WHERE franja_horaria IN ( '06-08' )
GROUP BY cp_cliente)
SELECT p.*, COALESCE(num_op, 0) num_op
FROM poligonos_merge p
LEFT JOIN suma s ON s.cp_cliente = p.cod_postal 








