/R2D2-Endor-AccesoDatos

Nuestro amigo R2-D2 ha sido enviado junto a Luke Skywalker debido a una serie de problemas relacionados con la contaminación en la Luna de Endor. Problema de API Stream, XML para Acceso a Datos

Primary LanguageJavaMIT LicenseMIT

R2D2 y las Lunas de Endor - AccesoDatos-2021-2022

Nuestro amigo R2-D2 ha sido enviado junto a Luke Skywalker debido a una serie de problemas relacionados con la contaminación en la Luna de Endor. Problema de API Stream, XML para Acceso a Datos.

Java LISENCE GitHub

imagen

Enunciado

Nuestro amigo R2-D2 ha sido enviado junto a Luke Skywalker debido a una serie de problemas relacionados con la contaminación en la Luna de Endor. Es por ello que mientras Luke se queda investigando, nuestro gran “Arturito” ha usado todos sus sensores para obtener datos del entorno y enviarlos al Halcón Milenario para ser procesados.

Para ello R2-D2 ha tomado muestras en dos ficheros. Data03.csv y Data03.xml. Pero se ha dado cuenta que el primero de ellos debido a una tormenta eléctrica ha quedado corrupto, por lo que debe completar las mediciones antes de procesarlas con el segundo, solo si esa muestra no existe en base a su identificador.

De las muestras nos interesan solamente:

  • Identifier: identificador de la muestra
  • Modified: Fecha de la medición
  • NO2: concentración de dióxido de azufre
  • Temperature: temperatura
  • CO: concentración de carbono
  • Ozone: concentración de ozono

Todas estas mediciones las meterá en una lista de memoria para poder procesarlas. Para leer el XML se recomienda JDOM

R2-D2, inicia el procesado de los datos para obtener unos resultados. Para ello nos interesa:

  • Nivel máximo, mínimo y media de NO2 y la fecha en la que se registro.
  • Nivel máximo, mínimo y media de Temperatura y la fecha en la que se registro.
  • Nivel máximo, mínimo y media de Ozono y la fecha en la que se registro

Una vez que ha procesado los datos usando API STREAM (¡¡¡R2-D2 es la leche para eso!!!), pero los vamos a procesar de 25 en 25, y finalmente los que sobren. realizando los cálculos necesarios en esos 25 registros y salvándolos en una base de datos de registros. Así hasta que los procesemos todos en grupos de 25, aunque el último puede que tenga menos.

Cada vez que R2-D2 termine con un grupo de 25 mediciones obteniendo su Resumen, debemos añadirlos a nuestro registros de resuenes o mediciones, teniendo en cuenta que debemos añadirle a cada grupo su identificador y fecha. Esta base de datos de será JAXB.

Además, vamos a crear los esquemas de las clases y resultados tratados para facilitar su tratamiento desde el Halcón Milenario.

Finalmente, con el XML de nuestras base de datos de resúmenes y usando XPATH, R2-D2 nos mostrará los datos de NO2 y Ozono por pantalla y en fichero tipo Markdown llamado informe.md pues parece ser que son los causantes de los problemas detectados.

Autor

Codificado con 💖 por José Luis González Sánchez

Twitter GitHub

Contacto

Cualquier cosa que necesites házmelo saber por si puedo ayudarte 💬.

        

Licencia

Este proyecto está licenciado bajo licencia MIT, si desea saber más, visite el fichero LICENSE para su uso docente y educativo.