Rabu, 30 November 2011

GeoServer and GeoSolutions @ gvSIG Days 2011

GeoSolutions will attend the 5th edition of the gvSIG Conference, organized by the Regional Ministry of Infrastructure and Transport (CIT) from December 2nd until December 4th at the Feria Valencia Convention and Exhibition Center.  


Ing. Simone Giannecchini will provide an introductive workshop on GeoServer, therefore make sure you take note of the exact time on the conference program and you make room in your schedule for attending the event.
Check this link for more details.

See you in Valencia!

The GeoSolutions team.


Senin, 28 November 2011

Serving Meteo data with GeoServer, GeoBatch and GeoNetwork: the LaMMA use case


Dear All,
in this post I'd like to talk about the work we have done for the LaMMA consortium.

The Problem
The purpose of this project is to build a complete Spatial Data Infrastructure (SDI) to provide a spatio-temporal raster data processing, publishing, and interactive visualisation facility. This platform is candidate to substitute the current one which was already built leveraging on Open Source software but which was rather static and contained no OGC services.

The data that will be ingested into the system is generated by an existing processing infrastructure which produces a set of different MetOc models. Our goal is to manage the geophysical parameter (or variables) produced by the following models:
  • ARW ECM
    • 3 Km resolution
    • 9 Km resolution
  • GFS
    • 50 Km resolution
The ingestion is started every day at noon and midnight, hence there are 2 run-times a day for each model at a certain resolution and the produced data contains different forecast times.
- ARW ECM (3 days with interval of 1h)
- GFS (8 days with interval of 6h)
 The data is produced in GriB format (version 1).

Our Solution
Leveraging on the OpenSDI suite and specifically on the following components:
as well as some other well known Open Source project such as (Apache Tomcat, Apache Http server, Postgres) we provided an extensible and standard based platform to automatically ingest and publish data.

The infrastructure we have put together is depicted in the deployment diagram below.
Deploy diagram
This infrastructure has been designed from the beginning with the goal of being scalable in terms of supporting large number of external users since it is based on a GeoServer Master/Slave infrastructure where multiple slaves can be installed for higher throughput. Caching will be tackled in a successive phase.

As you can see we provided three access level for different type of users:
  • Admin can locally access to the entire infrastructure and add instances of GeoServer to the cluster to improve performances
  • Poweruser can remotely add files to ingestion and administer GeoBatch via Basic Autentication
  • User can look at ingested data accessing one of the GeoServer slave machines via Apache httpd proxy server. The load of these accesses is distributed between all available slaves.
As mentioned above, the main building blocks are as follows:
  • GeoServer for providing WMS, WCS and WFS services with support for the TIME and Elevation dimensions
  • GeoNetwork, for publishing metadata for all data with specific customizations for managing the TIME dimensions in the dataset 
  • GeoBatch, to perform preprocessing and ingestion in near real time of data and related metadata with minimal human intervention

Using GeoBatch for ingestion and data preprocessing
In the LaMMA project the GeoBatch framework is used to preprocess and ingest the incoming GriB files as well as to handle data removal based on a sliding temporal window (currently set to 7 days) since it was a design decision to keep around for live serving on the last 7 days of forecasts.

Below you can find a diagram depicting one of the automatic ingestion flow we created for the LaMMA project using the GeoBatch framework.

GeoBatch ingestion flow example

The various building blocks comprising this flow are explained here below:
  1. NetCDF2GeotiffAction reads the incoming GRIB file and produces a proper set of Geotiff perfoming on-the- fly tiling, pyramiding and unit conversions.Each GeoTiff represent a 2D slice out of one of the original 4D cubes contained in the source GriB file
  2. ImageMosaicAction uses the GeoServer Manager library to create the ImageMosaic store and layer  in the GeoServer Master. The created ImageMosaic contains proper configuration to parse Time and Elevation dimensions' values from the GeoTiff in order to create 4D layers in GeoServer.
  3. XstreamAction takes an XML file and deserializes it to a Java object this is passed to the next action.
  4. FreeMarkerAction produces a proper xml metadata file for publishing in GeoNetwork, using a pre-cooked template and the passed data model.
  5. GeoNetworkAction published the metadata on the target GeoNetwork 
  6. ReloadAction forces a reload on all the GeoServer slaves in order to pick up the changes done by the master instance
This type of flow, (with a slight different set up) is used to convert and publish the 3 different incoming models.

The other type of flow is the remove flow which is a composed by the following building blocks:
  1. ScriptingAction executes a remove.groovy script which will:
    • calculate the oldest time to retain
    • select older files to be removes
    • search and remove matching metadata from the GeoNetwork
    • remove collected layers and stores  from the GeoServer Master catalog
    • delete permanently succesfully removed files
  2. ReloadAction forces a reload on all the GeoServer Slave.

Using GeoNetwork for metadata management
We have customized the metadata indexing (thanks Lucene!) in GeoNetwork in order to be able to index meteorological model execution in terms of their run time as well as in term of their forecast times.
Generally speaking the data we are dealing with is driven by a meterological model which produces daily a certain number of geophysical parameters with temporal validity that spans for certain number of time instants (forecast times) in the future. In GeoNetwork we are currently creating a new metadata object for each geophysical parameter (e.g. Temperature) of a new model run; this metadata object contains multiple links to WMS requests for each forecast time, leveraging the TIME dimension in GeoServer (see picture below). Moreover the forecast times themselves are indexed so that advanced searches can be done on them.



If you have questions about the work described in this post or if you want to know more about our services could help your organization to reach its goals, do not hesitate to contact us.


