Quantum GIS Atlas Plugin

Mardi, 24 Janvier 2012

As an effort for participation in the OpenSource community in general, and the OSGeo community in particular, Oslandia develops free software for research and development, internal needs, client needs or sometimes just for fun !

Of course we work with the community, publish source code, work together in order to leverage the power of OpenSource to its full extent.

This time, we publish a small but very convenient Quantum GIS plugin, named «Atlas». This a a map book tool, and it fills a gap in QGIS features, as such a fonctionality is a long-awaited one. (The easyprint plugin was great but lacked easy customization). Let’s show you what this Atlas plugin is about.

Overview

The Atlas plugin helps you create map books, or series of maps, in an automated way. The concept is to use a coverage layer, wich contains geometries and fields. This layer will define the maps to output. You can create image files or PDF files. All the composition is done in the QGIS map composer, and a specific composition is used as a template.

The plugin allows to replace text labels set up in the composer, with coverage layer’s attribute values, enabling you to set a title, comment, document name, page number, or any dynamic information you want to display on your final maps.

Let’s see the steps needed to create a map book.

Create a project

Begin with a classic QGIS project, import your layers and set styles according to your needs.

qgis_layers

Coverage layer

You have to create a layer containing coverage geometries, which can be any type of geometries, even if polygons are best to represent a coverage. The Atlas plugin will read this layer and for each feature of the layer, will create an output map.

This coverage can have any field number and names.

coverage_attributes

Composer template

You can now create a template for your output, in the Quantum GIS composer. The template is a classic composer document. Two things can be noted :

  • You have to remind which map item will contain your coverages. You can know the map item name with the tooltip (”Map 0” for example).
  • You can use text replacement in label. Every occurence of $FIELD(fieldname) in a label will be replaced by the value of the field with name fieldname from the coverage layer, for the current coverage.

Atlas plugin

You are now ready to launch the plugin. Find the entry in the plugins menu or click the atlas plugin button. You should see the following dialog.

Main Atlas plugin window

Main Atlas plugin window

You have to fill the form before clicking on Render to launch the rendering of the output maps. The options are :

  • Coverage layer : The name of the layer containing the coverage geometries
  • Hide coverage : If checked, the coverage layer itself will not be rendered on the output map
  • Composer template : Choose a template for output images. You can refresh the template list or show the selected template in the composer window
  • Composer map object : Item on the composer template where the map extent will be zoomed on each coverage. Use the tooltip over objects in the composer window to know the map item name
  • Margin around coverage : Amount of space around given coverage geometry. Default is 10% of coverage bounding box
  • Output directory : Location where the rendering writes the output images to
  • Filename pattern : Generic name of the output files. The final names will have a _n suffix before the extension, n being the image number (like basename_0.pdf). The pattern extension determines the output file type. The latter can be any image format (PNG, JPG…) or PDF.
  • Render : The render button launches the rendering process, writing output in the specified directory

Results

The results are written to the filesystem, with the file type specified in the filename pattern.
For example, PNG output :

image_resultsAnd a PDF output example :

okular_results

We can notice that labels have been replaced by corresponding field values in the coverage layer.

Where is it ?

The plugin has been published on QGIS main plugin repository, just look in QGIS plugin installer. Don’t forget to activate the experimental plugins in QGIS plugin installer’s options.

[Update] : For versions < 1.7.3 you have to manually add the new plugin repository : http://plugins.qgis.org/plugins/plugins.xml

Plugin’s homepage is http://hub.qgis.org/projects/atlas

The code can be obtained at : http://hub.qgis.org/projects/atlas/repository

The bugtracker is there : http://hub.qgis.org/projects/atlas/issues

What’s next ?

This plugin is a first release. While being functional for us, it is a beta prototype. There is still a lot of work needed to be done to have a production-ready tool. We are looking for contributors (code, documentation, bug reports, funding…). We would also be happy to have feedback and a gallery of map books if you can publish them.

If you like the plugin and want some improvement, do not hesitate to contact us, we can develop it for you, or adapt it to your specific needs !


TinyOWS et MapCache dans le giron de MapServer

Samedi, 20 Aout 2011

C’était déjà, depuis le dernier Code Sprint de Montréal, une hypothèse de travail, c’est devenu officiel depuis le vote du PSC MapServer: TinyOWS et MapCache rejoignent le giron du projet MapServer.

L’enjeux est de rester fonctionnellement dans la compétition des solutions très intégrées Java based, en ayant comme élément différenciant un axe résolument orienté performance et forte montée en charge.

