Pour ranger les donnĂ©es gĂ©ographiques dâun projet, on a le choix entre les fichiers shp et une structure plus moderne type base de donnĂ©es. Dans le monde esri coexistent historiquement deux formats: gdb (geodatabase fichier) qui est un format propriĂ©taire esri et mdb (geodatabase personnelle) qui est au dĂ©part le format ms access.
Le format gdb est idĂ©al tant quâon reste dans le monde esri, il reste accessible dans les versions rĂ©centes de qgis (via gdal/ogr) moyennant certaines limitations. Par contre, impossible dâaccĂ©der aux donnĂ©es attributaires avec access, encore moins excel ou libre office.
Le format mdb est interopĂ©rable entre arcgis, qgis et access/libre office mais son gros dĂ©faut est que câest un format obsolĂšte qui nâest plus supportĂ© par microsoft (son inventeur), quâil comporte des limitations en termes de taille et quâil sature rapidement la RAM en cas dâutilisation intensive.
Le problĂšme, câest donc de trouver un format moderne et largement diffusĂ© qui combine les avantages de performance et dâergonomie du format gdb, et lâinteropĂ©rabilitĂ© du format mdb.
la solution: le geopackage
Le gĂ©opackage est un format de donnĂ©es gĂ©ographique dĂ©fini par lâOGC (donc libre et ouvert) basĂ© sur le format de base de donnĂ©es sqlite.
Un fichier sqlite contient Ă la fois une base de donnĂ©es et le moteur de base de donnĂ©es qui permet dâexploiter la donnĂ©e, le tout totalement compatible SQL. Le format sqlite est trĂšs discret mais universellement rĂ©pandu grĂące Ă sa capacitĂ© Ă fonctionner sous nâimporte quelle infrastructure matĂ©rielle et nâimporte quel OS. On le trouve dans firefox, chrome, android... Câest donc le format interopĂ©rable par excellence.
Un geopackage câest simplement une base sqlite qui contient une cartouche spatiale permettant de gĂ©rer des donnĂ©es gĂ©ographiques vectorielles. La donnĂ©e attributaire attachĂ©e reste simplement au format sqlite classique (mĂȘme principe que la donnĂ©e attributaire dans une mdb).
http://www.geopackage.org/
https://www.sqlite.org/index.html
https://en.wikipedia.org/wiki/GeoPackage
https://fr.wikipedia.org/wiki/SQLite
Dans la suite de cette note, on dĂ©montrera toute la chaĂźne dâopĂ©rations depuis la crĂ©ation jusquâĂ lâĂ©dition de donnĂ©es dans un geopackage avec tous les outils Ă notre disposition: arcgis pro/desktop, qgis 3, access et libre office.
arcgis desktop/pro: aucun prérequis, les outils sont disponibles en standard
qgis: idem en version 3, interface presse-bouton
ms access: nécessite le driver sqlite 3.0 pour accéder à la donnée attributaire (http://www.ch-werner.de/sqliteodbc/)
libre office: idem, installation du mĂȘme driver
avec arcgis desktop/pro: data management tools/workspace/create SQLite Database. Bien spécifier le type spatial: GEOPACKAGE_1.2
avec qgis 3: couche>gestionnaire de sources de donnĂ©es>geopackage>nouveau (et plusieurs autres endroits dans lâinterface)
avec access/libre office, on créera une base sqlite, mais sans cartouche spatiale
lire/écrire des données géo dans un geopackage
avec arcgis desktop/pro: le geopackage est un workspace comme nâimporte quel autre. On peut enregistrer une couche, crĂ©er une nouvelle couche, utiliser le geoprocessing copy features exactement comme avec une gdb. Attention: lâĂ©criture dans un gpkg nĂ©cessite une licence basic
avec qgis 3, câest le mĂȘme principe. Le geopackage est une source comme une autre, on la manipule exactement de la mĂȘme maniĂšre
avec access: on accÚde aux données attributaires en se connectant au geopackage comme à une source externe. Attention toutefois: les tables avec un prefixe gpkg constituent la cartouche spatiale. Il ne faut surtout pas y toucher, sous peine de casser le fichier.