The GeoSolutions team,

Selasa, 22 November 2011

GeoServer e GeoSolutions al GFOSS Day 2011

GeoSolutions sarà presente alla conferenza GFOSS DAY 2011 che si terrà a Foggia il 24 e 25 Novembre presso la Università degli Studi.



Oltre ad essere sponsor Silver della manifestazione, GeoSolutions sarà presente con un workshop gratuito introduttivo ed una presentazione su GeoServer che si terranno entrambi nella giornata del 25 (si veda per dettagli il programma della manifestazione).

Quindi, se volete essere aggiornati sugli sviluppi del GeoServer o se volete essere introdotti al suo utilizzo da uno dei suoi creatori non vi resta che farci visita a Foggia!

The GeoSolutions team.


Kamis, 10 November 2011

Animate your maps with GeoServer Animator Tool

In this blog post we'd like to introduce you to a new GeoServer feature, the WMS animator.
The animator follows in the footsteps of the WMS reflector, allowing a client to build an animated map with a relatively compact syntax.

An animation is built as a set of frames, and each frame is a separate WMS GetMap call, similar to the others in the set, but with a different value in one of the parameters.
The animator allows you to specify the parameter that will vary and its value via the aparam and avalues request parameter.

For example, let's say we have a dataset with time support enabled, in particular a small set of blumarble images for the different months in the year. A call to get a continuously animated progression would look like:


The aparam in this request is the WMS time parameter, while the avalues list a number of possible times, in particular a few months of the year. Also notice the output format, asking for an animated GIF that loops continously. The result is as follows:


Time and elevation are obviously prime candidates to drive an animation, but in fact every WMS request parameter can be used to drive the animation.
For example, we could change the bounding box and have the map move:




The actual reason the animator was developed was to allow building animation of tuna catches by ocean area over different types of aggregation factors, that are passed down to a parametrized SQL view building all the little squares you see in the map.
Here is an example showing the evolution of catches of a particular tuna spieces over the years:

http://localhost:8080/geoserver/wms/animate?layers=UN_CONTINENT,GRID_G5,TUNA_YEARLY_CATCHES,FAO_MAJOR,UN_CONTINENT&
format=image/gif;subtype=animated&aparam=viewparams:YR_TA&avalues=1990,1991,1992,1993,1994,1995&
width=512&format_options=layout:message;gif_loop_continuosly:true&viewparams=CD_GEAR:801\,802\,803;FIC_ITEM:2496\,3296\,3305\,2498;QTR_TA:1\,2\,3\,4;OP:sum




As you can see some of the maps include the indication of the year in the lower left. This is a recent addition to the animator framework, it uses a text WMS decoration to embed in the image the current avalue. See the animator documentation for details on how this can be achieved.

At the time of writing the only possible output format is animated GIF, but other formats could be written and plugged in, for example AVI or Flash, and transition effects could be added too.
Interested? Let us know!

The GeoSolutions team,

GeoBatch Public Demo Available!

Dear All,
in this post we'd like to show the first very simple demo of the GeoBatch framework. We have set up a demo instance on our demo server side by side with a GeoServer instance so that user can perform:

  1. Upload via FTP, preprocessing and ingestion in GeoServer in real-time of GeoTiff files
  2. Upload via FTP, preprocessing and ingestion in GeoServer in real-time of Shapefiles

Additional details on how to play with the demo can be found in the slides here below:


We are going to update this demo frequently with new features. Just to mention some of them, in next version we will also add automatic metadata indexing in GeoNetwork. So, if you are interested, please check the GeoBatch site regularly and subscribe to the GeoBatch users' mailing list here.

If you have questions about the work described in this post or if you want to know more about our services could help your organization to reach its goals, do not hesitate to contact us.

The GeoSolutions team,

Senin, 07 November 2011

GeoServer e GeoSolutions ad ASITA 2011

GeoSolutions sarà presente alla 15esima conferenza nazionale ASITA 2011 che si terrà alla Reggia di Colorno, Parma nei giorni dal 15 al 18 Novembre 2011.
In particolare il giorno 18 Novembre l'Ing. Simone Giannecchini, uno dei fondatori di GeoSolutions e membro permanente del comitato di controllo di vari progetti Open Source,  discuterà delle potenzialità del prodotto GeoServer durante la Sessione 31, "Cartografia: gestione, aggiornamento, visualizzazione".


Ci vediamo ad ASITA!

The GeoSolutions team.


Jumat, 04 November 2011

GeoSolutions è sponsor della conferenza GFOSS DAY 2011


GeoSolutions è orgogliosa di annunciare il suo supporto come silver sponsor al GFOSS DAY 2011 che si terrà a Foggia nei giorni di 24 e 25 Novembre 2011.


The GeoSolutions team.


Kamis, 03 November 2011

ImageI/O-Ext 1.1.2 Released



Dear all,
GeoSolutions is pleased to announce the ImageI/O-Ext 1.1.2 release. With respect to 1.1.1, it adds a few bug fixes as well as improvements for the Tiff reader as well as on how we manage file memory mapping to provide a nice performance boost on remotely mounted file systems, e.g. NFS.
Release artifacts have been deployed on the GeoSolutions maven repository, as well as on the OSGEO one.

It is worth to notice that we are right now discussing with the GeoServer community for switching the GeoServer 2.1.x branch to this new ImageI/O-Ext release (the unstable trunk version already leverages on this newest ImageI/O-Ext) .

If you have questions about ImageI/O-Ext or if you want to know more about our services could help your organization to reach its goals, do not hesitate to contact us.

Regards,
the GeoSolutions Team