Existe-t-il un moyen de générer un fichier de formes dans un fichier de couches dans QGIS, tout comme la façon dont vous procédez dans les propriétés d'une couche ArcGIS? (c.-à-d. Aller aux propriétés du calque, onglet source, puis 'Set Dat Source'
appuyez simplement sur le bouton)
J'ai parcouru les propriétés des couches dans QGIS et je ne vois cela nulle part ...
EDIT: J'ai reçu des commentaires expliquant que vous ne pouvez pas faire cela avec des fichiers de formes, mais si je devais changer le nom d'un fichier de formes et ensuite ouvrir un fichier de projet préexistant qui contient ce fichier de formes en tant que couche, j'obtiendrai le 'Handle Le dialogue Bad Layers, qui me permet de naviguer et de ressourcer le calque dans n'importe quel fichier de formes que je veux. Je trouve étrange que vous puissiez utiliser des ressources dans ce scénario, mais vous ne pouvez pas le faire manuellement via la boîte de dialogue des propriétés de la couche.
la source
Actuellement, ce n'est pas possible, mais il y a un ticket pour cela. Vous pouvez cependant modifier la source de données dans le .qgs (fichier de projet) et rouvrir le projet.
Changer la
<datasource>
lignela source
en python, il est possible de modifier directement la source de données en utilisant QgsVectorLayer.writeLayerXML et QgsVectorLayer.readLayerXML en modifiant le document DOM à la volée et en rechargeant la couche comme dans l'exemple ci-dessous.
La fonctionnalité a été incluse dans le plugin PickLayer qui permet d'effectuer des actions sur la couche et la fonctionnalité cliquées
la source
Depuis la version 2.10, QGis Api inclut la méthode QgsVectorLayer :: setDataSource :
la source
Si vous travaillez avec des fichiers de formes, non (en raison des caractéristiques spécifiques du format). Si vous utilisez des couches PostGIS ou SpatiaLite, une seule couche vectorielle (table geometry_columns) peut être connectée à plusieurs tables d'attributs et inversée (avec des clés étrangères ou des vues).
Il est implémenté nativement dans GRASS GIS, plusieurs tables pour une couche vectorielle et une source de données changeante ( v.to.db
la source