Base de données et fichiers pour développeur solo

10

Je ne fais que commencer dans le SIG et je suis intéressé à l'utiliser pour créer des cartes de sentiers de vélo de montagne dans ma région et à proximité. J'ai appris QGIS et j'ai fait suffisamment de progrès pour générer une carte décente. Jusqu'à présent, j'ai stocké mes calques dans des fichiers de formes, ce qui semble bien fonctionner.

Le week-end dernier, j'ai commencé à regarder PostGIS et à le faire fonctionner et j'ai réussi à importer mes fichiers de formes de parcours et à connecter QGIS à PostGIS.

Je me demande maintenant quels seraient les avantages et les inconvénients de l'utilisation d'une base de données par rapport aux fichiers. J'ai déjà quelques réflexions, mais je suis curieux de savoir quelles opinions éclairantes les autres peuvent avoir.

Avantages de la base de données

  • Une table pour tous mes sentiers, quel que soit le parc, me permet d'avoir un ensemble cohérent de colonnes pour l'information.
  • Plus facile à interroger / exporter mes données vers plusieurs formats
  • Plusieurs clients / outils permettent de visualiser et de modifier plus facilement les données
  • Édition plus facile de la structure des tables (par rapport à l'édition des tables QGIS)

Inconvénients de la base de données

  • Debout / maintenir une base de données ajoute de la complexité à ma configuration.
  • J'ai un ordinateur de bureau et un ordinateur portable sur lesquels je fais mon travail SIG et l'utilisation de DropBox me permet de synchroniser facilement des fichiers entre les deux machines. Cela ne sera probablement pas possible (ou aussi transparent) en utilisant PostGIS qu'en utilisant DropBox avec des fichiers.
  • Plus facile à sauvegarder / restaurer des fichiers qu'une base de données.
Brian Kelly
la source
1
Si la carte sera en lecture seule et restera inférieure à 2 Go, respectez les fichiers de forme. Si vous prévoyez d'avoir plusieurs modifications simultanées et qu'il s'agit d'un ensemble de données supérieur à 2 Go, optez pour postgis.
CaptDragon

Réponses:

12

Je vous suggère d'ajouter Spatialite à votre liste. Il a l'avantage d'être basé sur un fichier (en tant que fichier de formes ou base de données .mdb) et prend en charge la plupart des opérateurs spatiaux et tpyes habituels, que vous pouvez également trouver dans PostGIS. Spatialite est basé sur Sqlite, vous gérerez donc un seul fichier, que vous pourrez facilement déplacer et partager.

giohappy
la source
Je vais y jeter un œil puisque, d'après votre description, il semble offrir le meilleur des deux mondes.
Brian Kelly
6

Je dirais que le plus grand Pro d'une base de données PostGIS est que vous pouvez travailler avec l'ensemble des fonctions que PostGIS vous offre.

Tous les inconvénients de votre liste sont tous faciles à réparer. Vous pouvez exécuter Postgis sur UN serveur et utiliser votre ordinateur portable et de bureau en tant que client. La question de la sauvegarde également, vous pouvez générer des fichiers de vidage ou quoi que ce soit pour avoir une sauvegarde bonne et précieuse! ;)

Styp
la source
J'aime utiliser mon ordinateur portable lors des trajets en train, donc je n'ai pas de connexion Internet à ce moment-là.
Brian Kelly
@Styp, si vous avez le serveur et le client PostGIS sur un seul ordinateur portable, cela fonctionne très bien!
Simbamangu
5

Un autre gros avantage pour PostGIS est qu'avec les bases de données spatiales, vous pouvez conserver une copie des données spatiales et créer des vues qui sont liées à vos données non spatiales via un identifiant unique.

Ensuite, vous pouvez créer des sous-ensembles de vos données complètes en créant des vues qui en font une sélection - vous pouvez donc créer des tableaux à état unique en tant que vues d'une table de pays complète. Quelque chose comme:

créer des txcounties de vue comme select * from counties where state = 'TX'

Personne ne semble également avoir mentionné la vitesse des opérations spatiales pour PostGIS. Supposons que vous vouliez voir quelle était la cascade la plus proche de vos pistes cyclables, étant donné un tableau de lignes de sentiers et une table de points d'intérêt, y compris des cascades. C'est le genre de requête que PostGIS peut faire très rapidement car il conserve les index spatiaux sur les tables spatiales. Vous pouvez probablement le faire avec les outils natifs de Qgis mais cela pourrait être un peu plus lent.

Évidemment, pour une petite application amusante comme la vôtre, ces choses ne sont probablement pas une bonne raison d'entrer dans la complexité d'une base de données spatiale, mais cela pourrait expliquer pourquoi ces fonctionnalités `` d'entreprise '' sont essentielles pour des projets plus importants.

Spacedman
la source
J'ai lu le chapitre gratuit de "PostGIS in Action" qui m'a conduit à la même conclusion que vous - des trucs très puissants mais probablement exagérés (en ce moment) pour ce que je veux faire avec.
Brian Kelly
2

Un autre avantage de la DB par rapport aux fichiers plats est la gestion des versions, cruciale pour le SIG de saisie de données multi-utilisateurs.

Il existe un plugin bêta pour PostGIS et GeoGit, cf. cette question.

Laurent Jégou
la source
Je travaille en solo, j'ai donc mis à jour la question pour refléter cela. Votre point est cependant valable.
Brian Kelly
1

Il y a une limitation dans le fichier de forme (max 2 Go) .. donc si la taille de votre carte ne dépasse pas cette limite .. vous pouvez utiliser le fichier de forme sans configuration db ....

Vadivelan Palanichamy
la source
C'est un bon point (mais veuillez noter que la limite de 2 Go s'applique également et séparément aux fonctionnalités du fichier .shp et aux attributs du fichier .dbf). Cependant, la question invite à des comparaisons entre la solution de fichier de formes et la solution de base de données. Comment les limitations de taille des fichiers de fichiers de formes se comparent-elles aux limitations similaires, le cas échéant, dans les fichiers de base de données?
whuber