ArcGIS Desktop

  • Documentación
  • Soporte

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS for Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

Filter

  • Resumen
  • Debate
  • Propiedades
  • Muestra de código

Resumen

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

Debate

El objeto filter permite especificar las opciones relacionadas con un parámetro que pueden estar disponibles para el usuario. Por ejemplo, puede configurar un filtro de campo que limita las opciones a solo campos de texto. Un filtro realiza tres trabajos:

  • Un filtro sólo presenta opciones válidas para el usuario cuando busca datos. Si establece el filtro para clases de entidad de punto, sólo se muestran las clases de entidad de puntos cuando el usuario busca datos. Si establece el filtro para campos de texto, la lista desplegable de campos sólo muestra los campos de texto.
  • Si un usuario escribe en un valor de parámetro (en vez de elegir un valor de la lista o navegador de archivos), el valor se verifica con el filtro. Si el usuario introduce un valor no válido (un campo numérico en vez de un campo de texto, por ejemplo), se proporciona una advertencia o error automáticamente.
  • Debido a que los valores se verifican contra los filtros por validación interna, un filtro lo libera de tener que programar la validación propia en la clase ToolValidator.

Hay dos formas de especificar los filtros:

  • En la pestaña Parámetros del cuadro de diálogo de las propiedades de la herramienta, haga clic en el parámetro, a continuación haga clic en la celda junto a Filtro y elija el tipo de filtro desde la lista desplegable. Después de elegir el tipo de filtro, se abre un cuadro de diálogo donde usted especifica los valores para el filtro.
  • Puede configurar los valores mediante programación en una clase ToolValidator (puede consultar ejemplos a continuación). El geoprocesamiento crea filtros automáticamente para los parámetros de tipo cadena de caracteres, largo, doble, clase de entidad, archivo, campo y espacio de trabajo. Aún si no elige un filtro en el cuadro de diálogo de las propiedades de la herramienta, todavía hay un filtro relacionado con el parámetro pero está vacío. Un filtro vacío es lo mismo que no tener filtro. Al agregar valores a un filtro vacío, activa el filtro y las opciones del usuario se limitan por los contenidos del filtro.

Propiedades

PropiedadExplicaciónTipo de datos
list
(Lectura y escritura)

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
(Lectura y escritura)

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

Muestra de código

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

Temas relacionados

  • Configurar los parámetros de la herramienta de secuencia de comandos
  • Value
  • Parameter
  • Schema
  • Personalizar el comportamiento de una herramienta de secuencia de comandos

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

Plataforma ArcGIS

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

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog interno
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
© Copyright 2016 Environmental Systems Research Institute, Inc. | Privacidad | Legal