Situation:
J'ai un lay vector postgis qui a beaucoup de segments de ligne (les fonctionnalités). Je veux créer un ensemble de nouveaux calques, chacun contenant un sous-ensemble des fonctionnalités du calque d'origine et avoir ces calques également stockés dans des postgis. Idéalement avec les fonctionnalités réelles stockées une seule fois.
La seule façon dont je peux voir pour créer un nouveau calque au lieu d'en charger un à partir d'une source est via Layer-> new qui donne une option de shapefile ou spatialite.
En choisissant le fichier de forme, j'ai d'abord essayé de spécifier les attributs gid et fid pour le nouveau calque, mais SPIT se plaint de dupliquer le champ gid lorsque j'essaie de le charger dans postgis.
Si je ne crée aucun attribut pour le nouveau calque, SPIT le charge joyeusement, dupliquant vraisemblablement toutes les fonctionnalités.
Je suppose que c'est une «fonctionnalité» plutôt qu'une omission, car s'il était possible de partager des fonctionnalités entre les couches, que se passerait-il si une fonctionnalité était divisée? Si les choses devaient fonctionner correctement, toutes les couches référencées avec cette fonctionnalité devraient être mises à jour avec le nouveau gid de la nouvelle partie.
Cette interprétation est-elle correcte?
Russell
Réponses:
À l'aide du plug-in PostGIS Manager, vous pouvez créer de nouvelles tables dans une base de données PostGIS.
Vous pouvez également exécuter des instructions SQL telles que
pour dupliquer une table.
la source
Il s'agit d'une question un peu plus ancienne et la bonne réponse a changé avec les versions récentes de QGIS.
PostGIS Manager a été déconseillé et remplacé par DB Manager qui fonctionne à la fois pour PostGIS et SpatiaLite.
DB Manager est installé par défaut et accessible sous l'
Database > DB Manager
entrée de menu. Cela ouvrira la fenêtre DB Manager.Sélectionnez également la base de données à laquelle vous souhaitez ajouter une couche, puis cliquez sur
Table > Create table
. Si aucune base de données n'est sélectionnée lorsque vous cliquez sur l'entrée de menu Table, l'option de création de table ne sera pas là.Cela ouvrira la boîte de dialogue de création de table qui est très similaire à celle accessible par
Layer > New > New SpatiaLite
Layer mais avec une disposition différente.Les options sont généralement les mêmes, la plus grande différence étant que la boîte de dialogue Nouvelle couche spatiale permet d'accéder à la boîte de dialogue Spécifier CRS, ce qui facilite la sélection de votre système de coordonnées. La boîte de dialogue Créer une table nécessite que vous connaissiez au préalable le numéro SRID pour le saisir.
la source