Una vista general de las clases de Spatial Analyst
Las clases se pueden utilizar para crear objetos, que comúnmente se denominan instancias. Una vez que el objeto se convirtió en una instancia, se pueden utilizar sus propiedades y métodos. Las clases de Spatial Analyst, tales como las clases de nueva representación cartográfica o de vecindad, generalmente se utilizan como teclas de acceso rápido para completar los parámetros de la herramienta de geoprocesamiento que de lo contrario tendrían un equivalente de cadena de caracteres más complicado.
Es mucho más fácil crear y administrar parámetros mediante clases que mediante cadenas de caracteres. Entre las ventajas de utilizar las clases para los parámetros se incluyen:
- Las clases proporcionan ayuda y finalización automática para los diversos argumentos del parámetro.
- Puede consultar los argumentos individuales para el parámetro del objeto resultante.
- Puede modificar fácilmente argumentos individuales de la clase para análisis posterior.
Para obtener más información sobre el uso de las clases de Spatial Analyst en el álgebra de mapas, consulte los siguientes temas:
Los siguientes son ejemplos de aplicaciones que se pueden aplicar fácilmente al utilizar clases:
- Determinar el tipo de clase o un valor de argumento individual:
Por ejemplo, al consultar el tipo de radio de entrada y la distancia de búsqueda puede determinar la potencia a aplicar en una interpolación de distancia inversa ponderada (IDW).
- Cambiar un valor de entrada:
Por ejemplo, puede cambiar fácilmente un valor de reclasificación de entrada en un modelo de adecuación sobre la base de entrada pública en un foro para explorar el impacto de los diferentes escenarios en la salida sin volver a crear la tabla de nueva representación cartográfica.
- Realizar análisis de sensibilidad:
Por ejemplo, puede cambiar de manera iterativa los valores de Origen y Destino en una tabla de nueva representación cartográfica para un modelo de adecuación por incrementos de 5 por ciento para explorar cómo los cambios leves a un criterio de entrada influirán en la salida.
- Realizar análisis de errores:
Por ejemplo, puede ejecutar un modelo varias veces mientras aleatoriamente cambia los argumentos de los parámetros para explorar el impacto potencial del error y la incertidumbre en los datos.
Utilizar las clases de Spatial Analyst
Algunos parámetros de las herramientas de geoprocesamiento de Spatial Analyst utilizan un objeto de clase como entrada. Generalmente, los parámetros se definen como cadenas de caracteres simples, nombres de dataset, rutas, palabras clave, nombres de campo, tolerancias y nombres de dominio. Algunos parámetros son más complejos y definen una serie de propiedades o valores. En lugar de utilizar cadenas de caracteres de texto largas y complicadas para definir estos parámetros, puede utilizar clases (como vecindades o tablas de nueva representación cartográfica). Comprender los requisitos de entrada a un constructor de clase hará que le sea más fácil crear, consultar, modificar y guardar los objetos de clase.
Estos son diferentes tipos de entrada que se utilizan como argumentos para las clases de Spatial Analyst:
- Escalares
- Cadenas de caracteres
- Lista de Python o una lista de listas
- Otras clases
Para la legibilidad, se recomienda establecer la clase en una variable y utilizar la variable en la herramienta. Por ejemplo:
Neighborhood = NbrRectangle(5, 5, "MAP") outRas = FocalStatistics("inRas", Neighborhood, "MEAN")
Sin embargo, si lo prefiere, la clase puede definirse en el parámetro de la herramienta.
outRas = FocalStatistics("inRas", NbrRectangle(5, 5, "MAP"), "MEAN")
Clases creadas con un número fijo de entradas
Algunas clases se construyen con un número fijo de argumentos de cadena de caracteres o escalares simples. Por ejemplo, para crear una vecindad circular con un radio de cinco unidades de mapa:
Neighborhood = NbrCircle(5, "MAP") outRas = FocalStatistics("inRas", Neighborhood, "MAXIMUM")
Cada una de estas clases tiene una posición predeterminada para los argumentos de entrada. Las clases se pueden agrupar según el parámetro de la herramienta al cual estén dirigidas:
- Clases difusas
(FuzzyGaussian, FuzzyLarge, FuzzyLinear, FuzzyMSLarge, FuzzyMSSmall, FuzzyNear y FuzzySmall.
- Clases de factor horizontal
- Clases KrigingModel
- Clases Vecindad
(NbrAnnulus, NbrCircle, NbrIrregular, NbrRectangle, NbrWedge, NbrWeight)
- Clases Radio
- Clases Tiempo
(TimeWithinDay, TimeSpecialDays, TimeMultipleDays, TimeWholeYear)
- Clases Factor vertical
(VfBinary, VfLinear, VfSymLinear,, VfInverseLinear, VfSymInverseLinear, VfCos, VfSec, VfCosSec, VfSecCos, VfTable)
Clases que se crean con listas de Python
Algunas clases son más complejas, como las clases TopoBoundary, TopoLake y TopoStream. Estas requieren de una serie de entradas y se utilizan para los parámetros en la herramienta De topo a ráster. La serie de entradas se definen en una lista de Python y el número de entradas en una lista depende de la situación (es decir, el número de entradas que requiere el análisis).
Por ejemplo, los constructores de clase TopoBoundary esperan una lista que contenga una o más entradas inFeature. La lista, identificada como inFeatures se convierte en una propiedad del objeto resultante. Para consultar o manipular los elementos en la lista inFeatures, trate cada uno como una entrada en la lista (consulte Consultar clases).
inBoundary = TopoBoundary(["inBound1.shp", "inBound2.shp"])
Clases que se crean con listas dentro de listas
Con otras herramientas, la situación específica determinará cuántas entradas de entrada se introducirán en un parámetro. Este tipo de parámetro de entrada se genera de una clase que se crea con listas dentro de una lista. Hay tres grupos de herramientas cuyas clases se crean de listas dentro de listas:
- Tablas de Reclasificar (RemapRange, RemapValue)
- Tablas de reclasificación ponderada (superposición y suma) (WOTable, WSTable)
- Clases de topo (un subconjunto) (TopoContour, TopoPointElevation, TopoSink)
Por ejemplo, las clases de nueva representación cartográfica esperan una tabla como entrada. La tabla se modela mediante una lista de registros que denota startValue , endValue y newValue que se clasificarán. Una tabla se convierte en una propiedad del objeto resultante. Para consultar o manipular cualquiera de las entradas de la tabla, trátelas como entradas en listas dentro de listas (consulte Consultar clases).
# Usage: RemapRange([[startValue, endValue, newValue],...]) myRemapRange = RemapRange([[-3, -1.75, 1], [-1.75, -0.5, 2], [-0.5, 0.75, 3], [0.75, 2, 4], [2, 3.25, 5], [3.25, 4.5, 6], [4.5, 5.75, 7], [5.75, 7, 8]]) outReclassRR = Reclassify("inRas", "VALUE", myRemapRange)
Clases que se crean con una serie de clases dentro de una lista
Algunas herramientas utilizan parámetros de clase que requieren de una serie de clases como entrada. Las clases se incluyen en una lista. Las herramientas que requieren una serie de clases dentro de una lista, que incluyen Extraer por puntos y Extraer por rectángulo, generalmente extraen datos de una geometría especificada.