Carga de datos en el sistema

Capa de Tendencias

Carga de capa de Tendencias

Para el manejo de la capa de índices se partió de una hoja de cálculo. con los valores de los índices para las diferentes estaciones, que se transformo a formato CSV. A partir de ese CSV se preparó un archivo en formato ESRI-SHAPE, en el que se localizaban las diferentes estaciones y se añadía un campo por cada uno de los índices de que se disponía.

Índices por estación

De esta manera aparecerán un número de puntos igual al número de estaciones que tendremos en el archivo ESRI-SHAPE (Capa en GeoServer). Si se realiza una consulta sobre alguno de estos puntos se podrá ver en el resultado la composición de los datos para cada estación.

Estilos de la capa de Tendencias

Los estilos son aplicados por el visor mediante código:

geomati.co.Map.prototype.createIndexStyleFunction_ = function(indexName, style) {

    return function(feature, resolution) {
        var color, witdh = 2, radius = 5;

        var value = feature.get(indexName);

        if (value === 1 || value === 2 || value === 3) {
            radius = 2;
            witdh = 2;
        }

        if (value === 1) {
            color = "#22ff22";
        } else if (value === 2) {
            color = "#0000ff";
        } else if (value === 3) {
            color = "#ffb92a";
        } else {
            if (value > 0) {
                color = "#0000ff"
            } else {
                color = "#ffb92a"
            }
            radius = Math.round( Math.abs(value) / style.step ) * 2
        }

        return [new ol.style.Style({
            image : new ol.style.Circle({
                stroke : new ol.style.Stroke({
                    color : color,
                    width : witdh
                }),
                radius : radius * 2
            })
        })]
    }
};

Actualización de la capa de Tendencias

