Rabu, 29 Juli 2009

GeoServer presentation @ Italian GFOSS day 2008

During last year's italian GFOSS day (see here) I gave a presentation on GeoServer, specifically "GeoServer, interoperabilita' à la carte". I have found it laying around on my hard drive therefore I am posting it here, in case someone can't sleep because he is not able to find it. Notice, it is in Italian!

Rabu, 22 Juli 2009

Job offer @ GeoSolutions

We are looking for talented
software engineers to fill a couple of positions.
Qualifications as follows:

- good knowledge of Java both JEE and JSE
- good knowledge of c++
- knowledge of most important OGC specifications and concepts (WMS,
WFS, WCS, coverage, etc...)
- working knowledge on at least 2 of the following projects: Geotools,
GeoServer, Gdal, OpenLayers
- at least 2 years of experience in the above languages and projects
- being fluent in English, both written and spoken

We offer a variety of contracts, working remotely is the preferred option.

Please send a detailed resume together with a letter of presentation
at jobs at geo-solutions.it

Senin, 20 Juli 2009

FOSS4G 2009 Abstract selected



I have just received notice that one of the abstracts I submitted to FOSS4G 2009 has been voted enough to make into a presentation. The title is "GeoServer, GeoTools and GeoBatch: supporting operational Meteorology and Oceanography" and you can find more info here.

So, yeah , see you in Sydney!

Jumat, 10 Juli 2009

Hibernating GeoServer: seeking for scalability and robustness

I thought it would have been worth spending a few minutes to let people know about this development that we are bringing forward at GeoSolutions.
Being not only GeoServer developers but also GeoServer hungry users, we have been a bit unpleased in the past by the scalability problems that it was showing by the fact that:
  1. GeoServer was keeping all its configuration into memory
  2. GeoServer was making use XML files to handle its internal configuration
Now a lot of work has been lately for the upcoming 2.0 version of GeoServer, however, while 2 has been made less evident by GSIP 36 1 has not been touched yet.
If you use GeoServer the way we use it, with thousand of layers and with 10 to 100 new layers added daily (usually remote sensing data), you might agree with us that we need to:
  1. Not load and keep the entire configuration in memory
  2. Use a database store the configuration
In a few words, we need to improve scalability and robustness while tring to not jeopardize performance.

At GeoSolutions we have decided to tackle this problems by implementing a new GeoServer internal catalog that leverages on Hibernate as its persistence engine and that would also not bring the whole configuration into memory. Our goal is to be able to support at least Postgis, Oracle and H2 as the target database, but as you know, many more are supported by Hibernate.
The range of features that this work would open up is pretty wide, just think about using Hibernate distributed caching, simplified GeoServer replication, etc., etc.

The work is in progress, we have started to describe the details on the GeoServer wiki and we will be committing a first version beginning of September.
If you are interesting in supporting somehow (funding or human resources) this effort, please, drop me a few lines at simone.giannecchiniATgeo-solutions.it.

Rabu, 08 Juli 2009

Supporting FAO Fishery department with a custom GeoServer DataStore for Oracle

GeoSolutions is collaborating with FAO Fishery department in order to improve the statistical GIS application "Atlas of Tuna and Billfish Catches".

The interactive version of the Atlas of Tuna and Billfish Catches presents the global distribution of 1950 to 2003 catches, at 5° latitude by 5° longitude resolution, of those tuna and tuna-like species for which this distribution is generally well known on the global scale. These species consist of the so-called principal market tunas and some billfishes.
Its refactoring mainly consists into switching the actual architecture which produces static snapshots of the statistic requested by the users through a parameter selection form, into a fully dynamic GIS map client based upon the OpenLayers served by a GeoServer/GeoTools/GeoWebCache stack working on top of an Oracle database.

Here is a common use case to solve.
Consider a table which contains the yearly catches of several fish species around the world by using different kind of gears; the user may want to issue several kind of statistical requests like for instance the total sum of the yearly catches grouped by gears and species over a specific time-range. Moreover the user wants to be able to compute these statistics on a defined by a lon,lat grid so that in the end he can either map the squares for the grid with different colors depending on the catches' statistics. In the normal approach we should create a new view which joins the catches table with the lon,lat grid table and performs the requested aggregate functions on the result.

The main issue when coping with such a complex use case was to allow GeoServer to work with an underlying complex databases structure, joining tables on the fly depending on some parameters selected by the users and being able to apply statistics function by aggregating resulting records for criteria like across years or quarters of the catches. One of our goals was to not generate views on the fly inside the database as well as not to create new layers inside GeoServer on the fly, because such an approach would have, on a side,consumed a lot of resources and on the other side, it would have required a sort of clean-up mechanism to remove old, unneeded views and GeoServer layers; in a word a nightmare.