MapCache apportera la composante de cache de tuiles et TinyOWS la partie WFS-T, tous deux étant évidemment axés ‘hautes performances’.

Au final un seul PSC (celui de MapServer) sera désormais compétent pour les trois projets, et la plateforme de développement sera commune (documentation, mailing liste, svn…). Gage de simplicité pour les utilisateurs qui disposeront ainsi d’un ‘guichet unique’.

Néanmoins chaque projet gardera ses propres rythmes de release, et les utilisateurs aillant leurs habitudes sur un seul des softs de la ’suite’ ne seront pas contraint de devoir installer/configurer de nouveaux binaires, pour continuer à utiliser leurs outils préférés.

Pour de plus amples détails, une conférence sur Denver sur ces thématiques: http://2011.foss4g.org/sessions/mapserver-project-stack

Complément de lecture pour les curieux: RFC 70 et RFC 71.

Oslandia recrute un Développeur Senior

Dimanche, 7 Aout 2011

Oslandia recherche pour agrandir son équipe, et œuvrer sur de nouveaux projets, un développeur senior sur des technos C, C++ et Python.

Si vous êtes intéressé(e)s ou connaissez la personne idoine, une seule adresse: jobs@oslandia.com

En ligne: Le texte complet de l’annonce.

Recherche de financements (aka funding)

Samedi, 28 Mai 2011

Ce post se propose de relayer des appels récents ou récurrents à financement sur de nouvelles fonctionnalités en SIG OpenSource.

PostGIS et SP-GIST

Paul Ramsey met en avant la possibilité d’accroitre significativement les performances des index spatiaux dans PostGIS.

Oleg Bartunov et Teodor Sigaev, tous deux derrières les mécanismes d’indexation GiST et GIN de PostgreSQL, ont fait un prototype d’un nouveau type d’index, SP-GiST, ou «Spatial Partitioning Generalized Search Tree».

Ce nouveau type d’index correspond aux besoins des indexes spatiaux utilisés dans PostGIS. Le prototype actuel a montré qu’il était sur un jeu de test 6 fois plus rapide que l’implémentation actuelle des indexes GiST de PostGIS (l’enjeu est de ne pas avoir besoin de parcourir tout l’index, mais seulement une partie)

Il serait possible d’inclure cette fonctionnalité dans PostgreSQL 9.2, (et donc dans PostGIS en suivant), mais il y a encore besoin de développement pour rendre le code robuste et l’intégrer totalement dans PostgreSQL. Il y a donc un besoin de financement.

Si vous êtes prêt à y participer, n’hésitez pas à contacter directement Paul Ramsey.

PostGIS Rastercode_arrays2

PostGIS Raster est encore dans une phase où le projet nécessite des ressources et financements, pour étendre et stabiliser les fonctionnalités existantes.

Le chemin parcouru est déjà grand, mais il reste bon nombre de choses à faire pour avoir une solution complète, et cela nécessite des fonds.

Pour rappel Pierre Racine présentera le projet PostGIS Raster sur Paris le 23 Juin.
Et c’est lui que vous pouvez directement contacter si vous êtes prêt à financer ce projet.

TinyOWS

TinyOWS qui est en ce moment en cours de finition de la version 1.0.0, se projette déjà sur les sorties à venir, avec une liste de fonctionnalités à financer.

On peut notamment citer :

  • Le support WFS 2.0 et INSPIRE (l’échéance légale INSPIRE pour Download Service étant mi 2012)
  • le support de bases de données multiples
  • Le support d’Oracle Spatial et/ou de SpatiaLite
  • le fonctionnement comme module d’apache (pour gagner encore en performance)
  • l’intégration complète avec MapServer, pour avoir toutes les options du MapFile WFS supportées (et non ‘uniquement’ les options de TinyOWS)
  • L’intégration avec QGIS Server, pour publier du WFS-T directement à partir d’un projet QGIS

Olivier Courtin est la personne référente sur ces chantiers.

Quantum GIS

Le projet Quantum GIS évolue aussi très rapidement, et nécessite donc également des financements.
La version 1.7 sur le point de sortir contient encore certains bugs critiques, à corriger.

D’une manière générale, les tâches de maintenance, refactoring et correction de bugs de Quantum GIS ont du mal à être assumée par l’équipe de développement de façon exhaustive sans financement spécifique.

