Dans le prolongement de mon petit projet de test MapKit et Swift, je continue en pointillé sur un projet un peu plus ambitieux (en tous cas au niveau volume de données). Le but était pour moi d’aller jusqu’à la publication d’une petite application en Swift pour me familiariser avec ce langage et valider la chaine complète. Mon intention était de publier le source comme tutoriel, mais le volume de la base de donnée utilisée pose problème !

À partir des données (open data) publiées d’une part par l’IGN et d’autre part par l’institut national de l’origine et de la qualité (INAO), j’ai créé une application permettant de visualiser les aires géographique des AOC/AOP.

Ce coup-ci j’utilise une base de donnée SQLite plutôt que du GeoJSON, principalement pour des raison de vitesse de chargement. Je n’ai pas encore de solution pour charger les contours de 36.000 communes à partir d’un fichier JSON en Swift dans un temps raisonnable. Le tracé des tuiles de la carte se faisant avec une thread par tuile (Map Kit), il est délicat d’accéder à la base de donnée au moment du tracé (concurrence). Les données sont donc chargées en mémoire lors du démarrage.

Une autre difficultés a été de comprendre le format WKB (Well Known Binary) tellement bien connu que la documentation est difficile à trouver !

Les données open data:

IGN: http://professionnels.ign.fr/geofla

INAO: https://www.data.gouv.fr/fr/datasets/aires-geographiques-des-aoc-aop/

 

L’application est disponible sur l’App Store.

 

AOC