At the end of the analysis we have come out with an architecture proposal based upon a brand new GeoTools driver capable of producing Aggregate DataStore
s on the fly, by analyzing and rebuilding the SQL at run-time and also a CQL filter adapter for GeoServer able to understand Aggregate Filters to be forwarded to the Aggregate Driver.

The proposed architecture, as depicted in the drawing aside, consists of several components:
  • A Proxy which intercepts the client request and traduces the parameters selection into an appropriate Aggregate CQL filter
  • The Aggregate DataStore which dynamically changes the FeatureType structure on GeoServer
  • The Business logic which performs dynamic queries to the DB by merging statistical and GIS datasets.

This approach can be generalized to similar problems. The proposed architecture, in fact, aims to be the base for future GIS statistical mapping application of the Fishery department.

Actually we based the driver on the Oracle NG plugin, but with some more effort it could be extended to the JDBC one allowing it working with other Databases like for instance PostGis.

The results of the plugin are shown in the screenshots below:



Selasa, 07 Juli 2009

GeoSolutions is supporting the G8 meeting @ l'Aquila

GeoSolutions, in coordination with the geoSDI team, has helped to build and set up the geospatial portal and SDI used by the Italian Civil Protection and the G8 help desk, as you can see here and here, to support the G8 meeting at L'Aquila, Italy. The building blocks are well-known open source projects, GeoServer, GeoNetwork, geoSDI-ERA, OpenLayers, Hibernate.

For those of you that don't have access to the portal I am posting here below some screenshots of the portal showing data from various WMS servers.



In the pictures above you can se the portal overlaying WMS layers from differentWMS servers which have been accessed and catalogued to gain access to a wide range of information.

A special thanks goes to Dr. Dimitri Dello Buono, the head of the geoSDI project and to Francesco Izzi, the leader of the technical team, working with them on these challenging scenarios is always a pleasure.

Kamis, 04 Juni 2009

New PMC members: GeoTools is moving forward

We are glad to announce that three new members have been appointed recently to the GeoTools Project Management Committee, the entity that is responsible for steering the GeoTools projects itself. The new members are Michael Bedward, Christian Mueller and Ben Caradoc-Davies, you can find a brief bio down below.

Long story short, it is good to remind that despite the misleading information which has been spread around lately, the GeoTools project is alive and kicking!


Michael Bedward is an ecologist with the Department of Environment and Climate Change, Sydney, Australia. He has over twenty years of professional experience in ecological field studies, vegetation mapping, conservation planning, statistical analysis of complex data and simulation modelling. His research has been regularly published in Australian and international scientific journals and presented at numerous conferences and workshops. Michael’s current research is
concerned with predicting the dynamics and extinction risk of wildlife populations in landscapes subject to past and continuing habitat destruction, wildfire and climatic fluctuations. This work brings together remotely sensed geospatial data, field observations and specially developed simulation models.

Christian Mueller works as an IT-professional since 25 years. He studied computer science at the Technical University of Vienna and is now about to finish his GIS postgraduate study at the university of Salzburg, Austria. The focus of his work is about DB systems, operating systems, programming and since 3 years, geographical information systems. Most of the knowledge is based on IBM and Open Source products. At the moment he is building up a GIS infrastructure for the a big Austrian enterprise collecting and visualizing statistical data and to prepare this enterprise for the INSPIRE directive of the European Community. At the moment of this writing, he is a module maintainer for three modules, working on his fourth module during the GSOC 2009.

Ben Caradoc-Davies obtained his doctorate in computational physics from the University of Otago, New Zealand in 2000, for numerical studies of vortex dynamics in Bose-Einstein condensates. Since 2001, he has worked as a software developer in Perth, Western Australia. His experience includes development of software for: oceanographic and meteorological modelling, data processing, and analysis, in support of the offshore oil and gas industries; geophysical quantitative interpretation for resource exploration; and since 2007, the exchange of geoscience information via interoperable web services. Ben currently works for CSIRO Exploration and Mining [1] as the lead developer of the Web Feature Service component of the AuScope Spatial Information Services Stack [2]. In this role, he is maintainer of the application schema (complex feature) modules of GeoTools and GeoServer, and collaborates with AuScope stakeholders and GeoScience Markup Language (GeoSciML) Testbed participants to improve GeoSciML support in GeoTools and GeoServer. Ben is an open source software fanatic, and has been a Linux systems administrator since 1995. Ben is happy to use proprietary software where it belongs: on gaming consoles.


[1] The Commonwealth Scientific and Industrial Research Organisation is Australia's national science agency.
http://www.csiro.au/

[2] AuScope Ltd is funded under the National Collaborative Research Infrastructure Strategy (NCRIS), an Australian Commonwealth Government Programme.
http://www.auscope.org.au/category.php?id=10