Está en la página 1de 8

ANEXO: GENERALIDADES SOBRE EL SOFTWARE ILWIS

A.1 Operaciones Espaciales con ILWIS (Operaciones de Superposición)

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.

Notas sobre la sintaxis:


• Las expresiones se escriben en la línea de comando de los mapas.
• No importa si se dejan espacios entre la asignación o entre las expresiones.
• La línea de comando para cálculo tiene historia y puede accesarse con la flecha hacia arriba
para obtener una expresión escrita anteriormente.
• Algunos valores constantes como por ejemplo el número PI (π) , están predefinidos.
• Cuando se utilizan nombres de dominios de clase (class domain) o identificadores (ID) estos
deben ir entre comillas.
• Los nombres de las clases de los dominios pueden introducirse como códigos previamente
asignados a estos nombres.

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)

Tabla de verdad para expresiones a y b. T (True) y F (False)


a b a and b a or b a xor b Not a
T T T T F F
T F F T T F
F T F T T T
F F F F F T

Ejemplo con operadores lógicos


El mapa A tiene dominio valor y representa las zonas cubiertas de Bosque (B) El mapaB
representa las alturas sobre el nivel del mar. La salida de todas las operaciones lógicas verdadero
(T) o Falso (F) según se cumpla o no la expresión lógica ó 1 o 0 si se cumple o no la expresión
lógica

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

A.1.2 Funciones Condicionales

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)

Universidad del Valle 4


Facultad de Ingeniería - Escuela de Ingeniería Civil y Geomática
Esta función chequea si a es indefinida. Retorna un booleano. Verdadero o Falso

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.

A.1.3 Otras Funciones

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)

Universidad del Valle 5


Facultad de Ingeniería - Escuela de Ingeniería Civil y Geomática
Signo
-(a) Retorna a multiplicado por -1
ABS(a) Retorna el valor absoluto (positivo) de a
NEG(a) Retorna a multiplicado por –1
SGN(a) Retorna –1 si a<0, 0 si a=0 1 si a>0

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

Funciones Mininimas y Maximas


MIN(a,b) Retorna el mínimo de dos expresiones a y b
MIN(a,b,c) Retorna el mínimo de tres expresiones a , b y c
MAX(a,b) Retorna el máximo de dos expresiones a y b
MAX(a,b,c) Retorna el máximo de tres expresiones a , b y c

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, "?").

2. El mapa resultante será un mapa de una clase de un dominio o ID existente (generalmente de


uno de los mapas de entrada) o uno indefinido.
Universidad del Valle 6
Facultad de Ingeniería - Escuela de Ingeniería Civil y Geomática
MapaSalida = Iff(expresion, dominio1, "nombre").

3. El mapa resultante será un mapa con la clase de un dominio o ID existente (generalmente de


uno de los mapas de entrada) o una clase perteneciente a un dominio que no es de los mapas
de entrada. Cuando se da este caso (clase de un dominio no existente) no puede utilizar el
dominio existente (dominio1) como dominio del mapa de salida entonces, es necesario crear
un dominio para el nuevo mapa donde se contenga la nueva clase, en caso de no hacerlo los
valores serán indefinidos.
MapaSalida = Iff(expresion, dominio1, dominio2)

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.

Ejemplo de una operación CROSS


Se tienen dos mapas de entrada: Vulnerabilidad dividido entre clases va, vm, vb y un mapa de
amenaza con tres clases aa, am, ab. (Ver leyenda). El riesgo será el cruce es decir todas las
combinaciones de vulnerabilidad y amenaza

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

aa*va aa*va am*va am*va M1 = Mapa Amenaza


aa*vb aa*vb aa*vm am*vm M2 = Mapa Vulnerabilidad
ab*va ab*va aa*vb aa*vb M3 = Mapa de Salida
ab*va ab*vb aa*vb aa*vb
M3

Universidad del Valle 8


Facultad de Ingeniería - Escuela de Ingeniería Civil y Geomática

También podría gustarte