Des fonctionnalités particulières avanceront aussi beaucoup plus rapidement avec un support financier. On peut citer par exemple:

  • la partie QGIS Server
  • l’intégration d’un serveur WFS-T
  • la refonte de l’ergonomie et des possibilités de personnalisation de l’interface
  • la gestion globale des bases de données
  • le multithreading
  • la 3D.

Comme vous le voyez les projets pour QGIS ne manquent pas !
Contacter Vincent Picavet pour toute demande de précision.

Financement = pérennité

D’une manière plus générale, participer (même modestement) au financement des logiciels qui sont dans au coeur de votre SI est le meilleur moyen de maintenir des communautés dynamiques.
Et donc in fine de garantir la pérennité de votre infrastructure.

Session PostGIS – le 23 Juin sur Paris

Mardi, 17 Mai 2011

Dalibo et Oslandia coorganisent le jeudi 23 Juin à Paris une session internationale d’échange et de conférences consacrée à PostGIS.

Ce sera la deuxième session organisée par Dalibo sur des technologies liées à PostgreSQL cette année, la précédente ayant été un franc succès.

Les mots clefs de ces sessions sont:

  • convivialité, avec de vrais moments dans la journée pour échanger entre tous les participants
  • technicité, avec des intervenants de (très) haut niveau, dont cette fois ci pas moins de 3 commiteurs du projet PostGIS
  • diversité, avec des présentations sur des thématiques variées, tout en restant connexes

En invité spécial, nous aurons le plaisir d’accueillir Sandro Santilli, venant d’Italie pour présenter ses dernières avancées sur le support topologique de PostGIS.
Sachant que Sandro n’est plus intervenu publiquement depuis le FOSS4G de Lausanne en 2006, sa présence est à elle seule un événement !

Pierre Racine sera également au rendez vous, en provenance du Québec, pour présenter PostGIS Raster, dont il est l’initiateur et le chef de file.

De nombreuses autres intervenants et conférences promettent elles aussi d’être d’un excellent niveau, vous pouvez voir le programme complet en ligne.

Les inscriptions, non payantes, sont à réaliser directement sur le site.
Attention, le nombre d’inscription étant volontairement réduit à 100 participants, il convient (vraiment) de ne pas trop tarder à s’inscrire.

Horaires : 9h30 à 17h30.
Lieu :  Le Comptoir Général 80, quai de Jemmapes, 75010 Paris http://osm.org/go/0BPIqc7Q

TinyOWS 1.0.0rc1

Dimanche, 1 Mai 2011

Et la voici, la première mouture de TinyOWS 1.0.0, le serveur WFS-T haute performance, vient tout juste de sortir dans les bacs !
Plus de 500 heures de développement auront été nécessaires pour aboutir à cette nouvelle release. La sortir un 1er Mai est donc tout un symbole ;)

Download: http://tinyows.org/tracdocs/release/tinyows-1.0.0rc1.tar.bz2

Les principales fonctionnalités et améliorations de cette mouture:

  • Support complet de OGC WFS-T 1.0.0 et 1.1.0 (ce qui implique tout de même de passer plus de 1000 tests unitaires OGC CITE)
  • Améliorations très nette des performances sur les requêtes de type Transaction et GetCapabilities. (gains de l’ordre de facteur x20 sur les Transactions)
  • Ajout d’un parseur de MapFile permettant d’utiliser un seul fichier de configuration pour à la fois MapServer et TinyOWS (typiquement un en WMS et un en WFS-T)
  • De nombreux correctifs et debugs

C’est encore une RC1, l’objectif est de la tester en grandeur nature pour faire remonter tous les éventuels bugs résiduels avant la prochaine release stable.
Donc d’avance merci à tous les bétas testeurs qui prendront un peu de leur temps pour tester et faire des retours.

Attention de petits ajustement dans le fichier de configuration ont été introduits par rapport aux précédentes releases:

  • renommage de ’server’ et ‘prefix’ en ‘ns_uri’ et ‘ns_prefix’
  • renommage de ‘wfs_display_bbox’ en ‘display_bbox’

ChangeLog:

