Le meilleur choix pour créer des cartes statiques: PostGIS, SpatiaLite ou Shapefile?

10

Je construis généralement des cartes topographiques statiques, qui sont principalement imprimées. J'utilise souvent des OSM et des rasterfiles (principalement différents DEM). Les zones que je cartographie dépassent rarement 20 000 km². J'utilise exclusivement des logiciels open source comme QGIS, SAGA et GRASS.

Je connais les problèmes des fichiers de formes, mais ils sont faciles à gérer. Et je ne suis pas très familier avec Postgis ou SpatiaLite. J'ai essayé des postgis, mais j'ai eu beaucoup de problèmes à les gérer, SpatiaLite me semble plus facile.

Que pensez-vous: devrais-je rester avec des fichiers de formes ou passer à des bases de données comme SpatiaLite ou postgis. Quels sont les avantages et les inconvénients de mon cas?

CARTE
la source
est-ce pour local (principalement à utiliser dans un logiciel SIG) ou pour servir sur Internet dans une carte hébergée?
Sous le radar le
Quel type de problèmes avez-vous rencontré avec PostGIS?
RyanKDalton
C'est principalement pour la course locale. J'ai chargé OSM dans postgis et l'ai utilisé dans QGIS. C'est tout ce que j'ai fait avec Postgis jusqu'à présent.
MAP
3
Les bases de données sont plus efficaces en termes de stabilité et de performances, vous pouvez également y exécuter des requêtes SQL complexes. Personnellement, j'utilise des fichiers de formes uniquement comme format d'échange. Dans votre cas, j'essaierais d'utiliser spatialite car il ne nécessite pas d'installation de serveur de base de données
megadrofan
1
Tôt ou tard, vous atteignez le cas d'utilisation où vous devez obtenir un calque qui ne contient qu'une relation spatiale ou une valeur de colonne. PostGis est le seul qui évolue d'un utilisateur à peu près n'importe quoi. Je pense que Postgis est un outil non seulement db.
simplexio

Réponses:

15

Si la seule raison pour laquelle vous envisagez d'adopter un nouveau système est «parce qu'il y a un nouveau système brillant» , ne le faites pas. Tant que vous ne rencontrez pas de problèmes avec les limitations des fichiers de formes ou souhaitez profiter de certaines fonctionnalités spécifiques de postgis / spatialite / quoi que ce soit, il n'est pas nécessaire de changer. Continuez à concevoir et à produire des cartes.

Tôt ou tard, les problèmes avec les fichiers de formes arriveront à un point critique, et c'est le moment de les résoudre. Le nouveau système brillant sera alors encore plus récent et plus brillant.

C'est toujours une bonne idée de garder un œil sur ce qui se passe "là-bas", et de faire un tour de temps en temps, mais n'investissez pas dans la modification de votre flux de production complet jusqu'à ce qu'il y ait des avantages concrets spécifiques pour le faire. Sinon, il est trop facile de passer des mois (des années!) À bricoler la voiture dans le garage et à ne pas vraiment aller conduire n'importe où.

Matt Wilkie
la source
14

La spatialite pourrait être intéressante car elle est rapide pour une utilisation locale. Vous pouvez le charger directement dans la RAM de votre machine et ce n'est qu'un seul fichier, il est donc vraiment portable et partageable. Vous pouvez créer des index R-tree sur la géométrie.

Tout comme PostGIS, Spatialite suit les normes OGC et la plupart de ses fonctions sont similaires à celles de PostGIS et utilisables en SQL. Il s'agit également " [...] d'un format alternatif aux fichiers de forme ESRI, qui présentent plusieurs problèmes hérités (tels que les types de stockage et les longueurs des noms de colonne, etc.) " ( wiki PostGIS ).

Le plugin rasterlite est également très performant pour gérer les données raster en utilisant des pyramides et la compression d'image. ( manuel d'utilisation officiel de rasterlite )

PostGIS est également une bonne option, tout ce dont vous avez besoin est là. Ce serait une meilleure option si vos données étaient modifiées simultanément par de nombreux utilisateurs ou si vous souhaitez héberger un grand ensemble de données tel OSM. Soit dit en passant, osm2pgsql est un outil fiable pour importer des données OSM dans PostGIS.

Les avantages (entre autres) de l'utilisation de DB sont que vous pouvez utiliser SQL pour les requêtes et créer des index spatiaux. De plus, il est relativement facile de migrer des couches entre les formats Spatialite, PostGIS et Shapefile afin que vous puissiez facilement utiliser un mélange des trois.

MISE À JOUR 2019: je préférerais utiliser GeoPackage plutôt que Spatialite pour une base de données SIG SQLite autonome

Sous le radar
la source
1
Acceptez la mise à jour 2019 qui vient d'être ajoutée. GeoPackage (gpkg) est désormais bien pris en charge nativement dans QGIS, et apporte les avantages de la base de données décrits dans ces réponses il y a des années sans les frais généraux.
Houska
5

Le principal avantage de Spatialite est qu'il se présente sous la forme d'un seul fichier, que vous pouvez facilement partager et sauvegarder. Postgis a besoin de beaucoup plus d'efforts pour porter les données d'un ordinateur à un autre.

Les fichiers de formes ont leurs limites sur les noms de colonnes, mais peuvent facilement gérer les projections non EPSG. L'édition de plus grandes quantités de données devient pénible avec des fichiers de formes simples, c'est pourquoi je passe au spatialite dès que possible.

J'utilise Postgis pour les données OSM car il peut prendre d'énormes charges de données sans tuer QGIS comme frontend, et il répond rapidement. La gestion des polygones d'osm2pgsql est bien meilleure que tous les importateurs d'osm vers spatialite que j'ai vus jusqu'à présent.

Donc, effectivement, je les utilise tous les trois.

AndreJ
la source
Je suis intrigué par la note sur les fichiers de formes gérant facilement les projections personnalisées; cela pourrait être particulièrement important. Cela signifie-t-il que Postgis et sqlite ne gèrent pas les systèmes de coordonnées non EPSG?
matt wilkie
Ils le font, mais vous devez ajouter un CRS personnalisé avec un SRID auto-créé supplémentaire à l'avance. Je ne sais pas si cela fonctionne facilement lorsque vous échangez des données avec d'autres.
AndreJ