Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Esta página 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:

  1. Descomprimir el archivo en algún directorio del sistema, por ejemplo /IdeaSoft/gis
  2. Si el archivo se descomprime en un directorio diferente, o si la prueba se está realizando en Windows:
  3. Ejecutar el módulo O3 Browser
  4. Abrir el cubo DemoGis.cube incluido en el zip mencionado anteriormente.
  5. Seleccionar en el menú: Ventana -> Plug-ins -> GIS Plugin

Se despliega una ventana con el mapa del mundo y se habilitan las siguientes características:

  • 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:

  1. Agregar el cubo DemoGis al servidor de O3, ejecutar el administrador (AdmServer), agregar el cubo y asociar los roles y permisos correspondientes.
  2. Acceder al O3Portal (/o3portal) y abrir dicho cubo
  3. Se habilita un botón "Plug-ins" junto a "Opciones", seleccionarlo y luego seleccionar "GIS Plugin"

Se despliega una nueva ventana con el mapa, con las siguientes funcionalidades:

  • Para acercar o alejar el mapa se puede utilizar la rueda de desplazamiento del mouse (Scroll Wheel) o presionar Shift mientras se arrastra el mouse para determinar la región a acercar.
  • 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

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:

  1. Se asume que ya se realizaron los pasos para la visualización en O3 Portal, de lo contrario agregar el cubo DemoGis al servidor como se describe en ese punto.
  2. Ingresar a EPortal (/eportal) con el usuario admin
  3. Seleccionar la comunidad en la que se desea trabajar, por ejemplo: Mis Espacios Web / Default / Páginas Privadas
  4. Agregar una nueva página llamada GIS, esto no es necesario pero facilita la visualización del ejemplo:
  5. Agregar el portlet de GIS en la nueva página:
    • Seleccionar "Añadir Portlet" en el meńu del portal
    • Seleccionar "O3 GIS Portlet" de la categoría "IdeaSoft O3"
  6. Editar la configuración del portlet
  7. Seleccionar el cubo DemoGis

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.

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:

  • El layer del mapa asociado al nivel
  • El atributo del mapa que se utiliza para realizar la asociación con el nivel del cubo
  • El atributo del nivel de la dimensión (clave, etiqueta, etc.) que se asocia con el atributo del layer.

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>
</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:

  • Country con o3:countries** La asociación se realiza entre la etiqueta de la dimensión y el atributo CNTRY_NAME del layer
  • City con o3:worldcities** La asociación se realiza entre la etiqueta de la dimensión y el atributo NAME del layer
    • El atributo parentLayerAttributeName especifica que en el layer de las ciudades, el nombre del país se encuentra en el atributo CNTRY_NAME. Este atributo se utiliza al seleccionar un país, para dejar sólo visible las ciudades de ese país.

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.

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:

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.

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.

  • No labels