jeudi 22 juillet 2010

[fr][MAJIC] Intégration OpenSource des Fichiers Fonciers

On peut lire beaucoup de fils de discussion dans les forums géomatiques traitant de l'extraction des données MAJIC comme celui-ci: http://georezo.net/forum/viewtopic.php?id=53811
La lecture de ces données, leur exploitation nécessitent des compétences particulières. Ainsi, certaines structures font appel à des prestataires ayant de l'expérience dans l'intégration de ces fichiers et/ou font l'acquisition de solutions le plus souvent propriétaires.

L'objectif de la série d'articles qui viendra est de:
  • vous présenter les fichiers fonciers MAJIC, leur structure
  • et surtout, de vous décrire comment procéder gratuitement à leur intégration à l'aide de Talend Open Studio, solution ETL OpenSource.

Présentation des fichiers fonciers
Voici un aperçu du contenu du CD ROM des fichiers fonciers:


On retrouve:
-l'ensemble des fichiers fonciers à la racine
*.NO748
-la liste des communes concernées LISTE_DES_COMMUNES.HTM
-le dossier DESCRIPT dans lequel on retrouve la documentation associée à chaque fichier.

Notons que pour les néophytes, la présentation des fichiers peut prêter à confusion comme ils ne possèdent pas d'extension. Un ajout de l'extension .txt vous permettra de les ouvrir automatiquement dans votre éditeur de texte préféré.

Structure des fichiers
Si l'on ouvre un fichier foncier, on retrouve cette structure (représentée de façon schématique):


Les fichiers source MAJIC sont de type positionnel, c'est-à-dire que chaque champ/colonne est déterminée par une position au nombre de caractères.