- Configuration change with broken backward compatibility:
* rename server and prefix to ns_uri ans ns_prefix
* rename wfs_display_bbox to display_bbox
- Encoding support, written by Carlos Ruiz: cruizch@gmail.com
- Estimated_bbox option for GetCapabilities response (default is false)
- Schema cache for fast-cgi mode (huge performance improvement on transaction operations)
- Improve drasticaly GetCapabilities performance on huge layer (Thanks to Nicklas Aven for report)
- Add ability to use different names for layer and storage table (table property)
- Mapfile config file support (use related TINYOWS_MAPFILE env. var)
- Debug option available from configure step (–enable-debug)
- Improve result from –check option
- Add wfs_default_version config file option, to set server default WFS Version
- Add gml_ns config file option, to set if any, layers properties using GML namespace
- Add log_level config file option, to allow more granularity in log output
- PostGIS version init check (support 1.5 and coming 2.0)
- Update XSD schema (WFS, FE, GML), so need a new ‘make install’ step if you upgrade
- CITE WFS-T 1.0.0 SF-0 full compliant (require PostGIS 2.0)
- CITE WFS-T 1.1.0 SF-0 full compliant (require PostGIS 2.0)
- Lot of debug stuff (a special thanks to Boris Leukert for detailled reports)

MapServer et INSPIRE View Service

Jeudi, 28 April 2011

MapServer cherche à être nativement compatible INSPIRE View Service.
(A l’heure actuelle il est nécessaire de passer par des surcouches en PHP/MapScript pour rajouter la plupart des spécificités INSPIRE manquantes)

Sachant qu’il est déjà comptabile avec WMS 1.3.0 (ISO 19128), la charge de travail en sera d’autant simplifiée.

L’horizon de la prochaine release majeure (Septembre 2011 avant le FOSS4G) est visée, pour cet ajout fonctionnel.
Ceci restant cohérent avec la date butoire INSPIRE de mise en oeuvre: Novembre 2011 pour View Service.

Depuis le dernier code sprint MapServer de Montréal en Février, les moyens mis en oeuvres sont:

Précision du mentor concernant ce GSoC:

To give some background, over the summer Stefan will be working to improve the INSPIRE view service support in MapServer with focus on METADATA elements including multiple languages.

Of course we’ll take into account the work done so far like the documentation at and the recent discussions on the mapserver-inspire list.

The project plan is to first evaluate the INSPIRE specification version 3.0 and document the results in the form of a MapServer RFC for discussion and then implementation.

Votez pour les présentations FOSS4G 2011 !

Mercredi, 27 April 2011

Cette année le FOSS4G, grande conférence mondiale du monde des SIG OpenSource, aura lieu à Denver, du 12 au 16 septembre.

Vous pouvez dès maintenant, et jusqu’au 8 mai seulement, voter pour les présentations qui vous intéressent le plus. Près de 300 présentations ont été soumises, et seulement 130 environ seront sélectionnées !

Oslandia a soumis quatre propositions, deux pour des présentations longues, et deux «lightning talks» :

  • «WFS and SQL Injection»  par Olivier Courtin
  • «TinyOWS, what’s new for the high performance WFS-T server ?» par Olivier Courtin
  • «Rumble: communicate with your elephant !» Par Vincent Picavet
  • «Efficiently using PostGIS with QGIS» Par Vincent Picavet

A noter que dans l’interface de vote, les présentations pour lesquelles vous pouvez donner une note sont limitées à 120, prises et affichées au hasard, afin de conserver un maximum d’égalité entre les talks.

N’attendez pas et allez donc voir faire le programme !

Projets Google Summer of Code pour l’OSGeo

Mardi, 26 April 2011

La liste des projets du Google Summer of Code 2011 est sortie. Au menu, de nombreux projets et quelques un liés à la géomatique.
Le Google Summer of Code, connu aussi comme GSoC, est un programme de Google, qui vise à sponsoriser des projets de développement OpenSource. Le programme est ouvert aux étudiants, qui sont rémunérés par Google pour réaliser un projet qui leur est attribué. Le projet s’effectue sous la direction d’un «mentor», qui est la personne responsable de la bonne marche du projet pour le compte de l’organisation qui en bénéficie.

L’OSGeo bénéficie cette année de 21 projets, et on peut noter que c’est la quatrième plus importante organisation en ce sens, après KDE, la fondation Apache, Python et Gnome. On peut signaler quelques projets particulièrement intéressants.

Quantum GIS

Camilo Polymeris va développer l’intégration de SAGA dans QGIS. SAGA est un logiciel SIG ainsi qu’une bibliothèque de traitement geo-scientifique avec de nombreux modules. SAGA serait ainsi interfacé de la même façon que GRASS dans Quantum GIS, apportant nombre de nouvelles fonctionnalités.