Para actualizar la capa de índices se deberán tener en cuenta los siguientes puntos:

  • Cargar una capa en GeoServer con el nombre que se deseé. Actualmente la capa está configurada con el nombre foreccsa:tendencias_jubones

  • Modificar la carga de la capa en el archivo config/layers.json, MANTENIENDO SIEMPRE EL NOMBRE indexes EN EL ID DE LA CAPA, ya que este identificador es el que utiliza para manejar la capa en el visor:

    ...
      },
      {
        "group": "indices",
        "toc": false,
        "label": {
          "es": "Índices"
        },
        "layers": [
          {
            "type": "wfs",
            "id": "indexes",
            "origin": "http://geoportal.ciifen.org/geoserver/foreccsa/wfs",
            "typename": "foreccsa:tendencias_jubones"
          }
        ]
      },
      {
    ...
    

Tras la actualización de los datos, si se incorpora alguna nueva variable, se deberá actualizar el archivo que maneja los estilos de las diferentes variables. Para ello deberemos modificar el archivo config/idex.styles.json. En los styles deberemos incluir el estilo que queramos en caso de que no exista. Los estilos se definen por el valor máximo y mínimo y por el paso. Después deberemos incluir en indexes el identificador del nuevo valor y el estilo que le corresponde, pudiendo ser cualquiera de los existentes (“1-1”, “10-10”, etc), o el que hayamos definido nosotros.

Capas de datos

Para poder realizar una carga de datos dinámica en el sistema, se ha creado un archivo de configuración config/layers.json desde el cual se puede añadir, eliminar o modificar los datos de una capa.

En el archivo de capas, layers.json se definen un número de parámetros que nos permitirán el manejo de los diferentes tipos de capas:

  • group (String), identificador del grupo al que pertenecen las capas. Se tendrá en cuenta para la creación de la estructura del TOC

  • toc (Boolean), indica si se debe mostrar el grupo en el TOC o no

  • label (Object), objecto con la etiqueta en el idioma que indica su clave, de esta manera “es”: “una etiqueta”, nos indica que la etiqueta está en el idioma ES_es

  • layers (Array), matriz de objeto capa:
    • type (String), wfs, wms o bing, dependiendo del tipo de capa que queramos añadir
    • id (String), valor identificador de la capa dentro del visor
    • visible (Boolean), si por defecto se muestre la capa o no

Después aparecerán unos parámetros particulares de cada tipo de capa:

  • WFS,
    • typename (String) el nombre de la capa
    • origin (String) la URL del servicio WFS
  • WMS,
    • url (String) la url del Servicio WMS

    • params (Object) parámetros que se adjuntarán en la petición WMS:
      • LAYERS (String) nombre de la capa
    • serverType (String) tipo de servidor (necesario para la capa en OL3)

    • label (Object), objecto con la etiqueta en el idioma que indica su clave, de esta manera “es”: “una etiqueta”, nos indica que la etiqueta está en el idioma ES_es

    • legend (Object), objecto con la etiqueta en el idioma que indica su clave pero la que aparecerá en el diálogo de la leyenda, de esta manera “es”: “una etiqueta”, nos indica que la etiqueta está en el idioma ES_es

Carga de datos en el sistema

Para cargar datos en el sistema solo será necesario insertar en el archivo config/layers.json un grupo que incluya el número de capas que se deseé. En el ejemplo siguiente se muestra como se inserta el grupo de capas de la Cuenca del Rio Jubones:

{
  "group": "cuenca_jubones",
  "toc": true,
  "label": {
    "es": "Cuenca Río Jubones"
  },
  "layers": [
    {
      "type": "wms",
      "id": "cj_precipitacion",
      "url": "http://geoportal.ciifen.org/geoserver/foreccsa/wms?",
      "params": {
        "LAYERS": "foreccsa:cj_precipitacion"
      },
      "serverType": "geoserver",
      "visible": false,
      "label": {
        "es": "Precipitación"
      },
      "legend": {
        "es": "Precipitación"
      }
    },
    {
      "type": "wms",
      "id": "cj_tmax",
      "url": "http://geoportal.ciifen.org/geoserver/foreccsa/wms?",
      "params": {
        "LAYERS": "foreccsa:cj_tmax"
      },
      "serverType": "geoserver",
      "visible": false,
      "label": {
        "es": "Temperatura Máxima"
      },
      "legend": {
        "es": "Temp. Máxima"
      }
    },
    {
      "type": "wms",
      "id": "cj_tmin",
      "url": "http://geoportal.ciifen.org/geoserver/foreccsa/wms?",
      "params": {
        "LAYERS": "foreccsa:cj_tmin"
      },
      "serverType": "geoserver",
      "visible": false,
      "label": {
        "es": "Temperatura Mínima"
      },
      "legend": {
        "es": "Temp. Mínima"
      }
    }
  ],
  "subgroups": false
},

La propiedad subgroups podrá ser un boolean (true | false), o una matriz ([groupA, groupB]). En el caso de que un grupo tenga subgrupos, estos subgrupos deberán tener este valor como true, y el grupo padre deberá tener una matriz con los identificadores de los grupos que serán sus subgrupos.

Warning

Se recomienda revisar con detenimiento el archivo layers.json antes de realizar alguna modificación, realizar una copia de seguridad del archivo antes de esta y usar validadores de JSON como ayuda a la edición del archivo.

Actualización de datos en el sistema

Se podrá modificar cualquier valor de los datos del archivo layers.config, lo único que se recomienda para hacer actualización de datos es que SE MANTENGAN LOS IDENTIFICADORES DE LAS CAPAS, ya que algunas capas tienen asociado un comportamiento particular dentro del visor y en el código están referenciadas por el identificador.

Warning

Mantener SIEMPRE los identificadores de las capas en el archivo para mantener la funcionalidad asociada a la capa en el visor.

Enlace a imágenes estáticas de otros portales

Para alguna funcionalidad del visor, se necesitaba enlazar a imágenes estáticas en otros servoidores. Para evitar que un cambio de nombre en la imagen obligue a poner una versión de desarrollo en producción, se ha ideado un sistema de actualización de los nombres de las imágenes mediante la configuraciópn de archivos.

Para ello en la carpeta config se han incluido unos archivos: * meteo.json * stats.json * dynamic.json

con una estructura similar:

  • url (String), la URL del servidor donde se encuentran las imágenes
  • filename (String), si se fija uno en los archivos que deben ser consumidos, siempre tienen un nombre común, por ejemplo mm5_ecu_p_24d.gif para precipitación o mm5_ecu_t_24d.gif para temperatura, siendo solo una letra la que varia. En este campo deberá ir los valores comunes de los nombres de las diferentes imágenes sustituyendo el caracter variable por una ?
  • initial (String), se deberá incluir la parte variable del nombre de las imágenes, la que en el caso anterior era sustituido por el símbolo ?

Carga de boletines

Los boletines que se vayan generando deberán guardarse en la carpeta destinada a tal fin en el servidor del CIIFEN.

Warning

Pongase en contacto con el administrador de sistemas del CIIFEN para organizar esta tarea.

Los boletines se guardarán en unas carpetas públicas que están destinadas al almacenamiento de estos documentos. Para añadir el boletín mensual:

  1. Contacte con el administrador del servidor para proceder a la subida del boletín.
  2. SI uested es el administrador del sistema, copie el boletín en la carpeta del año que corresponda en la ruta /var/www/sat-foreccsa/data/boletines.