Excerpt |
---|
Se presenta el soporte de GIS introducido en la versión 5.2 de O3, se comienza presentando un ejemplo y a continuación se presentan más detalles sobre el funcionamiento del módulo y su configuración. |
Ejemplo
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:
- Descomprimir el archivo en algún directorio del sistema, por ejemplo /IdeaSoft/gis
- Si el archivo se descomprime en un directorio diferente, o si la prueba se está realizando en Windows:
- Editar el archivo DemoGisMapping.xml
- Reemplazar las ocurrencias (2) de /Ideasoft/gis por la ubicación donde quedaron los archivos:
- <uri>file<uri>file:/IdeaSoft/gis/country.shp<shp</uri><uri>
- file<uri>file:/IdeaSoft/gis/worldcities.shp<shp</uri>
- Ejecutar el módulo O3 Browser
- Abrir el cubo DemoGis.cube incluido en el zip mencionado anteriormente.
- Seleccionar en el menú: Ventana -> Plug-ins -> GIS Plugin
...
- Al seleccionar un elemento geográfico en O3 el mapa se centra en dicha ubicación
- Si se ubica la dimensión Location en las series, se puede seleccionar que se utilice el color de las series para representar los elementos geográficos (seleccionar el tercer botón de la barra de herramientas de GIS)
- El doble-click en un elemento geográfico del mapa realiza la selección tanto en el mapa como en el cubo.
- Cuando la dimensión geográfica (Location en este caso) no está ubicada en las series, sino que está ubicada en el eje X, se puede seleccionar Max o Min, con esta opción los elementos geográficos toman el color del elemento que le da el mayor (o menor) valor.
Por ejemplo en la siguiente imagen el color de Brasil es rojo porque el tipo de cliente con más ventas es "Medium Accounts" y Canadá es azul porque la categoría con más ventas es "Minor Accounts".
Ejecución en ambiente Web
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.
Ejecución en O3Portal
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:
...
- Para acercar o alejar el mapa se puede utilizar la rueda de desplazamiento del mouse (Scroll Wheel) o presionar la tecla Shift mientras se arrastra el mouse manteniendo el botón izquierdo presionado para determinar la región a acercar.
- Para desplazar el mapa se arrastra el mouse manteniendo el botón izquierdo presionado.
- El click en un elemento realiza la selección (tanto en el mapa como en el cubo) y despliega la información asociada a dicho elemento (esta información es provista por el mapa).
- La selección de un elemento geográfico en la vista de O3 determina la selección del elemento en el mapa
Barra de Herramientas de GIS en O3Portal
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
...
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.
...
Notas
...
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.
Ejecución en EPortal
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:
...
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.
Barra de Herramientas de GIS en EPortal
La barra de herramientas de GIS en EPortal es la misma descripta para O3Portal, sin las funcionalidades de selección múltiple.
Conceptos Básicos
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:
...
Code Block | ||||
---|---|---|---|---|
| ||||
<gisMappingDef> <mainDimension> <mainDimension> <!-- Location: Nombre de la dimensión geográfica --> <dimensionName>Location</dimensionName> <levels> <levels> <!-- Country: Nivel de la dimensión --> <levelName>Country</levelName> <levelName>Country</levelName> <!-- o3: Almacén de datos, countries: Nombre de la capa --> <layerName>o3:countries</layerName> <!-- Atributo del nivel de la dimensión, label: etiqueta corta, key: clave --> <levelAttributeName>label</levelAttributeName> <!-- CNTRY_NAME: Atributo de la capa --> <layerAttributeName>CNTRY_NAME</layerAttributeName> <!-- Visibilidad: ALWAYS, ONLY_SELECTED_LEVEL <visibility>ALWAYS</visibility>--> <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> <mapDef> <layers> <!-- o3: Almacén de datos, countries: Nombre de la capa --> <name>o3:countries</name> <!-- Countries: Etiqueta de la capa --> <label>Countries</label> <!-- shp: Formato cartográfico admitido --> <type>shp</type> <!-- uri: Path donde se encuentra la carografía, archivos shp --> <uri>file:/IdeaSoft/O3v5.2.000/files/gis/country.shp</uri> <symbolDef> <symbolDef> <!-- CNTRY_NAME: Etiqueta del atributo de la capa --> <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> <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> </layers> </mapDef><!-- Coordenadas: latitud, longitud --> <maxExtent>-180,-90,180,83.624</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:
...
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).
Note |
---|
En oportunidades de trabajar en MS Windows donde además los nombres de las dimensiones geográficas poseen caracteres especiales, puede suceder que no se reconozca correctamente la referencia. En dicho caso, corresponde sustituir dichos caracteres en el nombre de la dimensión en el XML anterior, por los caracteres interpretados por Java. Por ejemplo, los caracteres: |
A los valores que provee Geoserver, se le deben quitar las comas y reemplazarlas por puntos, por ejemplo, 83,624 se debe configurar como 83.624
Asociación de un mapa a un cubo
Especificación del plugin para el cubo
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:
...
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.
Especificación del archivo de asociación
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.