QGIS: Subtypen und Domänen wie in ArcGIS?

8

Gibt es eine Möglichkeit, Untertypen und Domänen in QGIS (Desktop 1.8.0) so zu verwenden, wie es in ArcGIS verwendet wird?

Ich interessiere mich speziell für die Möglichkeit von Abhängigkeiten zwischen Subtypen und Domänen: Es ist nicht nur ein Bereich oder codierte Werte für ein Feld erforderlich, sondern auch entsprechende Werte.

Beispiel: Ein Subtyp definiert gültige Klassen von Landnutzungskategorien wie

01 - wood
02 - grassland
03 - urbanization
04 - ...

Dem Subtyp sind mehrere Domänen zugeordnet, die den Zustand / Wert jeder Kategorie wie beschreiben

wood1 - deforestation 
wood2 - conifer forest

grass1 - pasture
grass2 - hayfield
grass3 - grass
grass4 - ...
Mira
quelle

Antworten:

2

Wenn Sie ein Datenbank-Backend verwenden, das Domänen unterstützt, z. B. Postgresql, können Sie eine Domäne für ein Feld festlegen. QGIS erkennt jedoch noch keine Domänen. Wenn Sie also Features erstellen oder bearbeiten, können Sie versuchen, etwas in dieses Feld einzufügen. Es gibt keine Dropbox wie in ESRI-Produkten. Wenn die Werte die Einschränkung der Domäne verletzen, wird beim Speichern Ihrer Änderungen eine Fehlermeldung angezeigt, und die Transaktion wird nicht festgeschrieben.

Bearbeiten: Ich habe dies mit QGIS 1.8 und PostgreSQL 9.1.6 getestet

Edit: Eva, ja. Sie sind nicht automatisch, aber wenn Sie Nachschlagetabellen zum Speichern Ihrer Werte und Beschreibungen verwenden, können Sie Fremdschlüssel in der Datenbank verwenden, um die Integrität im Backend aufrechtzuerhalten. Bringen Sie diese Tabelle dann in Ihr QGIS-Dokument in Ihr Inhaltsverzeichnis. Wechseln Sie für Ihre Ebene zur Registerkarte Felder auf der Eigenschaftenseite. Verwenden Sie das Widget "Wertebeziehung", wählen Sie die Nachschlagetabelle als Ebene sowie die Code- und Beschreibungsfelder aus. Jetzt wird die Beschreibung in einer Dropdown-Liste angezeigt, wenn Sie ein Feature erstellen oder bearbeiten, und der Schlüssel wird in der Datenbank gespeichert. Dies verwendet QGIS 2.18.

HeyOverThere
quelle
1
Vielen Dank. Ich habe diese Domain-Funktion in qgis verwendet und es hat gut funktioniert. Aber ist es auch möglich, eine Beziehung zwischen zwei Attributen abzulegen? Wenn ich beispielsweise "Holz" für das erste Feld (Untertyp in ArcGIS) wähle, akzeptiert das zweite Feld nur "Entwaldung" oder "Nadelwald" (Domäne für den Untertyp "Holz"). Wenn das erste Attribut "Grünland" ist, können nur "Weide", "Heufeld" oder "Gras" ausgewählt werden.
Mira
Ich habe mir das angesehen, aber für alle Beispiele, die ich finde, müssen Sie eine neue Tabelle erstellen. Ich habe eine vorhandene Tabelle mit Daten, für die ich Domains haben möchte. IE: In Tabelle 1 sind 3 Datentypen als Ganzzahl gespeichert (1: Baum, 2: Fels, 3: Teich). Mit diesem Setup sieht der Benutzer die Ganzzahl, aber ich möchte eine Domäne haben, damit der Benutzer die Textversion sieht. Wie würden Sie dies mit Postgres und QGIS einrichten?
Ryan Garnett
1
Erstellen Sie eine Nachschlagetabelle, die den ganzzahligen Wert in Text übersetzt, verbinden Sie die beiden in einer Ansicht und zeigen Sie die Ansicht in QGIS an. Wenn Sie die Ansicht erstellen, müssen Sie ein Feld einfügen, das für jede Zeile einen eindeutigen ganzzahligen Wert hat, da QGIS ihn sonst nicht anzeigt.
HeyOverThere
1
Gibt es in den letzten ~ 5 Jahren neue Erkenntnisse dazu?
Eva Großmann
Versuchen Sie es mit einem Feldbearbeitungs-Widget. Ich glaube, dass die Widgets Value Relation und Relation Reference für Ihre Situation am hilfreichsten sind. gis.stackexchange.com/questions/156039/… Beachten Sie, dass diese Einstellungen im Ebenenstil gespeichert sind.
csk