GeoLabshttp://www.geolabs.fr/2017-01-03T13:15:00+01:0084Bonne Année 20172017-01-03T13:15:00+01:00
<img class="img-responsive" src="./tmp/Voeux2017.png" alt="" />
<p>
GeoLabs vous présente ses meilleurs voeux et vous souhaite santé, bonheur et réussite en <a class="ext-link" href="http://geolabs.fr/2017/"><span class="icon"></span>2017</a>.
</p>
<p>
L'une de nos bonnes résolutions pour cette nouvelle année est d'écrire plus régulièrement sur ce blog afin de vous tenir informés de nos activités.
</p>
<p>
<a class="ext-link" href="https://twitter.com/GeoLabsSARL"><span class="icon"></span>Suivez-nous</a> et n'hésitez pas à nous <a class="ext-link" href="http://geolabs.fr/Contact"><span class="icon"></span>contacter</a> pour vos projets SIG Open Source en 2017.
</p>
<p>
<a class="ext-link" href="http://geolabs.fr/2017/"><span class="icon"></span>Bonne Année !</a>
</p>
82Un système d'information open source pour la gestion durable des forêts du Sénégal2015-05-25T13:33:00+01:00
<img class="img-responsive" src="./tmp/progede2-1.png" alt="PROGEDE2" />
<p>
Retour sur une semaine passée à Dakar du 18 au 22 mai dans le cadre de la mise en place d'un système d'information pour la gestion durable des ressources forestières et des combustibles domestiques au Sénégal.
</p>
<p>
<a class="ext-link" href="http://www.eaux-forets.sn/index.php/programmes-et-projets/progede-2.html"><span class="icon"></span>Progede 2</a> est un projet initié par la <a class="ext-link" href="http://www.eaux-forets.sn/"><span class="icon"></span>Direction des Eaux, Forêts, Chasse et de la Conservation des Sols</a> du <a class="ext-link" href="http://www.environnement.gouv.sn/"><span class="icon"></span>Ministère de l'Environnement et du Développement Durable</a> du Sénégal. Financé par la <a class="ext-link" href="http://www.worldbank.org/projects/P120629/second-sustainable-participatory-energy-management-progede-ii?lang=en"><span class="icon"></span>Banque Mondiale</a> et le <a class="ext-link" href="http://www.ndf.fi/"><span class="icon"></span>Fond Nordique de Développement</a>, ce projet a pour objectif d'augmenter durablement la production de combustibles ligneux et l'utilisation de combustibles domestiques alternatifs. Il vise aussi à réduire la déforestation et les émissions nettes de CO2 dans les zones cibles du projet. L'augmentation des revenus des communautés participantes en tenant compte du ratio hommes/femmes est également l'un des enjeux de Progede 2.
</p>
<img src="http://geolabs.fr/img/senegal.png" class="img-responsive">
<center><small>Carte des espaces boisés du Sénégal</small></center>
</br>
<p>
Afin de valoriser d'excellents résultats obtenus depuis 2010 et de partager les données forestières au plus grand nombre, la <a class="ext-link" href="http://www.eaux-forets.sn/"><span class="icon"></span>Direction des Eaux et Forêts</a> nous a confié la conception et la réalisation d'un système d'information en collaboration avec notre partenaire sénégalais <a class="ext-link" href="http://www.groupesoterco.com/"><span class="icon"></span>Groupe Soterco</a>. Basé sur l'utilisation des standards ouverts tels que WPS,WMS,WMTS et WFS, ce projet de développement s'appuie sur les technologies open source suivantes:
</p>
<div class="col-md-12">
<div class="col-md-2 ">
<i class="icon-pg-logo" style="font-size:4em;color:#3d7ae1";></i>
</div>
<div class="col-md-10">
<p><a href="http://www.postgresql.org" target="_blank">PostGreSQL</a>/<a href="http://postgis.net" target="_blank">PostGIS</a> comme système de gestion de bases de données relationnelles, pour la mise en place, la gestion et la maintenance de la base de données centrale du projet.</p>
</div>
<div class="col-md-2 ">
<i class="icon-lo-logo" style="font-size:4em;color:#707070;"></i>
</div>
<div class="col-md-10">
<p><a href="https://fr.libreoffice.org" target="_blank">LibreOffice</a> comme serveur de documents, pour la création et la restitution de formulaires de saisie et la génération dynamique de rapports (.odt,.doc,.pdf) sur le Web.</p>
</div>
<div class="col-md-2 ">
<i class="icon-zoo-logo" style="font-size:4em;color:#fda443;"></i>
</div>
<div class="col-md-10">
<p><a href="http://zoo-project.org" target="_blank">ZOO-Project</a> comme serveur WPS, pour le traitement de données SIG et statistiques, mais aussi pour l'implémentation de modèles issus de la géomatique, de la foresterie, de l'écologie et de l'aménagement du territoire. </p>
</div>
<div class="col-md-2 ">
<i class="icon-mm-logo" style="font-size:4em;color:#83c849;"></i>
</div>
<div class="col-md-10">
<p><a href="http://mapmint.com" target="_blank">MapMint</a> comme gestionnaire d'Infrastructure de données spatiale, pour l'administration de la plateforme Web, la gestion des données, la publication de services web et la génération d'applications Web SIG et autres indicateurs forestiers.</p>
</div>
</div>
<p>
La mise en place de ce système d'information est donc basée sur les technologies <strong>open source</strong> innovantes que nous développons. La plateforme <a class="ext-link" href="http://mapmint.com"><span class="icon"></span>MapMint</a> sera notamment enrichie de nouvelles fonctionnalités répondant aux besoins spécifiques de Progede 2. De nouveaux modules verront le jour dans le cadre du projet, notamment:
</p>
<ul style="font-size:18px;">
<li style="margin:5px 0 10px 0;">Un module de gestion des aménagements forestiers, dédié à la création, la visualisation et la publication de plans et de schémas d'aménagements.</li>
<li style="margin:5px 0 10px 0;">Un module de gestion de la dynamique du carbone, permettant de gérer et de suivre le bilan net de tous les échanges de dioxyde de carbone issus des zones forestières (séquestrations, émissions, réductions, estimations...).</li>
<li style="margin:5px 0 15px 0;">Un module de gestion des flux de produits forestiers, permettant de visualiser, suivre et analyser les circuits des produits forestiers de la zone de production à la zone de consommation.</li>
</ul>
<p>
Ce projet dont nous vous reparlerons très prochainement constitue <strong>un enjeu majeur pour l'accélération du développement durable au Sénégal</strong>. Les technologies open source, les standards, données et documents ouverts sont par ailleurs les garants d'un système d'information pérenne et extensible, qui permettra à la Direction des Eaux et Forêts de disposer d'outils modernes pour la gestion et la cartographie des espaces forestiers.
</p>
<img src="http://geolabs.fr/img/senedir.png" class="img-responsive">
<center><small><a href="http://www.openstreetmap.org/search?query=parc%20forestier%20de%20Hann#map=16/14.7261/-17.4328" target="_blank">Parc forestier de Hann</a>, Dakar</small></center>
</br>
81Geoprocessing with SAGA GIS WPS2015-04-28T15:51:00+01:00
<img class="img-responsive" src="./tmp/zoosaga.png" alt="ZOO SAGA" />
<p>
Another post in the innovative Web Processing Service series. We are this time introducing dozens of new WPS Services powered by <a class="ext-link" href="http://zoo-project.org"><span class="icon"></span>ZOO-Project</a> and <a class="ext-link" href="http://saga-gis.org"><span class="icon"></span>SAGA GIS</a>.
</p>
<p>
SAGA (System for Automated Geoscientific Analyses) is a popular open source GIS software with huge capabilities for geospatial data processing and analysis. It offers numerous tools to work with raster grids and imagery, but also TINs, vectors and point cloud datasets.
</p>
<p>
<a class="ext-link" href="http://www.saga-gis.org/"><span class="icon"></span>SAGA GIS</a> provides a comprehensive set of geospatial methods, bundled in exchangeable module libraries. The main <a class="ext-link" href="http://www.saga-gis.org/saga_module_doc/2.1.4/index.html"><span class="icon"></span>modules</a> (see the full list <a class="ext-link" href="http://www.saga-gis.org/saga_module_doc/2.1.4/a2z.html"><span class="icon"></span>here</a>) allow various geoprocessing tasks such as grid calculations, filters or interpolations, terrain analysis, image classification, as well as vector based spatial analysis, geostatistics, kriging etc... The software implements many scientific models and algorithms which are commonly used through the SAGA user interface, API or command line utility.
</p>
<p>
Since a few days, the SAGA modules can also be executed with standard WPS requests. The <a class="ext-link" href="http://zoo-project.org/trac/browser/trunk/zoo-project/zoo-kernel/service_internal_saga.c"><span class="icon"></span>ZOO-Project optional SAGA GIS support</a> is indeed being introduced in the upcoming 1.5 release. The ZOO-Project WPS server is now able to load the SAGA C++ modules (as shared libraries) and to execute them server-side. This adds <strong>300+ new WPS Services</strong> to the standard GetCapabilities response and brings the list of available ZOO-Services to the next level.
</p>
<p>
Once SAGA GIS 2.1.4 and dependencies installed on your system, along with fresh new ZOO-Project trunk (simply do <em>./configure --with-saga=/path/to/your/saga/install</em>), the <a class="ext-link" href="http://zoo-project.org/trac/browser/trunk/thirds/saga2zcfg"><span class="icon"></span>saga2zcfg</a> utility program will write all the needed ZOO Service configuration files (.zcfg) in the corresponding SAGA modules directories, and each module can then be fully loaded, described and executed as WPS. The command line usually passed to the saga_cmd executable can now be sent as a valid WPS request, such as:
</p>
<pre class="wiki">http://localhost/cgi-bin/zoo_loader.cgi?request=Execute&service=WPS&version=1.0.0&Identifier=SAGA.Module_Name.Algorithm_Number&...
</pre><div class="”row”">
<br>
<div class="container ">
<div class="col-md-4 ">
<p>
A first basic but meaningful example can be given using the Fractals module available in SAGA. The following WPS Service doesn't need any input, it simply outputs different kind of fractals according to default or user-defined parameters. The one shown here was generated using the Pythagora's tree algorithm with default parameters (<i>SAGA.garden_fractals.1</i>).
</p>
</div>
<div class="col-md-4 text-center">
<img src="http://geolabs.fr/img/fractal.png" class="img-responsive" />
<small>output fractals</small>
</div>
</div>
<br>
</div>
<p>
Using some of the many SAGA vector tools and a vector point dataset as input, we can for example compute its convexhull and minimum rectangle envelope (using <em>SAGA.shapes_point.12</em>) or its related Thiessen polygons (using <em>SAGA.shapes_point.16</em>) as shown bellow:
</p>
<div class="container text-center">
<div class="col-md-4">
<img src="http://geolabs.fr/img/convexhullbox.png" class="img-responsive" />
<small>Output convexhull and rectangle envelope</small>
</div>
<div class="col-md-4">
<img src="http://geolabs.fr/img/thiessen.png" class="img-responsive" />
<small>Output Thiessen polygons</small>
</div>
</div>
</br>
<p>
Using the SAGA Terrain Analysis tools and a well-known SRTM extract as input, we can also experiment some of the raster processing capabilities, for example by producing an hillshade out of it (using <em>SAGA.ta_lighting.0</em>) or computing catchments areas (using <em>SAGA.ta_hydrology.2</em>), as shown bellow:
</p>
<div class="container text-center">
<div class="col-md-4">
<img src="http://geolabs.fr/img/sthelenslighting.png" class="img-responsive" />
<small>Output hillshade</small>
</div>
<div class="col-md-4">
<img src="http://geolabs.fr/img/sthelenflow.png" class="img-responsive" />
<small>Output catchment areas (flow tracing)</small>
</div>
</div>
</br>
<p>
Last but not least, using the SAGA TIN tools it is also possible to create detailed TINs from raster grids using the corresponding WPS Services. The following images shows an example generated TIN (both edges and triangles are returned by <em>SAGA.tin_tools.1</em>)
</p>
<div class="container text-center">
<div class="col-md-4">
<img src="http://geolabs.fr/img/irrtin.png" class="img-responsive" />
<small>Output TIN edges</small>
</div>
<div class="col-md-4">
<img src="http://geolabs.fr/img/tintri.png" class="img-responsive" />
<small>Output TIN triangles</small>
</div>
</div>
</br>
<p>
These examples demonstrate the basic use of the new <a class="ext-link" href="http://zoo-project.org/trac/browser/trunk/zoo-project/zoo-kernel/service_internal_saga.c"><span class="icon"></span>ZOO-Project optional SAGA GIS support</a>. This brings a new bunch of possibilities and additional processing capabilities to the Open WPS platform, with advanced models and new input formats (such as tables, TINs or LAS files). A blog post is not enough to fully describe all the potential of the SAGA based WPS Services, but we will soon come back on this topic. In the mean time, we invite you to install <a class="ext-link" href="http://zoo-project.org"><span class="icon"></span>ZOO-Project</a> and <a class="ext-link" href="http://zoo-project.org"><span class="icon"></span>SAGA</a> in order to test the WPS Services. Happy processing !
</p>
<small>This work was supported by a grant from the European Union's 7th Framework Programme (2007-2013) provided for the project PublicaMundi (GA no. 609608).</br></br></small>
80QGIS WPS Client plugin 2.0.152015-04-03T14:24:00+01:00
<img class="img-responsive" src="./tmp/QgisWps.png" alt="" />
<p>
We just released a new version of the <a class="ext-link" href="http://qgis.org"><span class="icon"></span>QGIS</a> WPS Client plugin ! Learn more in this post.
</p>
<p>
Created by Horst Duster from <a class="ext-link" href="https://www.sourcepole.ch/"><span class="icon"></span>Sourcepole</a>, the QGIS WPS Client plugin allows to connect to any compliant WPS server and to execute available WPS Services from the <a class="ext-link" href="http://qgis.org"><span class="icon"></span>QGIS</a> desktop software.
</p>
<p>
This plugin enables the QGIS user to interact with <a class="ext-link" href="http://www.opengeospatial.org/standards/wps"><span class="icon"></span>WPS</a> servers, and this is interesting for several reasons according to us:
</p>
<ul class="sml">
<li>It first provides an easy to use user interface to configure and execute WPS services using data stored locally, and to view the results directly on the QGIS map canvas.</li>
<li>Executing WPS gives the QGIS installation more power, as it lets you outsource some of the computations you may need to run. Processing is not done on your system but on a more powerful server machine.</iI>
<li>According to the WPS server you would request, the plugin may also offer connexion to geospatial algorithms that may not be available in QGIS. There are plenty available in the QGIS processing modules, but you may want to use a particular algorithm that would be available on a specific WPS server.</li>
</ul>
<p>
We are glad to help making the QGIS WPS Client python plugin better with a few enhancements. The three main modifications coming with this new 2.0.15 version are listed bellow.
</p>
<ul class="sml">
<li>Every WPS Service is now executed asynchronously. The plugin sends WPS requests with status=true and this makes possible to get progress information on running services displayed in the progress bar.</lI>
<li>Support for multiple values for the same input identifier. This means that you can now select and execute WPS services that require several data input.</lI>
<li>Multiple output with different mime-types are now supported. This means you can now select and execute WPS services that return different kind of data output (such as "text/plain" and "image/tiff" for example).</li>
</ul>
<p>
You can install the plugin or upgrade to 2.0.15 by adding our brand new <a class="ext-link" href="http://geolabs.fr/plugins.xml"><span class="icon"></span>plugin repository</a> in the QGIS plugin manager, and activating <strong>QgsWPSClient</strong>.
</p>
<p>
The plugin source code is hosted on <a class="ext-link" href="https://github.com/GeoLabs/QgsWPSClient"><span class="icon"></span>Github</a>, so feel free to open any issue or to hack it yourself.
</p>
79Online image processing with Orfeo Toolbox WPS2015-04-01T12:46:00+01:00
<img class="img-responsive" src="./tmp/landsathau.png" alt="" />
<p>
At GeoLabs we are keen on implementing WPS compliant web services. This time we are glad to introduce 50+ new services based on <a class="ext-link" href="https://www.orfeo-toolbox.org/"><span class="icon"></span>Orfeo Toolbox</a>, and we show you how in this post.
</p>
<p>
Processing satellite imagery allows to extract meaningful information about objects or areas, and to create knowledge and value out of it. Simple to advanced open source algorithms are available for such purpose, and bringing them to the server not only promotes their wider use and adoption, but also opens door to better dissemination and sharing of the created value.
</p>
<p>
Following our standard oriented approach, think of one or several raster files that would be published as WCS (Web Coverage Service), given as input to a WPS service which would process them remotely for you, and finally output the results as a new WCS, WMS or WMTS service. It is now possible to implement such workflow using the latest version of the Open WPS Platform. Among other significant improvements, the upcoming <a class="ext-link" href="http://zoo-project.org"><span class="icon"></span>ZOO-Project</a> 1.5 release indeed introduces new optional support for <a class="ext-link" href="https://www.orfeo-toolbox.org/"><span class="icon"></span>Orfeo Toolbox</a> (OTB).
</p>
<p>
OTB is a library of choice to process images from remote sensors like Landsat, SPOT or Pléiades. It is open source and ships with a set of ready-to-use tools for classical remote sensing tasks such as image manipulation, classification or segmentation, but also features extraction, change detection or hyper-spectral processing.
</p>
<p>
For our concern, we are taking advantage of the powerful OTB Applications. Each OTB Application is written once for all in a shared library (also known as plugin). This plugin can be auto-loaded into appropriate tools without recompiling, and is
able to fully describe its parameters, behavior and documentation. Pretty awesome.
</p>
<p>
After investigating a bit more and with technical support from Rashad Mohammed (OTB team), we managed to load these shared libraries directly from ZOO-Kernel, the ZOO-Project WPS server. This basically adds 50+ additional WPS services to the usual GetCapabilities response (<a class="ext-link" href="http://host1.geolabs.fr:5001/cgi-bin/zoo_loader.cgi?request=GetCapabilities&service=WPS"><span class="icon"></span>check it out</a> !), and each service can be executed individually, but also possibly be chained with others.
</p>
<p>
Using the <a class="ext-link" href="https://www.orfeo-toolbox.org/CookBook/CookBook.html"><span class="icon"></span>OTB Cookbook</a> recipes, we can then send some interesting Execute requests to our WPS server. For example, the <a class="ext-link" href="http://otbcb.readthedocs.org/en/latest/Applications/app_Smoothing.html"><span class="icon"></span>OTB Smoothing</a> application applies either gaussian, mean, or anisotropic diffusion smoothing filter to an image, and so does our WPS service (OTB.Smoothing). We can execute it with this example WPS request:
</p>
<pre class="wiki">http://localhost/cgi-bin/zoo_loader.cgi?request=Execute&service=WPS&version=1.0.0&Identifier=OTB.Smoothing&DataInputs=in=Reference@xlink:href=http://geolabs.fr/dl/Landsat8Extract.tif;out=float;type=anidif;type.mean.radius=2;type.anidif.timestep=0.1;type.anidif.nbiter=5&RawDataOutput=out@mimeType=image/tiff
</pre><div class=”row”>
</br>
<div class="container text-center">
<div class="col-md-4 text-center">
<img src="http://geolabs.fr/img/ls1.png" class="img-responsive" />
<small>Input Landsat image</small>
</div>
<div class="col-md-4 text-center">
<img src="http://geolabs.fr/img/ls2.png" class="img-responsive" />
<small>Output smoothed image</small>
</div>
</div>
</br>
</div>
<p>
In this first example, we process a small extract of a Landsat 8 scene, with the following parameters:
</p>
<dl class="wiki"><dt>in</dt><dd>The input image file, here in GeoTIFF format ( Note that the xlink:href value could be a WCS request).
</dd><dt>out</dt><dd>
The output image type (it can be set to uint8, uint16, int16n, int32, float or double)
</dd><dt>type</dt><dd>
The smoothing type (it can be set to mean, gaussian or anidif )
</dd><dt>type.mean.radius</dt><dd>
The smoothing radius value in pixels (used in case the mean type was selected)
</dd><dt>type.anidif.timestep</dt><dd>
The Anisotropic Diffusion equation time step (used in case the anidif type was selected)
</dd><dt>type.anidif.nbiter</dt><dd>
The number of iterations which controls the sensitivity of the conductance term (used in case the anidif type was selected).
</dd></dl>
<p>
Another example right out of the OTB cookbook that demonstrates a more complex process is the <a class="ext-link" href="http://otbcb.readthedocs.org/en/latest/Applications/app_BandMath.html"><span class="icon"></span>OTB BandMath</a> application which basically allows you to do maths with raster bands, as follow:
</p>
<pre class="wiki">http://localhost/cgi-bin/zoo_loader.cgi?request=Execute&service=WPS&version=1.0.0&Identifier=OTB.BandMath&DataInputs=il=Reference@xlink:href=http://geolabs.fr/dl/verySmallFSATSW_nir.tif;il=Reference@xlink:href=http://geolabs.fr/dl/verySmallFSATSW_r.tif;il=Reference@xlink:href=http://geolabs.fr/dl/verySmallFSATSW.tif;out=uint8;exp=cos%28im1b1%29-%28-im2b1%29*im3b1-%28ndvi%28im3b3,im3b4%29%29&RawDataOutput=out@mimeType=image/tiff
</pre><p>
For this example, we process the three images which are used in the OTB Band Math example, as shown bellow:
</p>
<div class=”row”>
<div class="container text-center">
<div class="col-md-3">
<img src="http://geolabs.fr/img/vs1.png" class="img-responsive" />
<small>verySmallFSATSW_nir.tif</small>
</div>
<div class="col-md-3">
<img src="http://geolabs.fr/img/vs2.png" class="img-responsive" />
<small>verySmallFSATSW_r.tif</small>
</div>
<div class="col-md-3">
<img src="http://geolabs.fr/img/vs3.png" class="img-responsive" />
<small>verySmallFSATSW.tif</small>
</div>
</div>
</br>
</div>
<p>
The three images are given as input to the OTB.BandMath service with the following parameters:
</p>
<dl class="wiki"><dt>il</dt><dd>
The list of input images (once again they could be accessed with WCS request instead of simple file link)
</dd><dt>out</dt><dd>
The output image type (it can be set to uint8, uint16, int16n, int32, float or double)
</dd><dt>exp</dt><dd>
The mathematical formula to compute
</dd></dl>
<p>
In this case, we are using the following expression:
</p>
<pre class="wiki">cos(im1b1)+im2b1⋆im3b1-im3b2+ndvi(im3b3,im3b4)
</pre><p>
A classified color ramp can finally be applied to the resulting GeoTIFF image for highlighting the extracted NDVI values, as shown bellow:
</p>
<div class=”row”>
<div class="container text-center">
<div class="col-md-3">
<img src="http://geolabs.fr/img/ndvi1.png" class="img-responsive" />
<small>Output tiff</small>
</div>
<div class="col-md-3">
<img src="http://geolabs.fr/img/ndvi2.png" class="img-responsive" />
<small>Classified output tiff</small>
</div>
<div class="col-md-3">
<img src="http://geolabs.fr/img/ndvi3.png" class="img-responsive" />
<small>Classified output tiff on top of ortho</small>
</div>
</div>
</br>
</div>
<p>
These basic examples demonstrate the use of the optional Orfeo Toolbox support now available in ZOO-Project. If you want to learn more about OTB and the ZOO-Project OTB support, join the <a class="ext-link" href="http://wiki.orfeo-toolbox.org/index.php/OTB_Users_meeting_and_hackfest_2015"><span class="icon"></span>OTB Hackfest</a> in June. We will present our work in more details there. See you in Toulouse !
</p>
<small>This work was supported by a grant from the European Union's 7th Framework Programme (2007-2013) provided for the project PublicaMundi (GA no. 609608).</br></br></small>
69One script, two maps !2015-03-04T13:37:00+01:00
<img class="img-responsive" src="./tmp/OL-Leaflet.png" alt="OpenLayers and Leaflet" />
<p>
Some may prefer <a class="ext-link" href="http://leafletjs.com/"><span class="icon"></span>Leaflet</a> for design, plugins or lightweight. Some others may rather use <a class="ext-link" href="http://openlayers.org"><span class="icon"></span>OpenLayers</a> for specific features or simple historical reasons. No matter the preferences, they are the best two open source javascript libraries for webmapping nowadays.
</p>
<p>
At GeoLabs we love and use both. As probably many, we would select one technology or the other according to our needs, according to projects or existing code. Of course we've been hacking OpenLayers for a while now (as it is the default library used in our <a class="ext-link" href="http://mapmint.com"><span class="icon"></span>MapMint</a> platform), but we've also been increasingly using Leaflet for a few projects lately.
</p>
<p>
After using both APIs for some time, we thought that they aren't so different for creating simple web maps, like the one everybody needs with only few layers, basic navigation and simple controls. For such purpose, we found out that switching from one library to the other (and so playing with both APIs all the time) was kind of a waste of time and somehow just useless. We then started to think about how to wrap both, and how to forget about API differences, so we can focus on the map content and styles rather than on coding concerns.
</p>
<p>
Such an idea was recently implemented in the <a class="ext-link" href="https://github.com/PublicaMundi/MappingAPI"><span class="icon"></span>PublicaMundi Mapping API</a>, and we'd like to show you a simple example here. The latter basically demonstrates how one can create an Openlayers map or a Leaflet map using the exact same javascript source code.
</p>
</br>
<center><a href="http://geolabs.fr/mapping-api/" class="btn btn-default mtm" style="font-size:18px;">view example</a></center>
</br></br>
<img src="http://geolabs.fr/img/OL-Leaflet-content.png" class="img-responsive" />
<p>
Using <a class="ext-link" href="https://github.com/PublicaMundi/MappingAPI/blob/master/lib/PublicaMundi/build/publicamundi-src.js"><span class="icon"></span>publicamundi.js</a>, we would first setup the map and declare its options using a rather common syntax:
</p>
<pre class="wiki">// Map initialization options
var options = {
target: 'map',
center: [537962.7377, 5741709.1586],
zoom: 13,
minZoom: 2,
maxZoom: 18,
layers: [
{
title: 'CartoDB Positron',
type: PublicaMundi.LayerType.TILE,
url: 'http://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}.png'
}
]
};
</pre><p>
We can then initialize the map with the provided options in a quiet straightforward way, as follow :
</p>
<pre class="wiki">var map;
PublicaMundi.ready(function () {
//Initialize map with provided options
map = PublicaMundi.map(options);
});
</pre><p>
In our example, we then add two more layers to the PublicaMundi map, the first one as WMS and the second one as KML.
</p>
<pre class="wiki"> // Add WMS layer
arrondts = map.createLayer({
title: 'Arrondissements',
name: 'arrondts',
type: PublicaMundi.LayerType.WMS,
url: 'https://download.data.grandlyon.com/wms/grandlyon',
params: { 'layers' : 'adr_voie_lieu.adrarrond'}
});
// Add KML layer
fountains = map.createLayer({
title: 'Fontaines',
name: 'fountains',
click: onFeatureClick,
type: PublicaMundi.LayerType.KML,
url: 'data/kml/fontaines.kml'});
});
</pre><p>
</p>
<p>
Basics map controls such as LayerSwitcher and Popup can finally be added using the same simple syntax. Note that the Popups are created as Overlays, rendered as Bootstrap popovers in both case.
</p>
<pre class="wiki">//Initialize optional layer switcher
map.setLayerControl();
//Initialize popup handler
popup = map.addOverlay(document.getElementById('popup'));
$(document.getElementById('map')).click(function() {
$(document.getElementById('popup')).popover('destroy');
});
</pre><p>
Once we are happy with the map, it is finally extremely easy to make the magic happen, as we just have to call publicamundi.js with the desired library as a data-library attribute of the script tag.
</p>
<pre class="wiki"><script src="lib/PublicaMundi/build/publicamundi.js" data-library="ol"></script>
</pre><p>
</p>
<p>
This example shows basic functionalities but additional features will soon be added to the PublicaMundi Mapping API such as the WFS LayerType or more advanced controls such as clustering or editing. <a class="ext-link" href="http://geolabs.fr/mapping-api/"><span class="icon"></span>View demo</a> and check out <a class="ext-link" href="http://www.publicamundi.eu/"><span class="icon"></span>PublicaMundi</a> to learn more.
</p>
<small>This work was supported by a grant from the European Union's 7th Framework Programme (2007-2013) provided for the project PublicaMundi (GA no. 609608).</br></br></small>
66FOSS4G Europe 2015 is announced2015-01-09T09:11:00+01:00
<img class="img-responsive" src="./tmp/FOSS4G15.png" alt="FOSS4G Europe 2015" />
<p>
After a successful 2014 edition in Bremen, the <a class="ext-link" href="http://europe.foss4g.org/2015/"><span class="icon"></span>FOSS4G Europe</a> conference is announced this year in Como, Italy, on July 14th-17th 2015.
</p>
<p>
Jointly organized by <a class="ext-link" href="http://www.polimi.it/"><span class="icon"></span>Politecnico di Milano</a>, <a class="ext-link" href="http://osgeo.org"><span class="icon"></span>OSGeo</a>, <a class="ext-link" href="http://www.isprs.org/"><span class="icon"></span>ISPRS</a> and <a class="ext-link" href="http://icaci.org/"><span class="icon"></span>ICA</a>, this international event will gather FOSS4G developers and users from Europe and beyond. It aims at fostering closer interactions with and amongst European communities in order to share ideas for improving data, software and applications openness.
</p>
<p>
<a class="ext-link" href="http://europe.foss4g.org/2015/"><span class="icon"></span>FOSS4G Europe 2015</a> will host six different tracks and a number of happenings including a Mapping Party for celebrating the <a class="ext-link" href="http://internationalmapyear.org/"><span class="icon"></span>International Map Year</a>, a <a class="ext-link" href="http://www.geoforall.org/"><span class="icon"></span>GeoForAll</a> meeting, the <a class="ext-link" href="http://eurochallenge.como.polimi.it/"><span class="icon"></span>NASA World Wind Europe Challenge</a> 2015 winners ceremony and other social events. One day of workshops will also precede the conference (14 July 2015) and the traditional OSGeo code sprint will close the event on 18 July 2015.
</p>
<p>
As part of the organisation committee, GeoLabs is glad to host, design and manage the conference <a class="ext-link" href="http://europe.foss4g.org/2015/"><span class="icon"></span>website</a> in close collaboration with the organizers. As for the last year <a class="ext-link" href="http://foss4g.fr/"><span class="icon"></span>foss4g.fr</a> event, the CMS is powered by <a class="ext-link" href="http://trac.edgewall.org/"><span class="icon"></span>Edgewall Trac</a>, <a class="ext-link" href="http://zoo-project.org/"><span class="icon"></span>ZOO-Project</a> and <a class="ext-link" href="http://getbootstrap.com/"><span class="icon"></span>Bootstrap</a>.
</p>
<p>
GeoLabs is happy to relay the conference <a class="ext-link" href="http://www.osgeo.org/node/1493"><span class="icon"></span>announcement</a> and invites you to <a class="ext-link" href="http://europe.foss4g.org/2015/Spread%20the%20word"><span class="icon"></span>spread the word</a> as well. See you in Como !
</p>
<div style="max-width:250px;height:250px;margin:0 auto">
<a href="http://europe.foss4g.org/2015/" target="_blank">
<img src="http://europe.foss4g.org/2015/assets/img/logo.png" class="img-responsive" width="250" height="250" />
</a>
</div>
62PublicaMundi launches labs.geodata.gov.gr2014-12-17T08:21:00+01:00
<img class="img-responsive" src="./tmp/PublicaMundi-frt.png" alt="PublicaMundi.eu" />
<p>
<a class="ext-link" href="http://www.publicamundi.eu/"><span class="icon"></span>PublicaMundi</a>, our FP7 project aiming to make open geospatial data easier to publish and reuse, has just reached a major milestone! Our first public beta, integrating all PublicaMundi technologies developed during the first year of the project is available on <a class="ext-link" href="http://labs.geodata.gov.gr/"><span class="icon"></span>labs.geodata.gov.gr</a>.
</p>
<p>
After a year of intense work, collaboration with data publishers, SMEs, and citizen associations, our group managed to deliver its promise on making geospatial easier to publish and reuse. Using <a class="ext-link" href="http://www.publicamundi.eu/"><span class="icon"></span>PublicaMundi</a> and within a few minutes, a data publisher can upload any geospatial data set to have it automatically ingested and available through open OGC services, simple JavaScript APIs, and scalable interactive maps.
</p>
<p>
The PublicaMundi consortium would like to thank all open data publishers and practitioners for their feedback thus far, and invite them to evaluate the PublicaMundi technologies in labs.geodata.gov.gr. Give us your feedback, ideas, and help us make open geospatial data easier for you to publish and use!
</p>
</br>
<center><a href="http://geolabs.fr/docs/PR_PublicaMundi_Dec2014-GeoLabs.pdf" class="btn btn-default mtm" style="font-size:18px;">Read the press release</a></center>
</br></br>
<img src="http://geolabs.fr/img/labsgeodatagr.png" class="img-responsive" />
<h3 style="margin:30px 0 20px 0;color:#00a099;">PublicaMundi is an open project</h3>
<h4 style="font-size:1.3em;color:#02cfc6;margin:0 0 10px 0;">Open Source</h4>
<p>
PublicaMundi is based on, and extends great open source software for geospatial data management. <a class="ext-link" href="http://zoo-project.org"><span class="icon"></span>ZOO-Project</a>, <a class="ext-link" href="http://pycsw.org"><span class="icon"></span>pycsw</a>, <a class="ext-link" href="http://www.rasdaman.com/"><span class="icon"></span>Rasdaman</a>, <a class="ext-link" href="http://ckan.org"><span class="icon"></span>CKAN</a>, <a class="ext-link" href="http://geoserver.org"><span class="icon"></span>GeoServer</a> and <a class="ext-link" href="http://openlayers.org"><span class="icon"></span>OpenLayers</a> are among the many we focus on. Join us at <a class="ext-link" href="https://github.com/PublicaMundi"><span class="icon"></span>https://github.com/PublicaMundi</a>.
</p>
<h4 style="font-size:1.3em;color:#02cfc6;margin:0 0 10px 0;">Open Data</h4>
<p>
Open data is one of the pillars of EU's Data Economy, an enabler for better governance and financial growth. Our goal is to make geospatial data first-class citizens in the data economy; easier to publish, discover and use to build value added services
</p>
<h4 style="margin:0 0 10px 0;font-size:1.3em;color:#02cfc6;">Open Knowledge</h4>
<p>
All deliverables, software, publications, and data from PublicaMundi are offered with an open knowledge license. We believe this will enable the uptake of our work from young SMEs, researchers, and the community.
</p>
<small>This work was supported by a grant from the European Union's 7th Framework Programme (2007-2013) provided for the project PublicaMundi (GA no. 609608).</br></br></small>
60ZOO-Project 1.4.0 is available2014-12-15T20:26:00+01:00
<img class="img-responsive" src="./tmp/Zoo14.png" alt="ZOO-Project 1.4.0" />
<p>
Sun is shining on the WPS savannah and ZOO-Project 1.4.0 was just released last week. Feedbacks from the core developers at GeoLabs.
</p>
<p>
After a year since 1.3, we would like to highlight two major improvements here which are making <a class="ext-link" href="http://zoo-project.org"><span class="icon"></span>ZOO</a> an even more useful and reliable WPS platform. Check out the official <a class="ext-link" href="http://www.osgeo.org/node/1483"><span class="icon"></span>release note</a> for the full list of newly added features and enhancements.
</p>
<h3>Safer and faster WPS Kernel</h3>
<p>
Fist of all, we've been hunting and fixing memory leaks for a while, and we are glad to tell you that the ZOO-Kernel source code is now almost leak-free.
This allows us to maintain a cleaner code base and makes it easier to optimize according to our needs and the WPS standard. Using the OGC Web Processing Service (WPS) 1.0.0 <a class="ext-link" href="http://cite.opengeospatial.org/te2/about/wps/1.0.0/web/"><span class="icon"></span>Conformance Test Suite</a>, we could also make sure ZOO-Kernel 1.4.0 is fully compliant, with 100% of the GetCapabilities, DescribeProcess and Execute requests successfully passed as shown bellow.
</p>
<img src="http://geolabs.fr/img/citetest.png" />
</br></br>
<p>
Some other advanced optimisations of the FastCGI mode were then implemented, leading to a two times faster ZOO-Kernel. Today we are able to benchmark ZOO-Kernel 1.3 and ZOO-Kernel 1.4 using <a class="ext-link" href="http://httpd.apache.org/docs/2.2/programs/ab.html"><span class="icon"></span>Apache benchmark</a> and the <a class="ext-link" href="https://github.com/WPS-Benchmarking/cptesting"><span class="icon"></span>CPTesting suite</a> we've been working on lately. Here are some results plotted for several GetCapabilities and DescribeProcess requests sent to the two different ZOO-Kernels.
</p>
<img src="http://geolabs.fr/img/globalGC.png" />
</br></br>
<img src="http://geolabs.fr/img/globalDP.png" />
</br></br>
<p>You would of course <a href="http://zoo-project.org/site/Downloads#ZOO-Projectversion1.4.0">download</a> the latest trunk and compile it FastCGI in order to appreciate the differences when it comes to Execute.</p>
<h3>Client side WPS API</h3>
<p>
On a slightly different yet awesome topic, you may also have noticed a new ZOO-Client directory at the root of the ZOO-Project 1.4.0 trunk. We are indeed introducing a client side WPS API for the first time inside this new release. Built on top of the <a class="ext-link" href="http://requirejs.org/"><span class="icon"></span>RequireJS</a> and the <a class="ext-link" href="http://twitter.github.io/hogan.js/"><span class="icon"></span>Hogan</a> / <a class="ext-link" href="http://mustache.github.io/"><span class="icon"></span>Mustache</a> templating system, <a class="ext-link" href="http://zoo-project.org/trac/browser/trunk/zoo-project/zoo-client/lib/js/wps-client/zoo.js"><span class="icon"></span>ZOO-Client</a> aims at simplifying the way one calls ZOO Services and develops client side WPS applications. Some examples and additional <a class="ext-link" href="http://zoo-project.org/docs/client/introduction.html"><span class="icon"></span>documentation</a> will soon be added to the ZOO website. <a class="ext-link" href="https://twitter.com/ZOO_Project"><span class="icon"></span>Stay tuned</a>.
</p>
<p>
Enjoy <a class="ext-link" href="http://zoo-project.org"><span class="icon"></span>ZOO-Project 1.4.0</a> and happy processing !
</p>
59Retour sur FOSS4G-Asia 20142014-12-12T15:34:00+01:00
<img class="img-responsive" src="./tmp/Ayutayah.png" alt="Bouddha" />
<p>
La conférence FOSS4G-Asia s'est tenue du 2 au 5 décembre 2014 à Bangkok en Thaïlande.
</p>
<p>
Organisée sur le campus verdoyant de l'<a class="ext-link" href="http://www.ait.ac.th/"><span class="icon"></span>Asia Institute of Technology</a> (<a class="ext-link" href="https://twitter.com/@AITAsia"><span class="icon"></span>@AITAsia</a>), la première édition de <a class="ext-link" href="http://asia.foss4g.org/2014/"><span class="icon"></span>FOSS4G-Asia</a> fut un vrai succès. L'événement a réuni 112 participants venus de plus de 18 pays (Thaïlande, Chine, Japon, Corée, Inde, Sri Lanka, Indonésie, Philippines...). Des conférenciers invités de renom, des utilisateurs et des développeurs de solutions géospatiales open source ont partagé et échangé leurs visions et leurs expériences pendant ces 4 jours hauts en couleurs.
</p>
<p>
<a style="padding:0; border:none" href="http://geolabs.fr/img/AITCampus.jpg"><img width="100%" alt="http://geolabs.fr/img/AITCampus.jpg" title="http://geolabs.fr/img/AITCampus.jpg" style="margin-right:auto; display:block; margin-left:auto" src="http://geolabs.fr/img/AITCampus.jpg" /></a>
<br />
</p>
<p>
Membre du <a class="ext-link" href="http://www.foss4g-asia.org/2014/organizer-committees/"><span class="icon"></span>comité d'organisation</a> et Sponsor "Supporter" de l'événement, GeoLabs s'est rendu sur place pour présenter les projets <a class="ext-link" href="http://www.mapmint.com"><span class="icon"></span>MapMint</a> (<a class="ext-link" href="https://twitter.com/@MapMint"><span class="icon"></span>@mapmint</a>) et <a class="ext-link" href="http://zoo-project.org"><span class="icon"></span>ZOO-Project</a> (<a class="ext-link" href="https://twitter.com/@ZOO-Project"><span class="icon"></span>@ZOO-Project</a>) lors de deux ateliers logiciels, suivi de deux conférences qui ont permis de détailler les dernières fonctionnalités des technologies développées par la société. La semaine fut également l'occasion d'écouter les très actives communautés open source asiatiques et d'échanger avec nos amis de la <a class="ext-link" href="http://osgeo.org"><span class="icon"></span>Fondation OSGeo</a>.
</p>
<p>
Nous sommes également très honorés d'avoir reçu le prix FOSS4G-ASIA du "Meilleur Développeur" pour notre plateforme <a class="ext-link" href="http://www.mapmint.com"><span class="icon"></span>MapMint</a>. Cette distinction vient récompenser notre approche pertinente des <a class="ext-link" href="http://geolabs.fr/Infrastructures%20de%20Donn%C3%A9es%20Spatiales"><span class="icon"></span>infrastructures de données spatiales</a> et l'utilisation innovante que nous faisons des logiciels MapServer et ZOO-Project.
</p>
<p>
<a style="padding:0; border:none" href="http://geolabs.fr/img/foss4gasia_award.jpg"><img width="100%" alt="http://geolabs.fr/img/foss4gasia_award.jpg" title="http://geolabs.fr/img/foss4gasia_award.jpg" style="margin-right:auto; display:block; margin-left:auto" src="http://geolabs.fr/img/foss4gasia_award.jpg" /></a>
<br />
</p>
<p>
La semaine s'est achevée en beauté avec la sortie officielle de <a class="ext-link" href="http://zoo-project.org"><span class="icon"></span>ZOO-Project 1.4</a> , suite au code sprint de FOSS4G-Asia lors duquel plusieurs développeurs et membres du comité de pilotage ZOO étaient réunis.
Nous avons terminé le voyage par un tour en "tuktuk" dans le centre ville de Bangkok, bondé et pollué, mais illuminé par les festivités de l'anniversaire du Roi de la Thaïlande.
</p>
<p>
<a style="padding:0; border:none" href="http://geolabs.fr/img/tuktuk.jpg"><img width="100%" alt="http://geolabs.fr/img/tuktuk.jpg" title="http://geolabs.fr/img/tuktuk.jpg" style="margin-right:auto; display:block; margin-left:auto" src="http://geolabs.fr/img/tuktuk.jpg" /></a>
<br />
</p>
58geolabs.fr fait peau neuve2014-12-12T11:55:00+01:00
<img class="img-responsive" src="./tmp/NewGeoLabsWebsite.png" alt="New GeoLabs website" />
<p>
Notre site Internet évolue pour mieux vous informer. Vous y trouverez des informations récentes et pourrez le consulter depuis n'importe quel terminal doté d'un navigateur récent.
</p>
<p>
La mise en place de cette nouvelle mouture est aussi l'occasion d'utiliser des outils open source que nous apprécions.
</p>
<p>
Côté graphique, notre identité visuelle "rafraîchie" est restituée par des éléments SVG et HTML agencés au sein de modèles de pages "responsive" et saupoudrés de règles CSS3. <a class="ext-link" href="http://openlayers.org"><span class="icon"></span>OpenLayers</a> et <a class="ext-link" href="http://openstreetmap.org"><span class="icon"></span>OpenStreetMap</a> sont utilisés à titre ornemental et sont intégrés dans le webdesign.
</p>
<p>
Côté technique, le site est propulsé par notre CMS maison basé sur <a class="ext-link" href="http://trac.edgewall.org/"><span class="icon"></span>EdgeWall Trac</a> et <a class="ext-link" href="http://zoo-project.org"><span class="icon"></span>ZOO-Project</a>. Nous écrivons des pages de wiki depuis l'interface Trac, tandis que des services WPS s'occupe de la communication XML-RPC et de la restitution des documents HTML. Il en est d'ailleurs de même pour ce billet, qui n'est autre qu'un ticket renseigné et modéré dans Trac puis publié sur le site de la même manière.
</p>
<p>
Nous espérons que notre nouveau site vous plaira. Revenez sur ce blog ou suivez <a class="ext-link" href="https://twitter.com/GeoLabsSARL"><span class="icon"></span>@GeoLabsSARL</a> pour connaître toute notre actualité.
</p>