Cómo se publican los datos reutilizables de meteorología

Muchos de los DataSets de la iniciativa opendata.euskadi.net son el resultado del “segundo bote” del esfuerzo de mejora de la calidad de los contenidos de euskadi.net, es decir, los nuevos DataSet de opendata.euskadi.net NO aparecen de proyectos cuyo objetivo principal es abrir datos sino de proyectos cuyo objetivo es publicar contenidos en formato “tradicional” / web para que pueda acceder a ellos la generalidad de la ciudadanía.

Sin embargo, en todos estos proyectos de mejora de la calidad de los contenidos web, hay una derivada de apertura de datos que puede ser:

  • Implícita (porque lo ofrece la infraestructura de euskadi.net)
  • Explícita (porque se hace hacen desarrollos específicos para publicar los datos)

Durante el año 2010 se ejecutó el proyecto que dio forma a la FASE 1 de opendata.euskadi.net; en el ámbito de estes proyecto, se publicaron cuatro conjuntos de datos:

  • Datos de meteorología: previsiones del tiempo, datos de estaciones, etc
  • Estadísticas del EUSTAT
  • Contenidos ya disponibles en Euskadi.net: ayudas, contrataciones, recursos turísticos, etc
  • Datos de información geográfica (GIS)

En el caso particular de los datos meteorológicos, siguiendo la filosofía de mejorar primero la calidad de los contenidos web y como derivada publicar datos abiertos, la integración de los datos meteorológicos se integraron en opendata en el ámbito de un proyecto de mejora web en el que había tres objetivos:

  1. Integrar automáticamente los datos de meteorología en la infraestructura común de euskadi.net de forma que pudieran ser reutilizados como contenidos web
  2. Crear una versión de los datos de meteorología para el canal interactivo de la televisión digital por cable de euskaltel
  3. Publicar los datos “en crudo” (opendata)

Para ello, se creó una aplicación (v78) que extrae datos de euskalmet desde diferentes fuentes (base de datos, ficheros, etc) y los consolida como contenidos reutilizables en la infraestructura común de euskadi.net.

Las razones por las que se “vuelcan” contenidos meteorológicos desde la aplicación específica de euskalmet a la infraestructura común de euskadi.net son entre otras:

  • Cuando los contenidos se manejan en aplicaciones específicas, se crean “nichos” de contenido que únicamente son accesibles desde la aplicación concreta.
  • Los contenidos no son reutilizables por otras iniciativas
  • Los contenidos no se pueden buscar en el buscador general de euskadi.net
  • No hay metadatos comunes a todos los contenidos de euskadi.net independientemente de su naturaleza
  • No es directa la publicación como fuentes abiertas en el portal openData: hay que crear aplicaciones específicas para publicar los datos de cada una de las fuentes.

Esta aplicación (v78) de integración de datos desde los sistemas de euskalmet a contenidos reutilizables de euskadi.net tiene las siguientes funcionalidades:

1. Crea contenidos reutilizables en euskadi.net para mostrar la previsión del tiempo, preisiones marítimas, mapas y avisos… Todos los contenidos creados tienen las ventajas de los contenidos de euskadi.net en particular son buscables y reutilizables en todos los portales de Euskadi.net.

2. Se ha creado una visualización de los contenidos web adaptada a la TV digital por cable de Euskaltel.

3. Se publica datos abiertos (opendata)

En este último apartado, los datos abiertos corresponden a:

Si nos centramos en cómo se puden reutilizar los datos de predicción del tiempo en tiempo real, actualmente hay un único contenido de predicción meteorológica (met_forecast) de tipo prevision_tiempo, (opendata.euskadi.net/contenidos/prevision_tiempo/met_forecast) que contiene información para 6 ciudades: Bilbao, Donostia-San Sebastián, Vitoria-Gasteiz, Pamplona, Mondragon y La Guardia en 6 versiones: para cada previsión (hoy, mañana y pasado) en cada idioma (es, eu):

