Disponible con una licencia de Spatial Analyst.
Las clases se pueden utilizar para crear objetos, que comúnmente se denominan instancias. Una vez creada la instancia del objeto, se pueden utilizar sus propiedades y métodos. Las clases de Spatial Analyst, tales como las de vecindad o las de nueva representación cartográfica, generalmente se utilizan como acceso rápido para completar los parámetros de la herramienta de geoprocesamiento que de otro modo tendrían un equivalente de cadena de caracteres más complicado.
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 de 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 clases de Spatial Analyst en el álgebra de mapas, consulte lo siguiente:
- Crear clases
- Consultar clases
- Cambiar argumentos dentro de las clases
- Cómo utilizar las clases en Python
Los siguientes son ejemplos de aplicaciones que se pueden implementar fácilmente utilizando 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 en 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 cambiar 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 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 para un constructor de clase hará que le sea más fácil crear, consultar, modificar y guardar los objetos de clase.
Estos son los distintos 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 KrigingModel
- Clases Vecindad
(NbrAnnulus, NbrCircle, NbrIrregular, NbrRectangle, NbrWedge, NbrWeight)
- Clases Radio
- Clases Tiempo
(TimeWithinDay, TimeSpecialDays, TimeMultipleDays, TimeWholeYear)
- Clases de la Función de transformación
(TfExponential, TfGaussian, TfLarge, TfLinear, TfLogarithm, TfLogisticDecay, TfLogisticGrowth, TfMSLarge, TfMSSmall, TfNear, TfPower, TfSmall, TfSymmetricLinear)
- Clases del 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 exigen varias 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 muchas 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 a partir de una clase creada con las listas 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 de acuerdo con una lista de registros que indican los valores 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 exigen varias clases como entrada. Las clases se incluyen en una lista. Las herramientas que exigen varias clases dentro de una lista, que incluyen Extraer por puntos y Extraer por rectángulo, generalmente extraen datos de acuerdo con una geometría especificada.