Se presenta el soporte de GIS introducido en la versión 5.2 de O3, presentando un ejemplo y a continuación detalles sobre el funcionamiento del módulo y su configuración. |
Este archivo contiene una versión modificada del cubo Demo para integrarse con el módulo GIS.
Para ver el ejemplo seguir los siguientes pasos:
Se despliega una ventana con el mapa del mundo y se habilitan las siguientes características:
La ejecución del componente GIS en los módulos Web de O3: O3Portal y EPortal requiere la instalación de un componente adicional, en esta página se describen los pasos a seguir para instalar y configurar dicho componente.
Luego de instalado el componente GeoServer y confirmada la correcta configuración de los layers en dicho servidor, seguir estos pasos para visualizar el cubo en O3Portal:
Se despliega una nueva ventana con el mapa, con las siguientes funcionalidades:
La barra de herramientas de GIS se compone de 8 botones, tal como se muestra en la siguiente imagen:
La funcionalidad de cada uno de los botones es la siguiente (por orden de izquierda a derecha en la barra de herramientas):
Color de Series
Si se ubica la dimensión geográfica en las series, al activar este botón se utilizan los colores de las series para representar los elementos geográficos en el mapa.
Gradiente
Si se ubica la dimensión geográfica en las series, al activar este botón se utiliza un gradiente de colores de amarillo a rojo para representar los elementos geográficos en el mapa de acuerdo a su valor actual.
Mínimos/Máximos
Cuando la dimensión geográfica no está ubicada en las series, sino que está ubicada en el eje X, en caso de seleccionar los botones de Mínimos o Máximos, los elementos geográficos toman el color del elemento que le da el menor o el mayor valor respectivamente.
Tabla de Información
Si se selecciona un elemento geográfico mediante un click estando este botón activado, se despliega una tabla con la información disponible del elemento geográfico en el mapa. La tabla puede ocultarse mediante un nuevo click que desactive el botón. Cuando el botón está activado se deshabilita la selección del elemento geográfico en el cubo.
Caja de Selección Múltiple
Al activar este botón, se puede crear una caja para seleccionar los elementos geográficos contenidos dentro de dicha región. En el caso de elementos geográficos en forma de polígonos, se seleccionan todos los elementos que intersecten con la caja dibujada.
La caja de selección múltiple se dibuja desplazando el mouse con el botón izquierdo presionado hasta liberar el botón. Una vez dibujada una región, es posible seleccionar otra sin perder la anterior aplicando el mismo procedimiento pero manteniendo presionado la tecla Ctrl.
Aplicar Selección
Al presionar este botón se realiza la selección (tanto en el mapa como en el cubo) de los elementos geográficos marcados.
Cancelar Selección
Al presionar este botón se deseleccionan (tanto en el mapa como en el cubo) los elementos geográficos marcados.
La barra de herramientas con funcionalidad completa es compatible con los navegadores Internet Explorer 8 (con y sin vista de compatibilidad), y Mozilla Firefox 3.x. No se soportan las funcionalidades de selección múltiple en las versiones de Internet Explorer 6 y 7.
El módulo GIS ofrece un portlet para la visualización de un mapa, el portlet permite la selección del cubo (o vista) a desplegar, de forma similar al portlet estándar de vista de O3, la restricción que se aplica es que el cubo seleccionado debe tener configurado el GIS, como es el caso del cubo DemoGis que se está usando de ejemplo.
Para utilizar este portlet con el cubo DemoGis seguir los siguientes pasos:
Se despliega el mapa del mundo, dado que los países no están en las series no se asignan colores a cada uno de los elementos geográficos. Para esto se puede generar la vista deseada en el O3Portal y seleccionarla en el Portlet.
El portlet de GIS es compatible con el portlet de control, por lo tanto se puede agregar un portlet de control asociado a la dimensión geográfica (siguiendo las mismas instrucciones que para las vistas estándar), de esta manera al seleccionar un elemento geográfico en el portlet de control el mapa se centra en dicho elemento.
La barra de herramientas de GIS en EPortal es la misma descripta para O3Portal, sin las funcionalidades de selección múltiple.
El componente GIS se basa en la realización de una asociación entre una dimensión de un cubo y un mapa (expresado como un conjunto de capas o "layers").
La asociación se realiza especificando para cada nivel de la dimensión:
Esta asociación se expresa actualmente en un archivo XML, el formato de dicho XML se presenta con un ejemplo:
<gisMappingDef> <mainDimension> <dimensionName>Location</dimensionName> <levels> <levelName>Country</levelName> <layerName>o3:countries</layerName> <levelAttributeName>label</levelAttributeName> <layerAttributeName>CNTRY_NAME</layerAttributeName> <visibility>ALWAYS</visibility> </levels> <levels> <levelName>City</levelName> <layerName>o3:worldcities</layerName> <levelAttributeName>label</levelAttributeName> <layerAttributeName>NAME</layerAttributeName> <parentLayerAttributeName>COUNTRY</parentLayerAttributeName> <visibility>ONLY_SELECTED_LEVEL</visibility> </levels> </mainDimension> <mapDef> <layers> <name>o3:countries</name> <label>Countries</label> <type>shp</type> <uri>file:/IdeaSoft/O3v5.2.000/files/gis/country.shp</uri> <symbolDef> <labelAttributeName>CNTRY_NAME</labelAttributeName> <defaultFillColor>#c0c0c0</defaultFillColor> <strokeColor>#404040</strokeColor> <selectedColor>#00b2b2</selectedColor> <labelFontFamily>dialog</labelFontFamily> <labelFontSize>10</labelFontSize> <labelFontStyle>0</labelFontStyle> <strokeWidth>1</strokeWidth> </symbolDef> </layers> <layers> <name>o3:worldcities</name> <label>World Cities</label> <type>shp</type> <uri>file:/IdeaSoft/O3v5.2.000/files/gis/worldcities.shp</uri> <symbolDef> <labelAttributeName>NAME</labelAttributeName> <defaultFillColor>#3c3c3c</defaultFillColor> <strokeColor>#3c3c3c</strokeColor> <selectedColor>#00b2b2</selectedColor> <labelFontFamily>dialog</labelFontFamily> <labelFontSize>10</labelFontSize> <labelFontStyle>0</labelFontStyle> <strokeWidth>1</strokeWidth> </symbolDef> </layers> </mapDef> <maxExtent>-180,-90,180,83624</maxExtent> </gisMappingDef> |
En este ejemplo se declara (bajo el elemento mainDimension) que la dimensión Location tiene dos niveles: Country y City, a su vez cada uno de estos niveles está asociado a un layer del mapa:
Bajo el elemento mapDef/layers se especifican los layers que definen el mapa, el nombre especificado en cada uno de los layers debe coincidir con los nombres especificados en la asociación con el nivel de la dimensión. Para el nombre de cada layer debe utilizarse la sintaxis namespace:nombre_de_layer.
El elemento uri especifica la ubicación del archivo shp que especifica el layer.
El nodo maxExtent especifica, las coordenadas provistas en la configuración de la capa en GeoServer utilizadas en el entorno web (Encuadre Lat/Lon).
A los valores que provee Geoserver, se le deben quitar las comas y reemplazar los puntos por comas, por ejemplo, 58.200,80 se debe configurar como 58200,80
El módulo de GIS está basado en el soporte de plugins en O3, es por ello que para poder asociar un mapa al cubo se debe especificar un archivo de definición de plugins.
Supongamos que tenemos un cubo con nombre DemoGis.cube que tiene una dimensión geográfica Location (con las características presentadas en el XML anterior), en este caso se debe escribir un archivo de texto con nombre DemoGis.plugins (el archivo debe estar ubicado en el mismo directorio donde está el cubo, el nombre debe ser igual al nombre del cubo pero con extensión .plugins), con el siguiente contenido:
plugin.0.name=GIS Plugin plugin.0.dsc=GIS Plugin plugin.0.browser.class=com.ideasoft.o3.gis.plugin.GisBrowserPlugin plugin.0.server.class=com.ideasoft.o3.gis.plugin.GisServerPlugin plugin.0.args=mapping=DemoGisMapping.xml |
En este archivo debe modificarse el valor del atributo mapping (en el ejemplo DemoGisMapping.xml) al nombre del archivo XML con la especificación de la asociación, este archivo también debe ubicarse en el mismo directorio donde se encuentra el archivo .cube.
Como se describió previamente, la asociación de los layers del mapa a los niveles de la dimensión se realiza en un archivo XML, este archivo debe estar ubicado en el mismo directorio que el cubo y su nombre se especifica en el archivo .plugins.