Versión Descripción
es_today predicción para hoy en castellano
eu_today predicción para hoy en euskera
es_tomorrow predicción para mañana en castellano
eu_tomorrow predicción para mañana en euskera
es_next predicción para pasado mañana en castellano
eu_next predicción para pasado mañana en euskera

El contenido met_forecast tiene la siguiente estructura

Versión Archivos del Documento Descripción
(es|eu)_(today|tomorrow|next) En esta versión del contenido se recoge la predicción para hoy|mañana|siguientes en castellano|euskera para las 6 ciudades.
adjuntos/forecast.xml El fichero forecast.xml recoge los datos de la predicción de hoy|mañana|siguientes en castellano|euskera para las 6 ciudades.
web.html Este fichero recoge la presentación en Euskadi.net para la predicción de hoy|mañana|siguientes en castellano|euskera
tdc.hml Este fichero recoge la presentación en la televisión digital de euskaltel para la predicción de hoy|mañana|siguientes en castellado|euskera

Como se puede ver en la estructura anterior, hay 6 XML con datos reutilizables cuya URL, teniendo en cuenta que el contenido es opendata.euskadi.net/contenidos/prevision_tiempo/met_forecast será:

/es_today/adjuntos/forecast.xml predicción hoy en castellano opendata.euskadi.net/contenidos
/prevision_tiempo/met_forecast
/es_today/adjuntos/forecast.xml
/eu_today/adjuntos/forecast.xml predicción hoy en euskera opendata.euskadi.net/contenidos
/prevision_tiempo/met_forecast
/es_tomorrow/adjuntos/forecast.xml
/es_tomorrow/adjuntos/forecast.xml predicción mañana en castellano opendata.euskadi.net/contenidos
/prevision_tiempo/met_forecast
/es_tomorrow/adjuntos/forecast.xml
/eu_tomorrow/adjuntos/forecast.xml predicción mañana en euskera opendata.euskadi.net/contenidos
/prevision_tiempo/met_forecast
/eu_tomorrow/adjuntos/forecast.xml
/es_next/adjuntos/forecast.xml predicción siguientes en castellano opendata.euskadi.net/contenidos
/prevision_tiempo/met_forecast
/es_next/adjuntos/forecast.xml
/eu_next/adjuntos/forecast.xml predicción siguientes en euskera opendata.euskadi.net/contenidos
/prevision_tiempo/met_forecast
/es_next/adjuntos/forecast.xml

El formato de los datos reutilizables (el fichero forecast.xml) es el siguiente:

<?xml version=“1.0″ encoding=“ISO88591″ ?>

<periodData lang=“es” periodDate=“16/08/2010″>

<doneDate>

<![CDATA[ 16/08/2010 [00:00:00] ]]>

</doneDate>

<periodDateText>

<![CDATA[ lunes 16 de agosto de 2010 ]]>

</periodDateText>

<descriptionPeriodData><![CDATA[

Las nubes de primeras horas irán dejando paso a cielos cada vez más abiertos en las regiones cantábricas. Por el sur los cielos estarán libres de nubosidad durante toda la jornada. El viento soplará flojo y variable, predominando durante la tarde el nordeste. Las temperaturas seguirán recuperándose y las máximas oscilarán entre los 23 ºC de la costa y los casi 30 ºC del valle del Ebro.

]]></descriptionPeriodData>

<symbol>/contenidos/recurso_tecnico/tdtrtc/es_web/images/02.gif</symbol>

<imageMap><![CDATA[

/contenidos/prevision_tiempo/met_forecast/es_today/images/mapaprev.jpg

]]></imageMap>

<cityForecastDataList>

<cityForecastData cityCode=“2″>

<tempMax>24</tempMax>

<currentTemp />

<tempMin>13</tempMin>

<cityName><![CDATA[ Bilbao ]]></cityName>

<symbol>/contenidos/recurso_tecnico/tdtrtc/es_web/images/01.gif</symbol>

</cityForecastData>