Giuseppe Sucameli va travailler sur le plugin DBManager. Le but de ce plugin est d’uniformiser les différentes interfaces de gestion de base de données existantes dans QGIS, afin de simplifier et rationaliser leur utilisation. Ce plugin remplacera donc à terme notamment le plugin Spatialite Manager et le plugin PostGIS manager.

Marco Bernasocchi va se pencher sur la création d’une première application mobile sur la base de QGIS. Maintenant que Qt4 a été portée sur Android (sous le nom Necissitas), les bases sont prêtes pour créer un portage de QGIS sur cette plateforme. Une interface utilisateur spécifique sera également nécessaire pour adapter le logiciel à une utilisation sur smartphone et tablet PC.

PgRouting

«Jay» va effectuer des améliorations sur PgRouting, pour y incorporer un algorithme du plus court chemin dynamique, et la gestion du temps pour les calculs de plus court chemin.

J. Kishore Kumar va quant à lui travailler sur l’aspect résolution multi-modale des problèmes de routing, dans PgRouting

MapServer

Stefan Leopold a été retenu pour le développement du View Service défini par INSPIRE. Il s’agit d’ajouter les fonctionnalités manquantes dans MapServer pour supporter cette extension du WMS.

L’ensemble des projets choisis pour l’OSGeo est disponible. On y trouve plus de détail pour chaque projet retenu. De bonnes choses en perspective !

Rencontres de la communauté QGIS à Lisbonne

Mercredi, 20 April 2011

Ce dernier week end a eu lieu la rencontre de la communauté QGIS à Lisbonne.

Ce fut encore une fois l’occasion de réunir les développeurs et la communauté qui fait vivre Quantum GIS. Des avancées techniques ont eu lieu (un plugin, des bugfix), mais ce fut surtout l’occasion de discuter des orientations et des travaux en cours.

Les principaux points de discussion abordés lors de cette rencontre sont les suivants.

Changement de système de gestion de code

Un passage vers une gestion de code avec GIT est prévue, juste pour la sortie de la 1.7, afin de clarifier la situation actuelle où un dépot SVN et des copies GIT n’est pas optimale. Cela engendrera certainement des changements dans l’organisation sociale du projet, mais devrait permettre à plus de personnes de contribuer au projet, plus facilement.

Gestion de tickets

La décision est prise de passer du système de gestion de tickets actuel qui est Trac, vers un système sous Redmine. La migration se fera en même temps que la migration vers GIT.

Globalement le projet QGIS est en train de refondre toute son infrastructure. En plus des systèmes de gestion de code et de gestion de tickets, l’architecture web de gestion de plugins est en totale réorganisation. Une version de développement de la plateforme de gestion de plugins est déjà en place, et a été longuement discuté pour l’améliorer encore, pour y mettre des statistiques, des tags, des notations, ainsi que pour faciliter l’administration.

QGIS Server

Les travaux de Marco Hugentobler permettent d’ors et déjà d’utiliser QGIS comme serveur WMS. Les discussions sur ce projet ont porté sur la possibilité d’intégrer TinyOWS pour pouvoir mettre en place facilement des serveurs WFS et WFS-T.

Interface

La discussion principale a porté sur la conception de composants génériques et réutilisables tels qu’un widget d’arbre réutilisable. Du travail sur les fenêtres de gestion de symboles a aussi été effectué.

OTB

Julien Malik du projet Orfeo Toolbox était présent, et a présenté cette bibliothèque dédiée à la télédétection, dans le but de pouvoir discuter son intégration dans QGIS.

Documentation

Du progrès a été réalisé dans les différentes langues de la documentation, et Jean-Roc Morreale a montré un exemplaire couleur de la version papier, qu’on peut commander ici.

QGIS mobile ?

Une première discussion a eu lieu pour déblayer le travail à effectuer pour avoir une version de QGIS fonctionnant sur mobile. Pour le moment la plateforme de choix semble être Android dans un premier temps, notamment car Qt4 y est déjà disponible.

Finances

Le projet QGIS continue à recevoir des donations régulières. Cela permet principalement de continuer à organiser les hackfest. Pour subvenir aux besoins du prochain rassemblement, le projet compte encore sur vos donations !

QGIS meeting

Marco Hugentobler propose d’organiser le prochain QGIS meeting en novembre à Zurich.

Un grand merci aux organisateurs et aux sponsors de cet évènement à Lisbonne :

Vous pourrez retrouver ces points et plus de détail en anglais sur le post de Tim Sutton.