You are on page 1of 9

VII JORNADAS DE SIG LIBRE

Creación de un módulo espacial OLAP para


Saiku.

A. Lamas, F. Sotelo (SIXTEMA), M. Borobio, J.I. Varela (IET - Xunta de Galicia)

RESUMEN
En el marco del proyecto DESOURB liderado por el “Instituto de Estudos
do Territorio ” de la Xunta de Galicia, se ha desarrollado una integración de
Saiku Analytics con el servidor de mapas MapServer, de modo que es
posible obtener una visualización en forma de mapa para datos con una
dimensión de tipo espacial.

Saiku Analytics (http://analytical-labs.com/) es una aplicación web de


código libre que proporciona un visor de consulta y análisis OLAP
amigable e intuitivo, permitiendo operaciones como: selección de cubos,
dimensiones y medidas, representación y navegación mediante tablas
pivotables, desglose y agrupamiento, filtrado, consultas MDX,
representación de gráficas, exportación a CSV y Excel y mantenimiento de
repositorio de consultas.

Saiku Analytics forma parte de Pentaho BI Suite Community Edition


(http://community.pentaho.com/) junto con otras herramientas OLAP y de
minería de datos como Pentaho BI Server, Mondrian (Pentaho Analysis
Services), Kettle (Pentaho Data Integration) o Weka (Pentaho Data
Mining).

Los trabajos realizados amplían las capacidades de este software


pudiendo ver resultados a través de un geovisor web basado en Leaflet los
resultados de las consultas OLAP. Por ejemplo, este nuevo módulo
permite obtener un mapa temático que representa la distribución espacial
de una medida del cubo (measure) mediante diferentes tonos de color; en
el que la gradación de intensidad expresa diferentes intervalos de la
medida seleccionada en unidades territoriales. Además, si para la
dimensión con carácter espacial se tiene una jerarquía con diferentes
niveles, será posible obtener mapas agrupados para cada uno de los
niveles de la dimensión. Así, si se tiene una dimensión de unidad territorial
con los niveles Municipio, Provincia y Comunidad Autónoma, se podrán
obtener mapas temáticos para cada uno de estos niveles de agrupamiento
mediante operaciones de desglose y agrupamiento.
Palabras clave: DESOURB, OLAP, analisis multidimensional, OLAP
Espacial, Saiku, MapServer, GeoMondrian, LeafLet.

Plaça Ferrater Mora 1, 17071 Girona


Tel. 972 41 80 39, Fax. 972 41 82 30
infojornadas@sigte.org http://www.sigte.udg.edu/jornadassiglibre/
Servicio de Sistemas de Información Geográfica y Teledetección

VII Jornadas de SIG Libre

INTRODUCCIÓN
En el marco del proyecto DESOURB liderado por el “Instituto de Estudos do
Territorio” de la Xunta de Galicia, se ha desarrollado una integración de Saiku
Analytics con el servidor de mapas MapServer, de modo que es posible obtener una
visualización en forma de mapa para datos con una dimensión de tipo espacial.

Uno de los objetivos de la Plataforma de Indicadores Territoriales del Proyecto


DESOURB es proporcionar a la plataforma de una infraestructura con capacidades
SOLAP (On-Line Analytic Processing con componente espacial) para la explotación
de los datos de indicadores almacenados en el data warehouse de la plataforma.

Tras realizar una serie de desarrollos y pruebas sobre varias tecnologías y


frameworks, finalmente la solución seleccionada se compone de los siguientes
elementos:
Para la explotación OLAP de la información se utiliza Saiku Analytics
(http://analytical-labs.com/), una aplicación web de código libre que
proporciona un visor de consulta y análisis OLAP amigable e intuitivo.
Para la generación de mapas de cloropletas que proporcionen una
visualización geoespacial de los cubos OLAP se desarrollan un módulo
basado en MapServer.
La integración final de la visualización geoespacial incorporada al visor web
Saiku se desarrolla mediante un componente geovisor desarrollado con la
librería Javascript LeafLet

Este nuevo módulo permite obtener un mapa temático que representa la


distribución espacial de una medida del cubo (measure) mediante diferentes tonos de
color; en el que la gradación de intensidad expresa diferentes intervalos de la medida
seleccionada en unidades territoriales.

Además, si para la dimensión con carácter espacial se tiene una jerarquía con
diferentes niveles, será posible obtener mapas agrupados para cada uno de los
niveles de la dimensión. Así, si se tiene una dimensión de unidad territorial con los
niveles Municipio, Provincia y Comunidad Autónoma, se podrán obtener mapas
temáticos para cada uno de estos niveles de agrupamiento mediante operaciones de
desglose y agrupamiento.

OLAP E INFORMACIÓN GEOGRÁFICA: SOLAP


OLAP (On-Line Analytical Processing) es un paradigma o solución utilizada en el
campo de la llamada Inteligencia empresarial (Business Intelligence) cuyo objetivo es
agilizar la consulta de grandes cantidades de datos, utilizando para ello estructuras
multidimensionales llamadas Cubos OLAP. Se usa en informes de dirección, minería
de datos, apoyo a la toma de decisiones y áreas similares.

En la base de cualquier sistema OLAP se encuentra el concepto de cubo OLAP


(también llamado cubo multidimensional o hipercubo). Se compone de hechos
numéricos llamados medidas que se clasifican por dimensiones. Por ejemplo, se
podría utilizar un modelo multidimensional para analizar la evolución de población por
municipio y edad a lo largo del tiempo con tres dimensiones: Municipio (dimensión
territorial), Tiempo (dimensión temporal) y Edad.
Plaça Ferrater Mora 1, 17071 Girona
Tel. 972 41 80 39, Fax. 972 41 82 30
infojornadas@sigte.org http://www.sigte.udg.edu/jornadassiglibre/
Servicio de Sistemas de Información Geográfica y Teledetección

VII Jornadas de SIG Libre

Figura 1: Cubo OLAP con dimensiones y medidas.

El cubo multidimensional se puede extender al número de dimensiones que se


deseen y se disponga. Así, en nuestro ejemplo se podrían incluir otras dimensiones
como Sexo, Nivel de estudios, Empleo, etc.

El cubo de metadatos es típicamente creado a partir de un esquema en estrella o


copo de nieve, esquema de las tablas en una base de datos relacional. Las medidas
se obtienen de los registros de una tabla de hechos y las dimensiones se derivan de
la dimensión de los cuadros.

La opción de añadir funcionalidades GIS a una plataforma de explotación OLAP


permite la combinación de tecnologías espaciales con el análisis OLAP en sí, ya sea
obteniendo nuevas formas representación sobre mapas ya sea proporcionando
nuevas operaciones espaciales a incorporar, como distancias, áreas, etc. De esta
forma,

En nuestro ejemplo la dimensión de Municipio es susceptible de ser considerada


una dimensión geoespacial. Añadiendo funcionalidades GIS a la base de datos
multidimensional e incorporando una capa geográfica de municipios, de modo que
también se tenga una geodatabase, la infraestrutura OLAP pasa a ser SOLAP
(Sapatial OLAP).

La interfaz de un cliente SOLAP se compondrá de dos partes principales, un


espacio de visualización y un panel de navegación. El espacio de visualización
permite al usuario ver la información deseada en forma de tablas, diagramas y/o
mapas.

En el contexto de la exploración de la información, los mapas y las gráficas hacen


mucho más que simplemente hacer visibles los datos para el usuario; son
instrumentos activos en el proceso de trabajo del usuario final. Todas las vistas
posibles no tienen que estar preparadas de antemano, sino que son gestionadas y
generadas dinámicamente por la plataforma SOLAP.

En nuestro ejemplo será posible obtener un mapa temático que representa la


distribución espacial de una medida del cubo (en este caso, la población) mediante
diferentes tonos de color; en el que la gradación de intensidad expresa diferentes
intervalos de la medida seleccionada en unidades territoriales.

Además, si para la dimensión con carácter espacial se tiene una jerarquía con
diferentes niveles, será posible obtener mapas agrupados para cada uno de los
Plaça Ferrater Mora 1, 17071 Girona
Tel. 972 41 80 39, Fax. 972 41 82 30
infojornadas@sigte.org http://www.sigte.udg.edu/jornadassiglibre/
Servicio de Sistemas de Información Geográfica y Teledetección

VII Jornadas de SIG Libre


niveles de la dimensión. Así, si se tiene una dimensión de unidad territorial con los
niveles Municipio, Provincia y Comunidad Autónoma, se podrán obtener mapas
temáticos para cada uno de estos niveles de agrupamiento mediante operaciones de
desglose y agrupamiento.

Figura 2: Cubo SOLAP, una de las dimensiones es espacial.

Durante el proceso de desarrollo y hasta llegar a la selección de la solución


tecnológica indicada, se realizaron desarrollos previos con una serie de tecnologías y
plataformas software, de las cuales algunas de ellas finalmente se descartaron por
cuestiones de facilidad de desarrollo, rendimiento y soporte de librerías.

SERVIDOR OLAP: GEOMONDRIAN


Para obtener una plataforma de explotación OLAP con información geográfica se
selecciona GeoMondrian (http://www.spatialytics.org/projects/geomondrian/), una
versión de Pentaho Analysis Services Mondrian (http://mondrian.pentaho.com/) con
soporte para datos espaciales. Es decir, GeoMondrian proporciona a un servidor
Mondrian gestión consistente de datos geoespaciales de la misma manera que
PostGIS se lo proporciona a un servidor de base de datos PostgreSQL, de modo que
si en un caso se consigue que una base de datos pase a ser una geodatabase, en el
otro conseguimos que un servidor de operaciones OLAP pase a ser SOLAP (Spatial
OLAP).

Se escoge inicialmente GeoMondrian ya que es la primera implementación


verdadera de un servidor SOLAP, siendo además un proyecto de código abierto; tanto
Mondrian como GeoMondrian se distribuyen bajo EPL (Eclipse Public License).
GeoMondrian proporciona:

Integración consistente de objetos espaciales en la estructura de cubos


OLAP, en vez de obtener estos de una geodatabase externa, servicios web
o ficheros GIS.
Implementa tipos de datos Geometry de forma nativa.
Proporciona una extensión espacial del lenguaje MDX, añadiendo
capacidades de análisis espacial a las consultas OLAP. Así, aquí tenemos
un ejemplo de consulta MDX con soporte a SQL Espacial, realizándose un
Plaça Ferrater Mora 1, 17071 Girona
Tel. 972 41 80 39, Fax. 972 41 82 30
infojornadas@sigte.org http://www.sigte.udg.edu/jornadassiglibre/
Servicio de Sistemas de Información Geográfica y Teledetección

VII Jornadas de SIG Libre


filtrado de miembros de dimensión espacial en base a la distancia de una
feature:
SELECT
{[Measures].[Población]} ON COLUMNS,
FILTER(
{[Unidad geográfica].[Región económica].members},
ST_DISTANCE([Unidad geográfica].CurrentMember.Properties( “geom”),
[Unidad geográfica].[Provincia].[Pontevedra].Properties(“geom”)) <
2000.0
) ON ROWS
FROM [Censo]
WHERE [Censo].[Año].[2001]

GEODATABASE Y DATA WAREHOUSE: POSTGRESQL + POSTGIS


El almacén de datos con soporte para información geográfica se implementa con
PostgreSQL con la extensión de soporte de datos espaciales PostGIS, dado que
actualmente GeoMondrian sólo tiene soporte para almacenes de datos PostGIS.

PostGIS se distribuye bajo licencia GPL, y hoy en día es un producto veterano que
demuestra versión a versión su eficiencia. En relación con otros productos, PostGIS
demostró ser muy superior a la extensión geográfica de MySQL, y es muy similar á
versión geográfica de Oracle.

PRIMER INTENTO: SOLAP LAYERS


Inicialmente se realizan desarrollos utilizando SOLAPLayers, un visor cartográfico
web distribuido bajo licencia BSD que permite la navegación e interacción con cubos
de datos SOLAP. SOLAPLayers está específicamente desarrollado para conectarse a
servidores OLAP GeoMondrian, ya que este módulo estaba mantenido por
Spatyalitics.org, también responsables de GeoMondrian y GeoKettle (versión de
Pentaho Data Integration Kettle con soporte de información geográfica). La interface
de usuario web está implementada utilizando las librerías javascript DojoUI (para
controles y widgets de interfaces de usuario dinámicas) y OpenLayers (para el
componente de mapa interactivo).

Sin embargo, en los desarrollos realizados sobre SOLAPLayers se encontraron los


problemas y dificultades relativas al rendimiento y respuesta de la aplicación en la
representación de un gran número de geometrías y con geometrías complejas o con
alto grado de detalles. Esto era debido a que SOLAPLayers utiliza GeoJSON para el
envío de las geometrías a representar, y la utilización de formatos vectoriales supone
problemas de rendimiento en la transmisión y en el manejo por parte de los motores
de javascript de los navegadores web en los casos indicados.

Por lo tanto, se concluye que por razones de rendimiento y para alcanzar tiempos
de respuesta adecuados es necesario utilizar formatos de imagen para la
representación de la cartografía, generando de mapas de cloropletas mediante un
servidor de mapas, aligerando así la carga de envío y de ejecución de los
navegadores web.

Actualmente se ha abandonado el desarrollo y mantenimiento de SOLAPLayers (la


última versión es de finales de 2011, http://sourceforge.net/projects/spatialytics/).

Plaça Ferrater Mora 1, 17071 Girona


Tel. 972 41 80 39, Fax. 972 41 82 30
infojornadas@sigte.org http://www.sigte.udg.edu/jornadassiglibre/
Servicio de Sistemas de Información Geográfica y Teledetección

VII Jornadas de SIG Libre


INTERFACE WEB Y ANÁLISIS OLAP: SAIKU
Finalmente se opta por utilizar la aplicación web de análisis OLAP Saiku Analytics
y desarrollar una extensión propia para la representación de datos geográficos y
mapas.

Saiku Analytics (http://analytical-labs.com/) es una aplicación web de código libre


que proporciona un visor de consulta y análisis OLAP amigable e intuitivo.

Saiku forma parte de Pentaho BI Suite Community Edition


(http://community.pentaho.com/) junto con otras herramientas OLAP y de minería de
datos como Pentaho BI Server, Mondrian (Pentaho Analysis Services), Kettle
(Pentaho Data Integration) o Weka (Pentaho Data Mining), y se distribuye bajo
licencia Apache

Saiku es el nuevo nombre que se le dio a PAT (Pentaho Analysis Tool). PAT
estaba destinado a ser el visualizador OLAP de la versión community de Pentaho,
reemplazando a JPivot, una librería de componentes JSP que se utiliza para construir
tablas OLAP generadas de forma dinámica. PAT había llegado hasta la versión 0.8,
pero el equipo de Saiku decidieron reescribir la interfaz visual, orientándola
fuertemente a las nuevas tecnologías web 2.0, Ajax e interfaces RIA (Rich Internet
Application), para lo que se utiliza las librerías javascript JQuery y JQuery UI.

Lo cierto es que Saiku es un navegador OLAP muy liviano e intuitivo, que saca
provecho de muchos recursos que mejoran la experiencia del usuario, cosas tan
simples como técnicas de drag & drop para el armado de las consultas, que permite a
los usuarios construir sus propias vistas arrastrando y soltando campos y visualizando
los resultados según se va construyendo la consulta, permitiendo analizar los datos
en forma de tabla pivotante o en modo gráfico.

Figura 3: Interface web Saiku Analytics de análisis OLAP

Además Saiku es también un potente módulo de análisis OLAP, de modo que


puede hacer de interfaz de usuario conectándose a otro servidor OLAP existente, en

Plaça Ferrater Mora 1, 17071 Girona


Tel. 972 41 80 39, Fax. 972 41 82 30
infojornadas@sigte.org http://www.sigte.udg.edu/jornadassiglibre/
Servicio de Sistemas de Información Geográfica y Teledetección

VII Jornadas de SIG Libre


nuestro caso el servidor SOLAP GeoMondrian, pero también tiene capacidades de
proporcionar análisis OLAP propio, como servidor independiente.

La interfaz de usuario de Saiku proporciona al usuario funcionalidades y


operaciones operaciones como:
Selección de cubos, dimensiones y medidas.
Representación y navegación mediante tablas pivotables.
Desglose y agrupamiento en base a jerarquías de dimensión.
Opciones de filtrado de miembros
Edición de consultas MDX.
Representación de gráficas.
Exportación a CSV y Excel.
Mantenimiento de repositorio de consultas.

Figura 4: Gráficas generadas por Saiku Analytics.

SERVIDOR DE MAPAS: MAPSERVER Y LEAFLET


Una vez seleccionado Saiku Analytics como interface web de explotación OLAP, se
pasa a desarrollar un componente de visualización GIS que sea fácilmente integrable.
Como se indicaba, por razones de rendimiento y para alcanzar tiempos de respuesta
adecuados se opta por utilizar formatos ráster para el envío y representación de los
mapas asociados a la dimensión espacial en el cubo SOLAP.

Por ello, el esquema de integración a utilizar es el siguiente:

Se utiliza un servidor de mapas, en nuestro caso MapServer, generación


de tiles o teselas de mapa en formato ráster, mediante servicios web WMS
(Web Map Services). MapServer nos proporciona un rendimiento adecuado
para la generación de los mapas de cloropletas a utilizar.
MapServer se conecta al mismo data warehouse que el servidor de OLAP
GeoMondrian. Por lo tanto, es necesario mantener una coherencia o
sincronización entre la definición de cubos que utiliza GeoMondrian
(ficheros XML de esquema de cubos) y la definición de capas servidas y
estilos de MapServer (ficheros MAP). Para esto, la configuración de capas
servidas por MapServer se generarán al vuelo (se prescinde del fichero

Plaça Ferrater Mora 1, 17071 Girona


Tel. 972 41 80 39, Fax. 972 41 82 30
infojornadas@sigte.org http://www.sigte.udg.edu/jornadassiglibre/
Servicio de Sistemas de Información Geográfica y Teledetección

VII Jornadas de SIG Libre


MAP) mediante un módulo desarrollado con Mapscript y que consultará los
cubos gestionados por GeoMondrian para servir las correspondientes
capas (layers).
La configuración de mapas de cloropletas se realiza generando ficheros
SLD (Style Descriptor Layer) para la definición de intervalos y estilos en
base a los que se generará el mapa. Para la generación de paletas de
colores para los mapas de cloropletas se utiliza la librería ColorBrewer
(http://colorbrewer2.org/).
Finalmente, para incorporar la visualización de mapas en Saiku se
desarrolla un componente de mapa interactivo utilizando la librería
Javascript LeafLet (http://leafletjs.com/). Leaflet es una librería JavaScript
opensource (distribuida bajo licencia BSD) orientada a móviles con mapas
interactivos. La elección de LeafLet se hace en base a conseguir mejores
rendimientos y tiempos de respuesta, además de conseguir una interacción
más suave y agradable para el usuario final.
El componente de mapa interactivo desarrollado con LeafLet utilizará las
capas WMS proporcionadas por el servidor de mapas MapServer. En base
a la consulta MDX generada por Saiku se identificará la capa
correspondiente y que el cliente web solicitará al servidor de mapas.

Figuras 5: Representación de mapas de cloropletas integrada en Saiku

Plaça Ferrater Mora 1, 17071 Girona


Tel. 972 41 80 39, Fax. 972 41 82 30
infojornadas@sigte.org http://www.sigte.udg.edu/jornadassiglibre/
Servicio de Sistemas de Información Geográfica y Teledetección

VII Jornadas de SIG Libre

Figuras 6: Operación de roll up (agrupamiento) sobre un mapa de cloropleta

CONCLUSIONES
Como conclusiones y en el estado actual del proyecto, indicaríamos que:

La opción de añadir funcionalidades GIS a un sistema OLAP permite la


combinación de tecnologías, ya sea obteniendo nuevas formas
representación ya sea proporcionando nuevas operaciones. En este caso,
se combinan las funcionalidades obtenidas de un data warehouse y un
servidor OLAP, con las obtenidas de una geodatabase y un servidor de
mapas.
Razones de rendimiento y para alcanzar tiempos de respuesta rápidos en la
interacción para visores de mapas requieren trasladar la carga de trabajo al
servidor de mapas y utilizar formatos ligeros para la representación de la
cartografía, aligerando así la carga de envío y de ejecución de los
navegadores web.

REFERENCIAS
1. Entrada en la Wikipedia de OLAP (On Line Analytical Processing):
http://es.wikipedia.org/wiki/OLAP.
2. Web de GeoMondrian: http://www.spatialytics.org/projects/geomondrian/.
3. Web de PostgreSQL: http://www.postgresql.org.es/.
4. Web de PostGIS: http://postgis.net/.
5. SOLAPLayers en SourceForge: http://sourceforge.net/projects/spatialytics/.
6. Web de Saiku Analytics: http://analytical-labs.com/.
7. Web de MapServer: http://mapserver.org/.
8. Web de LeafLet: http://leafletjs.com/.

Plaça Ferrater Mora 1, 17071 Girona


Tel. 972 41 80 39, Fax. 972 41 82 30
infojornadas@sigte.org http://www.sigte.udg.edu/jornadassiglibre/

You might also like