<cityForecastData cityCode=“19″>

<tempMax>23</tempMax>

<currentTemp />

<tempMin>7</tempMin>

<cityName><![CDATA[ VitoriaGasteiz ]]></cityName>

<symbol>/contenidos/recurso_tecnico/tdtrtc/es_web/images/01.gif</symbol>

</cityForecastData>

<cityForecastData cityCode=“23″>

<tempMax>23</tempMax>

<currentTemp />

<tempMin>10</tempMin>

<cityName><![CDATA[ Otras ]]></cityName>

<symbol>/contenidos/recurso_tecnico/tdtrtc/es_web/images/01.gif</symbol>

</cityForecastData>

<cityForecastData cityCode=“18″>

<tempMax>23</tempMax>

<currentTemp />

<tempMin>13</tempMin>

<cityName><![CDATA[ DonostiaSan Sebastián ]]></cityName>

<symbol>/contenidos/recurso_tecnico/tdtrtc/es_web/images/02.gif</symbol>

</cityForecastData>

</cityForecastDataList>

</periodData>


Como se puede observar los datos reutlizables contienen básicamente los siguientes datos:

  • Fecha y hora de la predicción
  • Una descripción general de la predicción
  • La predicción por ciudades que contiene: Temperatura máxima, mínima y actual / El nombre de la ciudad / El símbolo (nube, sol, tormenta, etc)

Para crear una aplicación que utilice los datos de predicción de meteorologica en tiempo real, basta con:

  1. Descargarse el fichero de predicción.
  2. Parsear el XML y acceder a la información por ciudad (temperaturas, símbolo, etc)
Comparte:
  • Twitter
  • Facebook
This entry was posted in Técnico and tagged . Bookmark the permalink.

