Una vista general del uso de las clases 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:

Para obtener más información sobre el uso de clases de Spatial Analyst en el álgebra de mapas, consulte lo siguiente:

Crear clasesConsultar clasesCambiar argumentos dentro de las clasesCómo utilizar las clases en Python

Los siguientes son ejemplos de aplicaciones que se pueden implementar fácilmente utilizando clases:

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:

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 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:

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.

Temas relacionados

5/10/2014