ArcGIS Desktop

  • Dokumentation
  • Support

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS for Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Erweiterungen

Filter

  • Zusammenfassung
  • Beschreibung
  • Eigenschaften
  • Codebeispiel

Zusammenfassung

The filter object allows you to specify the choices available for a parameter.

Beschreibung

Mit dem filter-Objekt können Sie die Auswahlmöglichkeiten festlegen, die Benutzern bei einem Parameter zur Verfügung stehen. Sie haben zum Beispiel die Möglichkeit, einen Feldfilter einzurichten, der die Auswahl auf Textfelder begrenzt. Ein Filter übernimmt drei Aufgaben:

  • Durch einen Filter wird Benutzern beim Suchen nach Daten nur die gültige Auswahl angezeigt. Wenn Sie den Filter für Point-Feature-Classes festlegen, werden bei der Suche nach Daten nur Point-Feature-Classes angezeigt. Wenn Sie Filter für Textfelder definieren, werden in der Dropdown-Liste mit den Feldern nur Textfelder angezeigt.
  • Falls Benutzer einen Parameterwert eingeben (anstatt einen Wert in der Liste oder im Dateibrowser auszuwählen), wird der Wert anhand des Filters überprüft. Falls ein ungültiger Wert eingegeben wird (etwa ein Zahlenfeld anstatt eines Textfeldes), wird automatisch eine Warnung oder eine Fehlermeldung angezeigt.
  • Da Werte von der internen Prüfung anhand ihres Filters überprüft werden, müssen Sie keine eigene Validierung in der ToolValidator-Klasse programmieren, wenn Sie Filter verwenden.

Sie haben zwei Möglichkeiten, Filter festzulegen:

  • Klicken Sie im Eigenschaftendialogfeld des Werkzeugs auf der Registerkarte Parameter auf den Parameter, klicken Sie dann auf die Zelle neben "Filter", und wählen Sie den Filtertyp in der Dropdown-Liste aus. Nachdem Sie einen Filtertyp ausgewählt haben, wird ein Dialogfeld geöffnet, in dem Sie Werte für den Filter angeben können.
  • Sie können die Werte durch Programmierung in einer ToolValidator-Klasse festlegen (siehe Beispiele weiter unten). Die Geoverarbeitung erstellt automatisch Filter für Parameter mit dem Typ "string", "long", "double", "feature class", "file", "field" und "workspace". Auch wenn Sie keinen Filter im Eigenschaftendialogfeld des Werkzeugs auswählen, verfügt der Parameter über einen Filter, dieser ist dann jedoch leer. Ein leerer Filter ist das gleiche wie kein Filter. Indem Sie einem leeren Filter Werte hinzufügen, aktivieren Sie den Filter. Die Auswahlmöglichkeiten für die Benutzer werden dann durch den Filterinhalt vorgegeben.

Eigenschaften

EigenschaftErläuterungDatentyp
list
(Lesen und schreiben)

If you do not want to filter values, set the list property to an empty list.

The datatype specified depends on the filter type (ValueList, Range, FeatureClass, File, Field, and Workspace).

String
type
(Lesen und schreiben)

The type of filter (ValueList, Range, FeatureClass, File, Field, and Workspace). You can set the type of filter when dealing with Long and Double parameters. For other types of parameters, there is only one valid type of filter, so setting the type on these parameters is ignored. If you do not want to filter values, set the List property to an empty list.

String

Codebeispiel

Filter example

An example of dynamically updating a Value List Filter containing a choice list of keywords. If the user enters "OLD_FORMAT" in the second parameter, the third parameter contains "POINT, LINE, and POLYGON". If "NEW_FORMAT" is entered, the third parameter contains three additional choices.

import arcpy

class ToolValidator:
    def __init__(self):
        self.params = arcpy.GetParameterInfo()

    def initializeParameters(self):
        return

    def updateParameters(self):
        # Provide default values for "file format type" and
        #  "feature type in file"
        if not self.params[1].altered:
            self.params[1].value = "OLD_FORMAT"
        if not self.params[2].altered:
            self.params[2].value = "POINT"

        # Update the value list filter of the "feature type in file"
        # parameter depending on the type of file (old vs. new format)
        # input
        if self.params[1].value == "OLD_FORMAT":
            self.params[2].filter.list = ["POINT", "LINE", "POLYGON"]
        elif self.params[1].value == "NEW_FORMAT":
            self.params[2].filter.list = ["POINT", "LINE", "POLYGON",
                                          "POINT_WITH_ANNO",
                                          "LINE_WITH_ANNO",
                                          "POLYGON_WITH_ANNO"]

        return

    def updateMessages(self):
        return
Filter example 2

An example where the Value List Filter in the second parameter changes based on the shape type found in the first parameter, a feature class.

def updateParameters(self):
    # Update the value list filter in the second parameter based
    # on the shape type in the first parameter
    string_filter = self.params[1].filter
    feature_class = self.params[0].value
    if feature_class:
        shape_type = arcpy.Describe(feature_class).shapeType
        if shape_type in ["Point", "Multipoint"]:
            string_filter.list = ["RED", "GREEN", "BLUE"]
        elif shape_type == "Polygon":
            string_filter.list = ["WHITE", "GRAY", "BLACK"]
        else:
            string_filter.list = ["ORANGE", "INDIGO", "VIOLET"]
    else:
        string_filter.list = ["RED", "GREEN", "BLUE"]

    # If the user hasn't changed the keyword value, set it to the
    # default value (first value in the value list filter).
    if not self.params[1].altered:
        self.params[1].value = string_filter.list[0]

    return

Verwandte Themen

  • Festlegen von Parametern für Skriptwerkzeuge
  • Value
  • Parameter
  • Schema
  • Anpassen des Verhaltens von Skriptwerkzeugen

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS Plattform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Insider-Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
© Copyright 2016 Environmental Systems Research Institute, Inc. | Datenschutz | Rechtliches