[OSM-talk-fr] Import automatique du bâti

Pierre pinaraf at pinaraf.info
Mar 16 Nov 10:51:14 UTC 2010


Bonjour à tous

Afin d'aider les développeurs de merkaartor dans le support du cadastre, j'avais 
commencé diverses expériences de manipulation du cadastre en C++ (avec Qt4).
Je me suis alors rendu compte que j'avais quasiment tous les outils pour 
remplacer l'ensemble des scripts d'import du bâti, en évitant certains de leurs 
défauts.
Notamment, la consommation en mémoire vive de mon convertisseur est beaucoup 
plus faible (le logiciel pdf2svg ayant tendance à consommer énormément de 
mémoire...), et, ayant obtenu de meilleures performances, j'ai pu intégrer des 
fonctionnalités coûteuses en temps mais qui améliorent le résultat final. Ainsi 
mon logiciel est capable de détecter sur le cadastre le bâti, les voies de 
chemin de fer, les cours d'eau, mais aussi les cimetières et les églises.

Bien entendu, je suis certain que mon petit bout de code n'est pas sans bugs. Je 
suis également sûr que d'autres fonctionnalités seront nécessaires à plus ou 
moins long terme, mais au moins le tout est disponible, a priori fonctionnel, 
sous licence LGPL.
Le projet est disponible à cette adresse :
http://gitorious.org/qadastre/qadastre2osm
Les dépendances sont :
- Qt (core, gui et network... j'aimerais bien ne plus dépendre de Qt Gui, mais 
ça sera pour plus tard, au moins je dépend pas d'un serveur X)
- l'inévitable Proj4
- podofo (paquet libpodofo-dev sous debian), une librairie fort sympatique pour 
la manipulation des PDFs

Pour la compilation, il suffit de faire :
- qmake
- make
Et voilà, un binaire Qadastre2OSM est disponible...

Utilisation (honteusement copiée du programme) :
./Qadastre2OSM --list DEPT : list the cities of a department (given its code in 
a three digit form)
./Qadastre2OSM --download DEPT CODE NAME : download a city
./Qadastre2OSM --convert CODE NAME : generate the .osm files for a city


Exemple : 
./Qadastre2OSM --list 059 | head
NK220 - FACHES-THUMESNIL (59155)
NK328 - LAMBERSART (59130)
NK346 - LEZENNES (59260)
NK350 - LILLE (59160)
NK368 - LA MADELEINE (59110)
NK386 - MARQUETTE LEZ LILLE (59520)
....

./Qadastre2OSM --download 059 NK220 FACHES-THUMESNIL
Le fichier pdf est téléchargé dans le dossier courant : NK220-FACHES-
THUMESNIL.pdf et NK220-FACHES-THUMESNIL.bbox

Puis enfin :
./Qadastre2OSM --convert NK220 FACHES-THUMESNIL



Réponses à quelques questions :
- Pourquoi avoir fait cet outil ?
Parce que j'avais tout sous la main, j'ai juste branché les éléments ensemble... 
Et puis je trouve que la solution actuelle, bien que fonctionnelle, n'est pas 
techniquement satisfaisante, notamment en raison de la piètre qualité des 
fichiers SVG générés par pdf2svg.

- Pourquoi ce n'est pas multi-thread ?
Parce que proj4 supporte pas ça pour l'instant

- Pourquoi utiliser une librairie exotique comme podofo plutôt que poppler ?
Parce que poppler est une librairie de rendu, pas de lecture.

- Pourquoi utiliser Qt ?
Parce que j'aime ça, que Merkaartor est en Qt...

- Quelles plateformes sont supportées ?
A priori, cet outil marche aussi bien sous Linux, Windows et MacOS X, mais je ne 
l'ai compilé et testé que sous Linux...


Bonne journée à tous
 Pierre
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: signature.asc
Type: application/pgp-signature
Taille: 198 octets
Desc: This is a digitally signed message part.
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20101116/07df60dd/attachment.sig>


Plus d'informations sur la liste de diffusion Talk-fr