Conversion EDIGEO PostGIS🔗
Mes efforts pour banaliser un format franco-français dans le monde ouvert de la gestion de l’information spatiale…
PostGIS, c’est bien, mangez-en… Néanmoins, avoir une DB spatiale c’est bien, mais une DB spatiale bien remplie, c’est mieux. Pour cela, je suppose que vous avez déjà des données disponibles dans des formats divers (dans les GIS on est encore dans l’âge de la préhistoire des formats: chacun y va du sien…).
Oui, je sais, OGR permet facilement d’importer et d’exporter toute sorte de format de fichier GIS. Néanmoins, France oblige, il n’existe pas de support OGR pour le format d’échange EDIGEO. Bref, comme d’habitude en France, on a des bonnes idées mais personne ne les applique… donc, l’EDIGEO n’est pas supporté facilement.
De plus, un comble: EDIGEO est une norme bien établie: NF Z 52-000 de Juillet 1999 mais il n’existe aucun moyen opensource (même gratuit d’ailleurs) de le transformer en format un peu plus usuel (c’est pas demain que tous les outils GIS supporteront l’EDIGEO en natif).
Il se trouve que j’ai eu accès au document de la norme et que j’avais besoin, pour mon taff de convertir des données EDIGEO (du cadastre parce qu’il n’y a guère que ce genre de données qui soient à ce format).
Après avoir cherché pendant un jour des produits libres ou gratuits, je n’ai rien trouvé qui puisse me satisfaire: tout est payant et fermé, un comble pour une norme… Qu’à cela ne tienne: me voilà parti à lire la doc (environ 200 pages) et à faire un script Perl de transcription.
J’ai un énorme parti pris pour PostGIS qui est une contribution à PostgreSQL d’un intérêt énorme dans mon boulot. Résultat, je me suis limité à faire un script de conversion de EDIGEO vers PostgreSQL sous forme de requêtes SQL. De là, avec OGR, on peut le transcrire dans une foultitude d’autres formats…
Bon, c’est du code à l’arrache, codé par un newbie en Perl mais ça marche (dieu que c’est dur à dérouiller les algos pour créer des polygones à partir d’arc…) ! Le code est sous licence GPL V2 même si ce n’est pas marqué dessus !
Je ne fais pas de support officiel mais, je veux bien répondre à toute question par mail à l’adresse suivante: mederic (point) ribreux (chez) medspx (point) fr.