[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