Gibt es eine Möglichkeit, ein Shapefile in eine Layer-Datei in QGIS zu importieren, ähnlich wie Sie dies in den Eigenschaften eines ArcGIS-Layers tun? (dh Gehe zu Ebeneneigenschaften, Registerkarte Quelle und drücke dann einfach die 'Set Dat Source'
Taste)
Ich habe alle Layereigenschaften in QGIS durchgesehen und sehe das nirgendwo ...
BEARBEITEN: Ich habe Kommentare erhalten, in denen erklärt wird, dass dies mit Shapefiles nicht möglich ist. Wenn ich jedoch den Namen eines Shapefiles ändere und dann eine bereits vorhandene Projektdatei öffne, die dieses Shapefile als Ebene enthält, erhalte ich das Handle Das Dialogfeld "Fehlerhafte Ebenen", in dem ich navigieren und die Ebene in ein beliebiges Shapefile umwandeln kann, das ich verwenden möchte. Ich finde es seltsam, dass Sie in diesem Szenario Ressourcen bereitstellen können, dies jedoch nicht manuell über das Dialogfeld mit den Ebeneneigenschaften tun können.
quelle
Derzeit ist dies nicht möglich, aber es gibt ein Ticket dafür. Sie können jedoch die Datenquelle in der .qgs-Datei (Projektdatei) ändern und das Projekt erneut öffnen.
Ändern Sie die
<datasource>
Zeilequelle
In Python ist es möglich, die Datenquelle mithilfe von QgsVectorLayer.writeLayerXML und QgsVectorLayer.readLayerXML direkt zu ändern, das DOM-Dokument im laufenden Betrieb zu ändern und die Ebene wie im folgenden Beispiel neu zu laden.
Die Funktion wurde in das PickLayer-Plugin aufgenommen , mit dem Aktionen für angeklickte Ebenen und Features ausgeführt werden können
quelle
Ab Release 2.10 enthält QGis Api die QgsVectorLayer :: setDataSource- Methode:
quelle
Wenn Sie mit Shapefiles arbeiten, nein (aufgrund der spezifischen Eigenschaften des Formats). Wenn Sie PostGIS- oder SpatiaLite-Layer verwenden, kann ein einzelner Vektor-Layer (geometry_columns-Tabelle) mit mehreren Attributtabellen verbunden und umgekehrt (mit Fremdschlüsseln oder Ansichten) werden.
Es ist nativ in GRASS GIS implementiert, mit mehreren Tabellen für eine Vektorebene und wechselnder Datenquelle ( v.to.db
quelle