Especificación de archivo de asociación
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 cual debe estar ubicado en el mismo directorio del cubo y su nombre se especifica en el archivo .plugins.
El formato de dicho XML se presenta con un ejemplo:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <gisMappingDef> <mainDimension> <!-- Location: Nombre de la dimensión geográfica --> <dimensionName>Location</dimensionName> <levels> <!-- Country: Nivel de la dimensión --> <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> </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> <!-- 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 cartografía, archivos shp --> <uri>file:/C:/ideasoft/o3bi/liferay/tomcat/webapps/geoserver/data/data/O3/paises/country.shp</uri> <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> <name>o3:worldcities</name> <label>World Cities</label> <type>shp</type> <uri>file:/C:/ideasoft/o3bi/liferay/tomcat/webapps/geoserver/data/data/O3/worldcities/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> <!-- 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:
- 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 NAMEdel 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.
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 reemplazarlas por puntos, por ejemplo, 83,624 se debe configurar como 83.624