Der Abfrage-Manager wird in den Werkzeugen Nach Attributen und Position suchen und Nach Attributen filtern verwendet, um Ausdrücke zu erstellen, die den angegebenen Kriterien entsprechen.
Erstellen einer Abfrage
Um eine Abfrage zu erstellen, klicken Sie im Bereich oder Dialogfeld des Werkzeugs auf Neue Abfrage erstellen.
Wählen Sie zuerst den Layer aus, dessen Features Sie suchen möchten. Für "Nach Attributen und Position suchen" können Sie den Abfrage-Manager verwenden. Für "Nach Attributen filtern" müssen vor dem Erstellen der Abfrage die Eingabedatenparameter ausgefüllt werden.
Wählen Sie anschließend aus, ob Sie mit einem Attributausdruck, einem räumlichen Ausdruck (nur "Nach Attributen und Position suchen") oder einer Ausdrucksgruppe beginnen möchten.
Wenn die Abfrage mehrere Ausdrücke enthält, müssen Sie eine der folgenden Abgleichoptionen auswählen, um die Ausdrücke miteinander zu verknüpfen.
- Alle folgenden Bedingungen sind erfüllt (Standard): Es werden nur die Features zurückgegeben, die mit allen Ausdrücken übereinstimmen. Diese Option entspricht einer AND-Klausel.
- Eine der folgenden Bedingungen ist erfüllt: Features, die mit einem der Ausdrücke übereinstimmen, werden zurückgegeben. Diese Option entspricht einer OR-Klausel.
Attributausdrücke
Jede Attributabfrage enthält einen Feldnamen, einen Operator und einen Wert.
Sie können beispielsweise eine Abfrage für einen Layer erstellen, der die Daten zu Straftaten (Diebstähle, Brandstiftungen, Überfälle usw.) in einer Stadt enthält, um nur die Vorfälle von Diebstählen anzuzeigen. Erstellen Sie wie folgt einen Attributausdruck:
- Wählen Sie den Feldnamen Crime Type aus.
- Wählen Sie als Operator gleich aus.
- Geben Sie als Wert Theft ein, oder wählen Sie diesen Wert aus.
Hinweis:
Felder mit NULL-Werten werden aus allen Abfrageergebnissen ausgeschlossen, es sei denn, als Operator wird ist leer ausgewählt.
In den meisten Fällen enthält der Abfrage-Manager eine Liste der verfügbaren Feldwerte, um das Erstellen eines richtigen Ausdrucks zu erleichtern. Die Liste ist nicht für "Nach Attributen filtern" verfügbar, wenn das Eingabe-Dataset die Ausgabe eines anderen Werkzeugs ist. Sie müssen den genauen Wert in das Eingabefeld eingeben, anstatt den Wert aus einer Liste auszuwählen.
Räumliche Ausdrücke
Jeder räumliche Ausdruck enthält einen Operator und einen zweiten Layer. Unter dem zweiten Layer können Sie die Schaltfläche +Ausdruck verwenden, um einen Ausdruck zum Optimieren der Features aus dem zweiten Layer hinzuzufügen, der im ursprünglichen räumlichen Ausdruck verwendet werden soll.
Mit einem weiteren Layer, der Bäckereien darstellt, können Sie die Attributabfrage beispielsweise weiter optimieren, um nach Diebstählen zu suchen, die innerhalb einer Entfernung von 100 Metern von einem Donutladen stattfanden. Fügen Sie wie folgt einen räumlichen Ausdruck hinzu:
- Wählen Sie den Operator In einer Entfernung von aus, und geben Sie 100 Meter ein.
- Wählen Sie als Layer den Bäckereien-Layer aus.
- Klicken Sie auf die Schaltfläche +Ausdruck, und wählen Sie Attributausdruck aus.
- Wählen Sie in der Anweisungsgruppe Where als Feldname Shop Type aus. Übernehmen Sie den Operator gleich. Geben Sie als Wert Donut shops ein, oder wählen Sie den Wert aus.
Ausdrucksgruppe
Um eine komplexere Abfrage zu erstellen, können Sie zum Gruppieren mehrerer Ausdrücke Ausdrucksgruppen verwenden. Die Art der Gruppierung der Ausdrücke bestimmt, welche Elemente gefunden werden. Sie können bis zu drei Gruppierungsebenen erstellen.
Sie können beispielsweise Ausdrucksgruppen verwenden, um den oben beschriebenen Filter für Straftaten weiter zu verfeinern. Um sowohl Brandstiftungen als auch Diebstähle, die innerhalb von 100 Metern von einem Donutladen gemeldet wurden, anzuzeigen, können Sie eine Ausdrucksgruppe für die Suche nach Brandstiftungen oder Diebstählen erstellen. Verwenden Sie innerhalb dieser Gruppe die Option Eine der folgenden Bedingungen ist erfüllt. Fügen Sie dann außerhalb der Gruppe einen räumlichen Ausdruck hinzu, um Features im Umkreis von 100 Metern um Donutläden zu suchen.
Operatoren
"Nach Attributen und Position suchen" verwendet Operatoren für Attributabfragen und räumliche Abfragen. "Nach Attributen filtern" verwendet dagegen Operatoren ausschließlich für Attributabfragen.
Operatoren für Attribute
Je nachdem, ob es sich bei dem abgefragten Feld um ein kategorisches oder ein numerisches Feld handelt, können Sie mehrere Operatoren verwenden.
Wenn das Feld ein Zeichenfolgenfeld ist, können Sie die folgenden Operatoren verwenden:
- gleich: Zeichenfolgen, die mit dem angegebenen Text übereinstimmen
- ist ungleich: Zeichenfolgen, die nicht mit dem angegebenen Text übereinstimmen
- ist ein Mitglied von: Zeichenfolgen, die mit einem der angegebenen Textwerte übereinstimmen
- ist kein Mitglied von: Zeichenfolgen, die mit keinem der angegebenen Textwerte übereinstimmen
- enthält: Zeichenfolgen, die den angegebenen Text enthalten
- enthält nicht: Zeichenfolgen, die den angegebenen Text nicht enthalten
- beginnt mit: Zeichenfolgen, die mit dem angegebenen Text beginnen
- beginnt nicht mit: Zeichenfolgen, die nicht mit dem angegebenen Text beginnen
- endet mit: Zeichenfolgen, die mit dem angegebenen Text enden
- endet nicht mit: Zeichenfolgen, die nicht mit dem angegebenen Text enden
- ist leer: Zeichenfolgen, die keinen Text enthalten und nicht NULL sind
- ist nicht leer: Zeichenfolgen, die Text enthalten und nicht NULL sind
- ist eine leere Zeichenfolge: Zeichenfolgen, die NULL sind oder keinen Text enthalten
- iist keine leere Zeichenfolge: Zeichenfolgen, die Text enthalten oder NULL sind
Wenn das Feld ein numerisches Feld ist, können Sie die folgenden Operatoren verwenden:
- liegt zwischen: Zahlen, die zwischen den zwei angegebenen Werten liegen Die Grenzwerte sind in den Ergebnissen enthalten.
- liegt nicht zwischen: Zahlen, die nicht zwischen den zwei angegebenen Werten liegen Die Grenzwerte sind nicht in den Ergebnissen enthalten.
- gleich: Zahlen, die mit dem angegebenen Wert übereinstimmen
- ist ungleich: Zahlen, die nicht mit dem angegebenen Wert übereinstimmen
- ist ein Mitglied von: Zahlen, die mit einem der angegebenen Werte übereinstimmen
- ist kein Mitglied von: Zahlen, die mit keinem der angegebenen Werte übereinstimmen
- ist größer als: Zahlen, die größer als der angegebene Wert sind
- ist mindestens: Zahlen, die größer als oder gleich dem angegebenen Wert sind
- ist kleiner als: Zahlen, die kleiner als der angegebene Wert sind
- ist höchstens: Zahlen, die kleiner als oder gleich dem angegebenen Wert sind
- ist leer: Zahlen, die mit dem angegebenen Wert übereinstimmen
- ist nicht leer: Zahlen, die einen Wert enthalten.
Wenn das Feld ein Datumsfeld ist, können Sie die folgenden Operatoren verwenden:
- liegt zwischen: Daten, die zwischen zwei angegebenen Daten liegen Die Grenzwerte sind in den Ergebnissen enthalten.
- liegt nicht zwischen: Daten, die nicht zwischen zwei angegebenen Daten liegen Die Grenzwerte sind nicht in den Ergebnissen enthalten.
- ist am: Daten, die mit einem angegebenen Datum übereinstimmen
- ist nicht am: Daten, die nicht mit einem angegebenen Datum übereinstimmen
- ist vor: Daten, die vor einem angegebenen Datum liegen
- ist nach: Daten, die nach einem angegebenen Datum liegen
- ist leer: Daten, die NULL entsprechen
- ist nicht leer: Daten, die nicht NULL entsprechen
Räumliche Operatoren
Räumliche Ausdrücke werden erstellt, indem Operatoren wie Vollständig innerhalb von oder Schneidet angegeben werden.
Sie können die folgenden räumlichen Operatoren in einer räumlichen Abfrage verwenden:
- Schneidet: Wenn ein Feature des ersten Layers ein Feature des zweiten Layers schneidet, wird das Feature des ersten Layers in die Ausgabe einbezogen.
- Schneidet nicht: Wenn ein Feature des ersten Layers ein Feature des zweiten Layers schneidet, wird das Feature des ersten Layers aus der Ausgabe ausgeschlossen.
- In einer Entfernung von: Ein Feature im ersten Layer wird ausgewählt (in die Ausgabe einbezogen), wenn sich ein Teil davon innerhalb der angegebenen Entfernung eines Features des zweiten Layers befindet; beispielsweise Flurstücke innerhalb einer Entfernung von 100 Metern von einem Fluss werden in die Ausgabe einbezogen.
- Nicht in einer Entfernung von: Ein Feature im ersten Layer wird ausgeschlossen (nicht in die Ausgabe einbezogen), wenn es sich innerhalb einer Entfernung von einem anderen Feature befindet; beispielsweise Flurstücke innerhalb einer Entfernung von 100 Metern von einem Fluss werden nicht in die Ausgabe einbezogen. Sie können sich diese Beziehung so vorstellen, dass das Feature weiter entfernt ist als die angegebene Entfernung.
- Enthält vollständig: Wenn ein Feature des ersten Layers ein Feature des zweiten Layers vollständig enthält, wird das Feature des ersten Layers in die Ausgabe einbezogen.
- Enthält nicht vollständig: Wenn ein Feature des ersten Layers ein Feature des zweiten Layers vollständig enthält, wird das Feature des ersten Layers aus der Ausgabe ausgeschlossen.
- Vollständig innerhalb von: Wenn ein Feature des ersten Layers sich vollständig innerhalb eines Features des zweiten Layers befindet, wird das Feature des ersten Layers in die Ausgabe einbezogen.
- Nicht vollständig innerhalb von: Wenn ein Features des ersten Layers sich vollständig innerhalb eines Features des zweiten Layers befindet, wird das Feature des ersten Layers aus der Ausgabe ausgeschlossen.
- In der Nähe von: Wenn ein Feature des ersten Layers in der Nähe eines Features im zweiten Layer liegt, wird das Feature des ersten Layers in die Ausgabe einbezogen.
Problembehandlung
Änderungen an einem Dataset können dazu führen, dass ein zuvor gültiger Ausdruck ungültig wird. Beispiele für Änderungen, die dazu führen können, dass ein Ausdruck ungültig wird, sind das Löschen oder Ändern des Feldtyps für ein im Ausdruck verwendetes Feld oder das Ändern der Geometrie eines in einem räumlichen Ausdruck verwendeten Datasets. Ungültige Ausdrücke werden beim erneuten Öffnen des Abfrage-Managers nicht angezeigt.