Disponible con una licencia de Spatial Analyst.
Las clases se pueden utilizar para crear objetos, que comúnmente se denominan instancias. Una vez creada una instancia del objeto, se pueden usar sus propiedades y métodos. Las clases de Spatial Analyst, como la clase de vecindad o de nueva representación cartográfica, se suelen utilizar como accesos directos para completar los parámetros de la herramienta de geoprocesamiento que de otro modo tendrían una cadena de caracteres equivalente más complicada.
Es mucho más fácil crear y administrar parámetros mediante clases en lugar de cadenas de caracteres. Entre las ventajas de utilizar las clases para los parámetros se incluyen las siguientes:
- 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 argumentos individuales de la clase para análisis posterior.
Para obtener información adicional sobre el uso de las clases de Spatial Analyst en álgebra de mapas, consulte lo siguiente:
Los siguientes son ejemplos de aplicaciones que se pueden aplicar 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.
- Cambiar un valor de entrada:
Por ejemplo, puede cambiar 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 varios 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 reasignació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 cambia aleatoriamente los argumentos de los parámetros para explorar el impacto potencial del error y la incertidumbre en los datos.
Usar las clases de Spatial Analyst
Algunos parámetros de la herramienta 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.
Los siguientes son los 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, FuzzySmall
- Clases de factor horizontal
- Clases de Modelo de Kkriging
- Clases de vecindad
NbrAnnulus, NbrCircle, NbrIrregular, NbrRectangle, NbrWedge, NbrWeight
- Clases de Radio
- Clases de tiempo
TimeWithinDay, TimeSpecialDays, TimeMultipleDays, TimeWholeYear
- Clases de función de transformación
TfExponential, TfGaussian, TfLarge, TfLinear, TfLogarithm, TfLogisticDecay, TfLogisticGrowth, TfMSLarge, TfMSSmall, TfNear, TfPower, TfSmall, TfSymmetricLinear
- Clases de 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 clases requieren una serie de entradas y se utilizan para los parámetros de 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 la clase TopoBoundary esperan una lista que contenga una o varias 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.