15 Responses to Cómo se publican los datos reutilizables de meteorología

  1. elias says:

    Hola, el servicio es muy útil, de hecho lo estamos usando, pero la temperatura actual viene vacía en el xml, lo podéis comprobar en el xml que adjuntáis en esta entrada, y es un dato que es bastante interesante.

    Y una sugerencia, la predicción en la web de euskalmet la personalizáis por ciudades, y la que enviáis en el xml es la genérica de todo euskadi, sería de agradecer que se especificara la predicción para cada ciudad en el xml, además es un dato que parece que ya lo manejáis.

  2. opendata says:

    Hola Elías, lo primero perdona la tardanza en responderte pero ha sido por un tema organizativo que ya hemos resuelto. Respecto a la temperatura actual es un dato que está planteado en el xml pero aún no se tiene la opción de alimentarlo a partir de la información de euskalmet. En cuanto sea posible, se cumplimentará el xml con este dato.

    Y en cuanto a la sugerencia, en el plazo de unas semanas está previsto una nueva liberación de datos de meteorología y entre ellos se va exponer la predicción por zona además de un listado de localidades por zona, al estilo de cómo actualmente está en la página de euskalmet:

    http://www.euskalmet.euskadi.net/s07-5853x/es/meteorologia/meteodat/zona_1.apl?e=5

    Gracias por tus comentarios!

  3. Pingback: el blog de txurdi » Opendata – Datos disponibles de forma libre

  4. Raúl says:

    Hola, estoy haciendo un proyecto para la Facultad de Informática de UPM, Proyecto Fin de Carrera (pertenezco al plan 96) sobre Linked Data y me han puesto vuestra WEB como ejemplo a seguir (no me extraña es magnifica).
    En este articulo habláis de varios puntos que me resultan muy interesantes:
    - la infraestructura de euskadi.net y los servicios implícitos que os proporciona
    - el conjunto de metadatos común
    Sobre la infraestructura ¿os basáis en algún Gestor Documental? ¿En cual? El frontal ataca directamente dicho gestor ¿no es así? ¿Es un desarrollo propio desde cero u os habéis basado en algún cliente del producto? ¿Cómo habéis implementado el acceso anónimo? ¿os permite tener varios formatos de una misma información relacionada, o bien, son objetos distintos?
    ¿Qué metadatos utilizáis?
    Entendería si no me contestarais, ya que es vuestro producto, pero si lo hacéis os estaría muy agradecido.
    Yo soy experto en Documentum, pero EMC no nos ha permitido utilizarlo y estoy comenzando con Alfresco, pero está resultando mucho más duro de lo esperado.
    Raúl

    • bopendata says:

      Hola Raúl, te intentamos contestar:

      ¿os basáis en algún Gestor Documental? ¿En cual?
      Utilizamos un Gestor de Contenidos comercial (HP-Autonomy Interwoven TeamSite), sin embargo, hacemos una utilización muy básica del mismo, únicamente como:

      • Repositorio de ficheros (en grandes líneas un disco duro enorme)
      • Herramienta de deploy: para “traspasar” los datos desde la zona protegida interna donde se generan a la zona pública externa donde entra la gente

      El frontal ataca directamente dicho gestor ¿no es así?
      NO. El gestor de contenidos es una herramienta de uso exclusivamente interno; NO es visible (ni usable) desde internet. Nuestra estrategia básica es:

      • Hacer la infraestructura pública (a la que accede la gente) lo mas simple simple posible (solo servidores web apache) a consta de complicar la infraestructura interna donde se generan los contenidos
      • Servir TODO como HTML estático en base a simples servidores web, es decir, nuestros contenidos son TODOS ficheros HTML en servidores apache y NO necesitamos un servidor de aplicaciones (salvo para el buscador), es decir, en euskadi.net NO usamos páginas dinámicas en java, php, ruby, etc.
      • Separar los contenidos del portal en donde van a ser mostrados.
      • Para ello, tenemos un complejo sistema de gestión de contenidos interno que “genera” HTML que es publicado en los servidores apache de euskadi.net. La mejor respuesta a tu pregunta es: en la parte pública de euskadi.net NO hay un gestor de contenidos sino el HTML puro y duro servido por simples servidores web.
        ¿Es un desarrollo propio desde cero u os habéis basado en algún cliente del producto?
        Todo el desarrollo es propio en base a un modelo lógico de lo que para nosotros es un contenido y los metadatos que tiene que tener. En torno a este modelo hemos desarrollado:

      • Una herramienta de carga de contenidos (formularios de captura de diferentes tipos de contenido: noticias, eventos, ayudas, etc) –mas de 30 tipos de contenidos-: a día de hoy tendremos más de 100.000 contenidos (que son muchos millones de carpetas y ficheros de todo tipo –html, pdf, Word, etc).
      • Una herramienta de creación de portales con la que se han creado mas de 40 portales (que son miles de páginas).
      • Una herramienta de gestión de etiquetas de catalogación donde se mantienen taxonomías de miles de etiquetas.
      • Un indexador y buscador.
      • Un publicador que “traspasa” el HTML generado desde la zona interna protegida a la zona externa pública.

      Por “debajo” tenemos algunos productos:

      • Interwoven Teamsite como repositorio de ficheros (básicamente como disco duro)
      • Interwoven OpenDeploy como herramienta de traspaso de contenidos
      • Autonomy como buscador

      … pero todas estos productos los utilizamos en modo “servicio”, es decir, nuestra aplicación interna “recubre” los productos y utiliza su API. Los usuarios internos NO ven los productos sino nuestro desarrollo que se intenta ajustar un poco más a sus necesidades específicas. Recuerda que en internet solo tenemos servidores web apache; no se usa el gestor de contenidos.

      En principio, podríamos cambiar cada uno de los productos anteriores por alternativas libres/openSource:

      • Repositorio de ficheros: Interwoven TeamSite (podríamos utilizar desde Alfresco a un simple sistema de ficheros en disco).
      • Buscador: Autonomy (podríamos utilizar Lucene o un recubrimiento como solr).

      ¿Cómo habéis implementado el acceso anónimo?
      De momento NO tenemos ningún control de acceso aunque para securizar el acceso a contenidos en internet podríamos utilizar cualquiera de los múltiples módulos disponibles para apache.
      ¿Os permite tener varios formatos de una misma información relacionada, o bien, son objetos distintos?
      Todo esto lo resuelve nuestro modelo lógico de lo que para nosotros es un contenido, sus versiones idiomáticas, los meta-datos, las relaciones entre contenidos, la catalogación, etc. De un mismo contenido podemos tener todas las versiones que queramos, bien por idioma, por formato técnico o por estilo de redacción.
      ¿Qué metadatos utilizáis?
      Tenemos dos tipos de metadatos. Unos comunes que deben tener TODOS los contenidos, independientemente de su naturaleza (ej: nombre del contenido, autor, fecha creación, fecha publicación, etc). Otros que dependen de la naturaleza del contenido, es decir, si se trata de una noticia, un metadato es la fecha de la noticia, si se trata de una ayuda un metadato es si está vigente o no, o la fecha de fin de presentación de solicitudes.

      Toda la potencia que tenemos en cuanto a meta-datos, la aprovechamos en el portal de opendata: en realidad TODOS nuestros contenidos están preparados para ser consumidos por una máquina (toda la información de los mismos está en formatos computables), así que nos cuesta relativamente poco publicar datos abiertos.

      Además nuestra estrategia es “matar dos pájaros de un tiro” y publicar contenidos en formato web “normal” y con el mismo esfuerzo hacerlo como datos abiertos (opendata) en formatos reutilizables.
      Entendería si no me contestarais, ya que es vuestro producto, pero si lo hacéis os estaría muy agradecido.
      Encantados de ayudar.
      Yo soy experto en Documentum, pero EMC no nos ha permitido utilizarlo y estoy comenzando con Alfresco, pero está resultando mucho más duro de lo esperado.
      Para nosotros el respositorio de contenidos (que ahora es IW, pero bien pordría ser Documentum, Alfresco o un simple sistema de ficheros) es secundario; lo más importante es el modelo de contenido que tiene que soportar cómo tratamos el idioma (todos nuestros contenidos están en euskera y castellano al menos), los metadatos, la indexación de los contenidos para su búsqueda, la liberación en formatos reutilizables, etc.

  5. Raúl says:

    Hola,
    Mil gracias por vuestros comentarios, son muy clarificadores.

    Entonces, el proceso de publicación además de los ficheros estáticos debe publicar los metadatos ¿En una base de datos, no? y la búsqueda consulta dicha BBDD ¿es así?

    Pero, la búsqueda parece de texto libre, ¿utizais un buscador? También tenéis implementadas categorías y las BBDD relacionales no se llevan muy bien con estos conceptos. Ya que habéis sido tan amables de contestarme con tanto detalle, voy a “abusar” un poco más: ¿Cómo habéis resulto las consultas?

    En todo caso vuestras respuestas me han dado que pensar, aún no sé si lo cambiaré o no, pero el resultado seguro que es mejor después de leer vuestra respuesta.

    Por cierto, no os lo he dicho, pero tenéis un site envidiable, no me extraña que os pongan de ejemplo.

    NaCl U2, Raúl

    • bopendata says:

      Hola Raúl, tal como comentas, el proceso de publicación hace fundamentalmente dos cosas:

      • Publica ficheros físicos HTML, imágenes, css, adjuntos, etc, que es lo que ve la gente cuando entra a euskadi.net
      • Informa a nuestro buscador de los metadatos del contenido que se publica: (tipo, autor, catalogación –etiquetas-, etc, etc, etc)

      El buscador que tenemos es autonomy (aunque podríamos tener cualquier otro). Para informar de los metadatos a autonomy se utiliza un formato de meta-datos que entiende el motor de búsqueda así que lo que hacemos es pasarle esta información y autonomy se encarga del resto. Puedes ver un ejemplo de los metadatos que se pasan a autonomy en cualquier contenido de euskadi.net. Por ejemplo:

      Para el contenido Ayudas a la mejora de las condiciones de la producción apícola. Gipuzkoa 2012, la URL del HTML es:
      http://www.euskadi.net/r33-2288/es/contenidos/ayuda_subvencion/dfg_apicultura_2012/es_dfg_ap/es_arch.html
      … pero puedes ver también los metadatos en el formato que pasamos al buscador en: http://www.euskadi.net/r33-2288/es/contenidos/ayuda_subvencion/dfg_apicultura_2012/es_dfg_ap/autonomy.idx

      Otra forma de ver los meta-datos es descargarte el ZIP de un contenido en opendata
      Ej: las ayudas del gv: http://opendata.euskadi.net/w79-resbus/es?r01kQry=tC:euskadi;tF:procedimientos_administrativos;tT:ayuda_subvencion;m:documentLanguage.EQ.es,procedureStartDate.BETWEEN.01/01/2012,31/12/2012;p:Inter_portal,Inter;

      Autonomy con estos datos actualiza sus índices de meta-datos contenidos que pueden ser utilizados para búsquedas paramétricas (por meta-datos)
      Sin embargo, autonomy también lo utilizamos como buscador de texto libre que encuentra texto en el propio HTML, PDFs, etc y para ello lo que utilizamos es un crawler que se recorre todos los ficheros de un contenido y les “asocia” los metadatos anteriores.

      Es decir, autonomy tiene tres usos:

      • Para hacer búsquedas en texto libre: dame todos los ficheros que contengan la palabra “bilbao”
      • Para hacer búsquedas paramétricas (que usan meta-datos) para hacer consultas del tipo dame todas las ayudas en plazo del 2012 del depto. de hacienda
      • Para hacer búsquedas de texto libre y paramétricas (una mezcla de las anteriores), para hacer consultas del tipo: dame todos los ficheros que contengan la palabra “bilbao” y que sean del tipo ayuda, que estén en plazo y que sean del dpto. de hacienda

      En la parte pública de la infraestructura (euskadi.net) como te comentaba anteriormente únicamente tenemos servidores web y el buscador (autonomy), es decir, no utilizamos BBDD . A pesar de que la infraestructura es muy potente, aún tenemos que mejorar mucho en la parte del buscador… estamos en ello ya que las bases (los metadatos) los tenemos y eso es lo más difícil cuando se trata de una infraestructura tan grande como euskadi.net.

  6. Raúl says:

    Hola,
    De nuevo os estoy muy agradecido por vuestros comentarios. O no (es broma), por que a raíz de ellos no se si seguir por el camino que llevaba o lo tiro todo a la basura y comienzo de cero.

    Sea como sea, mil gracias, tenéis por aquí un amigo para lo que necesitéis.

    Raúl

  7. Pingback: Datos públicos de Euskalmet - Meteorología - HerrialdeNet

  8. Hola.

    Estoy tratando de hacer uso de la sección <mapSymbolList> del XML de datos meteorológicos por ciudades. Esta sección incluye 21 elementos mapSymbol con los datos necesarios para representar los iconos de estado del cielo sobre el mapa de Euskal Herria, pero no consigo dar con el factor de conversión. Me refiero a que en la web de Euskalmet se sitúan sobre el mapa con:

    Es decir, ¿cómo hacer la transformación a cm de los datos de positionX y positionY?

    Muchas gracias.

  9. Me refería a:

    &gl;div style=”position:absolute;top:8.9829684cm;left:0.31143552cm;width:1.946472cm;height:1.946472cm;”>
    &gl;img width=”52″ border=”0″ height=”52″ alt=”Temperaturas en Descenso” src=”/appcont/meteorologia/meteodat/images/23.png”>
    &gl;/div>

  10. El factor que buscaba es 12

    • bopendata says:

      Hola Daniel, hemos tenido algún problema de actualización de los datos meteorológicos que ya hemos resuelto. Gracias por avisarnos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>