Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GeneralidadesSoftware ILWIS
GeneralidadesSoftware ILWIS
Las operaciones que producen nueva información espacial son aquellas que producen nuevos
mapas. Es decir crean mapas distintos a los mapas de entrada y para realizarlas hay que combinar
varias entidades o varios mapas (mapa por entidad).
El cálculo de fórmulas o relaciones sobre los mapas tablas se establece como el nombre de un
mapa de salida que contiene el resultado del cálculo o la nueva información espacial, el símbolo de
definición (=) o un símbolo de asignación (:=) y una expresión.
MapaSalida = Expresión (Mapas dependientes)
MapaSalida:= Expresión (Mapas independientes)
Símbolo de definción (=) Cuando se utiliza este símbolo en la línea de comando se crea y se
guarda un mapa dependiente que no se actualiza automáticamente pero que puede hacerse
manualmente en caso de que los mapas base cambiaran. Puede volverse independiente.
Símbolo de asignación (:=) Al utilizar este signo se crea un mapa independiente o un mapa base.
Una expresión contiene funciones y operadores para especificar el cálculo que ha de realizarse.
Los mapas utilizados en la expresión se llaman operandos. Estas operaciones sólo pueden
realizarse con mapas con estructura raster (en el ILWIS). Cuando se ejecuta la expresión el
programa realizará el cálculo pixel a píxel iniciando en el primero de la primera línea hasta el último
en la última línea. Por tanto todos los mapas deben tener la misma georreferencia, es decir todos
tienen el misma número de píxeles (el mismo tamaño) y el mismo sistema de coordenadas.
A.1.1 Operadores y Funciones para el Cálculo con Mapas con Dominios Valor y Clase
Cuando se operan mapas con dominio valor el nuevo mapa tiene dominio valor. Hay varios
operadores y funciones que pueden utilizarse para realizar análisis con mapas de dominio valor.
Universidad del Valle 1
Facultad de Ingeniería - Escuela de Ingeniería Civil y Geomática
Operadores Aritméticos
Operador Sintáxis Operación Ejemplo
Aritmético + Suma a+b
- Resta a-b
* Multiplica a*b
/ Divide a/b
a MOD b Retorna el remanente de a/b 10 MOD 3 = 1
a DIV b Retorna el entero de dividir dos enteros a/b 10 DIV 3 = 3
Algunos ejemplos de operaciones aritméticas. Mapas con dominio valor.
Operadores Relacionales
Operador Sintáxis Operación Ejemplo
Relacional = Igual a a=b
< Menor que a<b
<= Menor o igual que a <= b
> Mayor que a>b
>= Mayor o igual que a>=b
<> No igual o distinto que a <> b
Los mapas A y B tienen dominio valor y pueden expresar los pesos que se le dan a la intensidad
de un fenómenos natural. En el siguiente diagrama se muestra el resultado de operaciones
aritméticas de suma y resta.
5 5 2 2 15 15 12 12
5 5 5 2 MapaC = MapaA + 10 15 15 15 5
8 2 2 2 16 12 12 12
6 6 6 6 16 16 16 16 9 9 10 10
Mapa A Mapa C 9 9 9 10
7 3 3 10
MapaC1 = MapaA + MapaB 7 7 14 14 11 11 60 60
MapaC1 11 11 11 60
4 4 8 8 71 33 33 60
4 4 4 8 71 71 14 14
1 1 1 8 Mapa C2 = ((MapaA - MapaB))/(MapaA + MapaB))*100 Mapa C2
1 1 8 8
Mapa B º
Los valores negativos del mapa C2 aparecen en negrilla
Operadores Lógicos
Operador Sintáxis Operación Ejemplo
Lógico AND Retorna verdadero (True) si las expresiones a y b son verdaderas (a) AND (b)
(intersección)
OR Retorna verdadero (True) si a o b o ambas expresiones son verdaderas (a) OR (b)
(unión)
XOR Retorna verdadero (True) si alguna de las expresiones a o b son verdaderas (a) XOR
Universidad del Valle 2
Facultad de Ingeniería - Escuela de Ingeniería Civil y Geomática
(b)
NOT Retorna falso (False) si a es verdadera y verdadera (True) si a es falsa. NOT (a)
B B B 0 0 0 0 0
B B MapaD = (MapaA = "Bosque") and (MapaB <500) 0 0 0 0 0
B B B 0 1 1 0 1
B B B 0 0 1 1 1
B B 0 0 0 0 0
Mapa A MapaD MapaD1
1 1 1 0 0
B = Bosque 1 1 0 0 0
7 = 700 MapaD1 = (MapaA = "Bosque") or (MapaB <500) 1 1 1 1 1
6 = 600 0 0 1 1 1
4 = 400 MapaD2 0 0 0 1 1
1 1 1 0 0
Mapa B 1 1 0 0 0 MapaD3
7 7 7 7 4 MapaD2 = (MapaA = "Bosque") xor (MapaB <500) 1 0 0 1 0 1 1 1 0 0
7 7 7 7 4 0 0 0 0 0 1 1 0 0 0
4 4 4 4 4 0 0 0 1 1 0 0 0 0 0
6 6 4 4 4 MapaD3 =(MapaA = Bosque")and not(MapaB<500) 0 0 0 0 0
6 6 6 6 6 0 0 0 1 1
Condicional IFF(a,b,c)
Si la condición a es verdadera el resultado es b, si a no es verdadera entonces la salida es c
MapaSalida = iff (Condición, Entonces, Sino
Universidad del Valle 3
Facultad de Ingeniería - Escuela de Ingeniería Civil y Geomática
MapaSalida es el nombre del mapa de salida.
= crea un mapa dependiente (no editable) := Crea un mapa independiente (editable)
iff es la función
Condición es la función que se debe cumplir
entonces significa el cálculo que debe realizarse si la condición se cumple
sino significa el cálculo que debe hacerse si la condición no se cumple
Algunos ejemplos con funciones condicionales. El MapaA tiene dominio tipo clase y representa la
distribución de Bosques (B) en un área. El mapaB posee dominio tipo valor y representa alturas
sobe el nivel del mar. Condicional IFF con AND lógico
B B B 0 0 0 0 0
B B MapaC = iff (MapaA = "Bosque"), 1, 0) 0 0 0 0 0
B B B 0 1 1 0 1
B B B 0 0 1 1 1
B B 0 0 0 0 0
Mapa A MapaC
Mapa B MapaC1
7 7 7 7 4 1 1 1 0 0
7 7 7 7 4 MapaC1 = iff ((MapaA = "Bosque") and (MapaB = 700), 1, ?) 1 1 0 0 0
4 4 4 4 4 1 0 0 1 0
6 6 4 4 4 B = Bosque 0 0 0 0 0
6 6 6 6 6 7 = 700 0 0 0 1 1
6 = 600
4= 400
IFF ANIDADO es un iff dentro de otra función iff. Lo que tiene que tener presente es que cada iff
debe tener la sintaxis de una iff individual
INRANGE(a,b,c)
Esta función busca si a esta contenida en un rango o intervalo cerrado {b, c}. O lo que es lo mismo:
Nota: a,b,c pueden ser expresiones, valores,
INDEFINIDOS
En cualquier conjunto de datos (mapas o tablas) pueden encontrar valores que hacen falta o
salidas de algunas operaciones incorrectas (p. Ej. división por cero o raíz cuadrada de un número
negativo) de valores indefinidos. A estos se le llaman indefinidos y están representados por “?”
ISUNDEF(a)
Como la salida de un calculo que utilice un valor indefinido será siempre indefinido, para evitar esto
pueden utilizarse las siguientes funciones:
IFUNDEF(a,b)
Retorna b cuando a es indefinido el resto indefinido lo deja igual.
IFUNDEF(a,b,c)
Retorna b cuando a es indefinido al resto le da el valor c.
IFNOTUNDEF(a,b)
Retorna b cuando a no es indefinido el resto indefinido lo deja igual.
IFNOTUNDEF(a,b,c)
Retorna b cuando a no es indefinido al resto le da el valor c.
Exponenciales
SQ(a) axa
2 2
SQ(a,b) a +b
SQRT(a) a
HYP(a,b) a2 + b2
b
POW(a,b) a
a
EXP(a) e e = 2.718
Logarítmicas
LOG(a) log10(a)
LN(a) loge(a)
Random (Aleatorias)
RND(long) Retorna enteros ente 1 y long. Ej. : RND(1000) retorna enteros entre 1 y 1000.
RND(0) Retorna 0 o 1
RND() Retorna valores reales en el rango que se pida. Ej. si el rango es (0,1) retorna
números reales entre 0 hasta 1 sin incluir el 1)
Redondeo
CEIL(a) Retorna el valor del entero más pequeño mayor que el del valor de entrada a
FLOOR(a) Retorna el valor del entero más grande menor que el del valor de a (trunca)
ROUND(a) Redondea el valor a
Trigonométricas
SIN(a), COS(a), TAN(a)
ASIN(a). ACOS(a), ATAN(a)
ATAN2(y,x) Retorna el ángulo en radianes de dos valores de entrada; y es vertical y x es
horizontal
Angulares
DEGRAD(a) Convierte a en grado a radianes
RADDEG(a) Convierte a en radianes a grados
A.1.4 Construcción de mapas que dan como resultado dominios tipo clase
1. Cuando se trabajan las funciones iff que dan como resultados dominios de clase o
identificadores se pueden tener cuatro situaciones distintas:
MapaSalida = Iff(expresión, dominio1, "?").
4. El mapa de salida tendrá un dominio que será una combinación de dos dominios de los mapas
de entrada.
MapaSalida = Iff(expresion, "nombre", "nombre")
Hay que crear un dominio que contenga las clases que no están en los dominios de los mapas
de entrada.
A. 1. 5 Operación CROSS
Se supone que se quiere realizar una combinación entre dos mapas: el mapa A con 5 clases y el
mapa B con tres clases; si se realiza con funciones iff anidadas se tendría que realizar por lo
menos 15 iff anidados. Entonces existe la posibilidad de realizarla con la operación CROSS.
MapaSalida = CROSS(MapaA, MapaB).
Esta operación hace la superposición de dos mapas raster (misma georreferenciación)
comparando pixeles en la misma posición en ambos mapas y realizando todas las posibles
combinaciones entre las clases de los dos mapas.
Con la operación Cross se realiza una combinación de las clases, identificadores o valores de los
pixeles de los dos mapas de entrada y los resultados se guardan en un nuevo mapa y en una tabla
que tendrá el mismo nombre del mapa de salida.
Esta tabla tiene un dominio identificador (igual que el mapa de salida) cuyos item son las
combinaciones de las clases de los dominios de los mapas de entrada y una columna con el
número de pixeles correspondiente a cada combinación.
aa aa am am aa = amenaza alta
aa aa aa am am = amenaza media Amenaza Vulnerabilidad N. Pixeles
ab ab aa aa ab = amenaza baja aa*va aa va 20
Universidad del Valle 7
Facultad de Ingeniería - Escuela de Ingeniería Civil y Geomática
ab ab aa aa aa*vm aa vm 10
M1 aa*vb aa vb 60
am*va am va 20
am*v
m am vm 10
va va va va va = vulnerabilidad alta am*vb am vb 0
vb vb vm vm vm = vulnerabilidad media ab*va ab va 30
va va vb vb vb = vulnerabilidad baja ab*vm ab vm 0
va vb vb vb ab*vb ab vb 10
M2