Disponible con una licencia de Spatial Analyst.
Disponible con licencia de Image Analyst.
En Álgebra de mapas, los operadores aplican una operación matemática en números y rásteres de entrada.
Por lo general, los operadores se colocan entre dos entradas (operandos) para realizar una operación matemática (por ejemplo, outVar = 3 + 7). En Álgebra de mapas, los operandos pueden ser rásteres o números. Para utilizar un operador con un ráster, el ráster debe ser un Raster object.
La siguiente tabla ofrece una referencia rápida que indica cómo se han implementado los operadores de Álgebra de mapas actuales en relación con operadores de Python.
Operación | Operador de Python | Operador de Álgebra de mapas | Herramienta de geoprocesamiento | |
---|---|---|---|---|
Aritmética | ||||
Adición | + | + | Suma | |
División | / | / | Dividir | |
División de enteros | // | // | N/A | |
Módulo | % | % | Módulo | |
Multiplicación | * | * | Multiplicación | |
Potencia | ** | ** | Potencia | |
Resta | - | - | Resta | |
Resta unaria | - | - | Cambio de signo | |
Suma unaria | + | + | N/A | |
Booleano | ||||
Booleana And | N/A | & | Booleana And | |
Complemento booleano | N/A | ~ | Booleana Not | |
Booleana Exclusive Or | N/A | ^ | Booleana XOr | |
Booleana Or | N/A | | | Booleana Or | |
Relacional | ||||
Igual a | == | == | Igual a | |
Mayor que | > | > | Mayor que | |
Mayor que e Igual que | >= | >= | Mayor o Igual que | |
Menor que | < | < | Menor que | |
Menor que e Igual que | <= | <= | Menor o igual que | |
No igual que | != | != | No igual | |
Bit a bit | ||||
Bitwise And | & | N/A | Bitwise And | |
Complemento bit a bit | ~ | N/A | Bitwise Not | |
Bitwise Exclusive Or | ^ | N/A | Bitwise XOr | |
Bitwise Left Shift | << | << | Bitwise Left Shift | |
Bitwise Or | | | N/A | Bitwise Or | |
Bitwise Right Shift | >> | >> | Bitwise Right Shift |
Reglas de operador
- Si solo se utilizan números con operadores, el resultado será un número.
# outVar will be assigned 10 outVar = 3 + 7
- Al utilizar operadores con rásteres, el ráster debe ser un objeto Raster.
outRas = Raster("inraster1") + Raster("inraster2")
- Si se utiliza un operando ráster, el resultado es un objeto Raster.
# In the following statement, 4 is added to each cell value in inraster1 outRas = Raster("inraster1") + 4 outRas2 = Raster("inraster") + math.pi
En la sentencia anterior, se utiliza pi desde el módulo de Python math. El módulo de math también incluye la base del logaritmo natural, math.e, que también se puede utilizar en una sentencia de Álgebra de mapas.
- Algunos operadores pueden preceder a un número u objeto Raster.
outRas = -Raster("inraster")
- Los operadores booleanos (~, &, ^, |) realizarán una operación booleana si una o varias entradas (operando) son un ráster. Si ambas entradas (operandos) son números, estos operadores realizarán operaciones bit a bit.
Sugerencia:
No se necesitan espacios entre operadores, pero se recomiendan para mejorar la legibilidad.
Es posible anidar herramientas y operadores para crear sentencias complejas.
Reglas de operador de ráster multidimensional
- Cuando se utiliza un operador con un ráster multidimensional y un número, el resultado es un objeto Raster multidimensional con las mismas variables y dimensionalidad que la entrada.
# In the following statement, 100 is added to each cell in # each slice of in_multidem_raster out_multidem_raster = in_multidem_raster + 100
- Cuando se utiliza un operador con un ráster multidimensional y un ráster que no es multidimensional, el resultado será un objeto Raster multidimensional con las mismas variables y dimensionalidad que la entrada.
Si los objetos Raster de entrada no se superponen, no se devuelve ningún resultado.
# In the following statement, the cell values from in_raster are added to # the cell values in each slice of in_multidem_raster. out_multidem_raster = in_multidem_raster + in_raster
- Cuando se utiliza un operador con dos rásteres multidimensionales, el resultado será un objeto Raster multidimensional únicamente con las variables y dimensionalidad que compartan las entradas. Por ejemplo, si un ráster multidimensional contiene datos de temperatura diarios de 1995 a 2015, y otro ráster multidimensional contiene datos de temperatura diarios de 2001 a 2005, el resultado de un operador utilizado con ambos rásteres multidimensionales incluirá solo los datos de temperatura diarios de 2001 a 2005.
Si los objetos Raster multidimensionales de entrada no tienen variables ni dimensionalidad en común, no se devuelve ningún resultado.
# In the following statement, the cell values in each slice from in_multidem_raster1 # are added to the cell values in each slice from in_multidem_raster2, only where variables and # dimensionality overlap. out_multidem_raster = in_multidem_raster1 + in_multidem_raster2
Jerarquía del operador
El valor de jerarquía determina el orden en el que se ejecutan los operadores. El operador con la jerarquía más elevada será el que se ejecute primero. Si dos operadores tienen el mismo valor de jerarquía, se procesarán de izquierda a derecha en una expresión.
Puede utilizar paréntesis para invalidar la prioridad de jerarquía, siendo la operación que se encuentre entre los paréntesis más interiores la que se procesará primero, independientemente del operador que se especifique.
La siguiente tabla muestra todos los operadores de Álgebra de mapas de menor a mayor jerarquía. Los operadores que se muestran en la misma fila tienen la misma jerarquía.
Operador de Álgebra de mapas | Referencia |
---|---|
<, <=, >, >=, ==, != | Menor que, Menor o igual que, Mayor que, Mayor o igual que, Igual que, No es igual que |
| | |
^ | |
& | |
<<, >> | |
+, - | |
*, /, //, % | |
+, -, ~ | |
** |