La structure de la plupart des fichiers fonciers est irrégulière dans la mesure où ces derniers peuvent contenir plusieurs types d'informations appelés articles revenant cycliquement au sein du fichier. Une ligne peut représenter un article, la suivante un autre article. Le nombre d'articles par fichier est variable. L'exemple ci-dessus serait celui d'un fichier foncier possédant 3 articles. Par exemple, le fichier des propriétés non-bâties NBAT en contient 4 (sans compter l'article direction commun à tous les fichiers).

Transformation des fichiers source
Peu de logiciels permettent de traiter et d'exploiter directement des fichiers de type positionnel.
Les formats les plus courants d'exploitation statistique sont les formats délimité, Excel/Calc ainsi que ceux de SGBDR tels que PostgreSQL. En l'état, les fichiers source MAJIC sont donc difficilement exploitables.
Une fois transformés dans les formats les plus couramment utilisés, il devient alors possible d'exécuter des requêtes spécifiques et donc d'exploiter pleinement les données. Les interrogations seront beaucoup plus poussées et plus faciles à exécuter sous un SGBDR comme PostgreSQL que sous Excel. C'est pourquoi la plupart du temps des prestataires proposent une intégration au sein d'un SGBDR.
Pour autant, nous verrons qu'il est tout à fait possible, dans Talend Open Studio, de procéder directement à des requêtes sur les fichiers source de type positionnel.

Etapes de traitement
Avant d'exploiter les données, il apparaît tout d'abord nécessaire d'effectuer quelques traitements.
Dans un premier temps, nous allons séparer un fichier foncier en autant de fichiers qu'il y a d'articles. Il y aura donc un fichier par article. Chaque fichier obtenu sera de structure homogène, contrairement à avant.
Article1


Article2
Article3



Une fois ce traitement réalisé, nous serons en mesure de transformer les fichiers source obtenus en fichier délimité et/ou procéder à leur intégration au sein d'un SGBDR (nous utiliserons ici PostgreSQL).

L'intérêt du fichier délimité est qu'il est ouvrable dans un logiciel Tableur comme OpenOffice Calc ainsi que dans les logiciels SIG courants.



Logiciels d'intégration existants
L'annexe du guide du CERTU mentionne, parmi les solutions d'intégration, le logiciel Feature Map Engine ainsi des macros ayant été développées sous Excel. La société veremes a développé une extension spécifique facilitant l'exploitation des données MAJIC dans FME.
Le tableau comparatif comprend deux solutions gratuites: les macros excel citées ci-dessus ainsi que l'application GISMeaux développée par le Pays de Meaux. Le développement de scripts Perl pour traiter les fichiers fonciers est gratuit, lui aussi, mais il demande des compétences fortes en programmation avec toutes les problématiques de maintenance que cela peut poser.
Talend Open Studio est une solution ETL opensource, assez similaire à FME, qui ne figure pas dans ce tableau. Elle fournit à l'utilisateur une interface de modélisation graphique des processus qui se substitue à l'écriture fastidieuse de lignes de code. Derrière, du code Java ou Perl est généré, sans que l'utilisateur n'ait à s'en préoccuper.
En plus de l'intégration, TOS permet d'effectuer un contrôle qualité des données: identification des doublons, de champs non renseignés, d'incohérences. De plus, l'implémentation de composants de Slow Changing Dimension permet de suivre l'évolution des données dans le temps, par exemple d'une année à une autre.
Spatial Data Integrator ajoute la composante spatiale à TOS. Il permet de générer des fichiers plats géographiques ainsi que d'importer les données MAJIC géolocalisées directement dans PostgreSQL/PostGIS.
En somme, il est tout à fait possible de procéder à l'intégration de la matrice cadastrale sans surcoût financier lié à l'acquisition d'un logiciel.

Les prochains articles vous décriront les opérations d'intégration sous le logiciel Talend Open Studio/Spatial Data Integrator.

samedi 27 mars 2010

Spatial Data Integrator, a spatial ETL - General Presentation and Use Cases

This presentation is a translation of the related post

In the context of the Geomatics Community Meeting Day organized by the French Ministry of Environement, Sustainable Development and the Ministry of Agriculture, I was invited to present the ETL Spatial Data Integrator.

I've tried to translate this presentation in english to share it to the largest public as possible.

The presentation contains many screen prints of processes. It's been made in a didactic way so that you can recur the processes on your computer. Even if you don't practice, I hope you'll get an idea of some posibilities offered by a spatial ETL.

Good reading!

mercredi 6 janvier 2010

1st post of the year!

I wish to all of you a happy new year. My best wishes for 2010!
I then want to thank everyone for consulting my blog. It's a pleasure to share knowledge amongst the OSGeo community.
I hope you have the same pleasure reading this blog that I have while reading other blogs on the web.
The OSGeo world is so active I discover new things every day!

I wrote the first article on the 17th of March 2009.
The post was about the power of an opensource GIS software as QGIS in an organization and announced a content strongly oriented on Open Source Softwares. It was an honor to see this post mentioned on RL D'Hont's blog, a very popular geo blog.
Since then, I tried to feed my blog regularly, with around 1 post per month.

Though French, I wanted to write this blog in english to allow the great majority of people to access its content, while practicing my english (I don't have this opportunity in my current job).
I was very surprised to see that people from all around the world consulted datagistips. I must admit I didn't expect that! That's one power of the web to make knowledge accessible to every one.

I often like to look at some statistics of consultation. These are the ones from the birth of the blog till now:

Let's have a closer look:



- The fact that France is at the top is not surprising: some articles are still in french, like the one about spatial data integration that I plan to translate.
- USA and Canada are then on the list, not surprisingly.
The fact that India has counted more visitors that United Kingdom and that it is in the "top 10" quite astonishes me!
- The same for Brazil that counts more visitors than European countries like UK and Belgium.
It reflects a global interest, not restricted to certain parts of the world. It kind of motivates me keeping on publishing.

I still have many ideas about posts that would potentially raise your interest. The use of Business Intelligence in geographical contexts gets more and more famous. I'll keep on writing some articles about this domain. You'll find some tips/tutorials about controlling data (quality, etc..), a critical function in all organizations, because it is strategic and time-consuming.
Also, I'm sure you'd like to read articles about Web developing. I've got some ideas of posts about programming with OpenLayers, jQuery.

Anyway, whatever you are interested in, if your concerns are about data and GIS, stay tuned!

Best,

Mathieu

vendredi 4 décembre 2009

One simple example of using GDAL/OGR together with Talend or how to get rid of scripts

In this post, you can replace any mention to Talend by Spatial Data Integrator as this latter software is an extension of the initial Talend

One goal of some ETL tools like Talend is to avoid writing multiple and complex lines of code and speed the conception and execution of integration processes. All the operations are designed in a workspace. The administrator picks the components he needs from a palette and links them. Behind, Java or Perl lines of code are generated but the casual administrator wouldn't need to read nor modify these lines. Somewhat, Talend offers a graphical and friendly way for programming.

Spatial Data Integrator is just Talend to which spatial components and functions have been added. The java libraries behind are GeoTools, Java Topology suite and Sextante. Despite the richness of functionalities, you won't find some components needed for some specific operations. In particular, Talend SDI doesn't support as many formats as OGR. Therefore, you can't convert your files between some specific formats. Besides, in Talend SDI, for the conversion case, it requires knowing the structure of your files (called schemas) in advance. It's a prerequisite that limits massive format-converting.

Happily, Talend is flexible enough to allow the administrator to enrich the application with additional Java libraries and to launch command line tools. Talend will allow you to easily integrate GDAL/OGR operations inside complex processes with only one line of code. Actually, depending on the utility, it's the single line of code one is supposed to know.

Many people ask on forums how to use GDAL/OGR over a series of files, for instance how to convert a bunch of ESRI files into KML Files. The given solutions require knowing some elements in shell or batch scripting. Depending on the case, the script could become quite big, thus difficult to maintain (even more when considering one sometimes copies-pastes the lines of code without really understanding them).

Let's look at the solution given by Tim Sutton, a well-known developer in the OSGeo world, to convert a directory of tiffs to ecw. The SHP to KML script would look alike.
#!/bin/bash
mkdir ecw
for FILE in *.tif
do
BASENAME=$(basename $FILE .tif)
OUTFILE=ecw/${BASENAME}.ecw
echo "Processing: ${BASENAME}.tif"
if [ -f $OUTFILE ] #skip if exists
then
 echo "Skipping: $OUTFILE"
else
 /usr/local/bin/gdal_translate -of ECW -co LARGE_OK=YES $FILE $OUTFILE
fi
done

As you can see, skills in programming are obvious.

Designing the conversion process in Talend is quite easy as it uses only two components. The first one lists the files inside a folder and the second applies the OGR2OGR command over each of them. This case is one of the simplest example of integrating GDAL/OGR command line tools in Talend.

Let's examine the job:


Let's look at the tFileList component:

No explanation needed: just looking at the component properties is explicit enough, far more than multiple lines of code.

Now, let's look at the tSystem properties in which we launch the OGR2OGR command:

The command is the following one:
"ogr2ogr -f \"KML\" "+((String)globalMap.get("tFileList_1_CURRENT_FILEPATH")).replace("SHP","KML")+" "+((String)globalMap.get("tFileList_1_CURRENT_FILEPATH"))

  • ((String)globalMap.get("tFileList_1_CURRENT_FILEPATH")) is the complete ESRI file path returned by the tFileList component. You access this global variable by typing the Ctrl-Space shortcut.
  • ((String)globalMap.get("tFileList_1_CURRENT_FILEPATH")).replace("SHP","KML") is the complete ESRI File Path in which we replace "SHP" by "KML". The KML file will be generated in the same folder as the ESRI GIS files.
  • \" escapes the " character.

This job gives you the main principle for using a command line tool like GDAL/OGR together with Talend. You could do the same with gdalwarp, gdal_translate commands. As the method is mainly graphical and intuitive, it's easier to develop and to maintain than a shell or batch script. This kind of operation could get more complex when being part of a job that includes other Talend SDI components.

The possibility of transmitting the result of a command to other components can lead to powerful processes, complex, yet at the same easy to improve and maintain. We'll see one example of command outputting in a future post.

mardi 6 octobre 2009

[fr] Présentation de Spatial Data Integrator, logiciel d'intégration de données SIG (mais pas que..)

The powerpoint below will be translated in english soon

La réorganisation de l'Etat, notamment la fusion des services Déconcentrés, fait ressortir un large spectre de problématiques liées à la gestion de patrimoines de données. En rapprochant des personnes, des activités, c'est des infrastructures qu'il faut faire converger.

Tout l'enjeu consiste à maîtriser l'accroissement de la quantité de données, à homogénéiser les formats de stockage qui pouvaient être différents d'une structure à l'autre et à normaliser les méthodes de documentation et de traçabilité des données (qui pouvaient se faire via des fiches de méta-données).

La mutualisation des patrimoines de données, et des méthodes, est un élément qui affectera de manière importante l'appréciation que l'équipe de pilotage fera quant à la qualité de la fusion. Elle sera perçue comme stratégique et fera l'objet de beaucoup d'insistance.

Dans ce contexte, et parce que les délais sont courts, les équipes chargées de l'administration et de la valorisation des données doivent faire preuve d'une grande réactivité. La facilité avec laquelle elles pourront répondre au besoin d'unification est néanmoins tributaire des moyens disponibles. Il est donc essentiel qu'elles disposent de solutions clé en main leur permettant d'intervenir efficacement sur le système d'information décisionnel de leur structure selon la démarche projet qu'elles auront adoptée.

Lors de Journées Nationales du Réseau Géomatique qui rassemblaient des acteurs et responsables SIG du Ministère de l'Ecologie, de l'Energie, du Développement durable et de la Mer ainsi que du Ministère de l'Agriculture et de la Pêche, je fus invité à présenter une de ces solutions: Spatial Data Integrator, logiciel d'intégration de données géographiques(...mais pas que).

C'est le diaporama de cette présentation que je vous propose. En voici son articulation:
-Dans un premier temps, l'outil est présenté assez rapidement...
-...pour passer à une démo simple mais néanmoins utile qu'est la gestion des rejets lors de la jointure d'un fichier excel et d'un fichier géographique...
-...puis enfin, 4 cas d'utilisation sont abordés qui sont bien sûr transposables hors du domaine de l'Administration

Le présentiel comporte de nombreuses copies d'écran issues du logiciel qui vous aideront à reproduire les jobs.