Tutorial - Clase 9 - Análisis y Consulta Espacial

Los tópicos tratados aquí son mostrados a continuación:

Sumario de las clases.

 


1. Consulta a Banco de Dados

La forma usual de ligación entre un sistema de información geográfica y un banco de datos relacional es a través de un SGBDR (Sistema Gerenciador de Banco de Datos Relacional) - llamado modelo "geo-relacional" : los componentes, espacial y descritivo, del objeto geográfico son almacenados separadamente. Los atributos convencionales son guardados en el banco de datos (en forma de tablas) y los datos espaciales son tratados por un sistema dedicado. La conección es hecha por identificadores (id) de objetos.

Para recuperar un objeto, los dos subsistemas deben ser investigados y la respuesta es una composición de resultados. Esta arquitectura es ilustrada en la figura que sigue.

 

Cons0003.gif - 4468 Bytes


En esta clase el usuario deberá inicialmente definir una categoría Catastral y un Objeto, además de los atributos de este objeto. El archivo de líneas será importado, pero la identificación de los objetos quedará a criterio del usuario.



Seta_up.gif - 170 BytesTópicos de esta Clase


1.1 Definición del modelo Catastral y Objeto

Þ Creando categoría catastral y Objeto:
- # Iniciar - Programas - Spring - Spring( windows.gif - 1353 Bytes)      #spring ( unix.gif - 943 Bytes)

SPRING
* Activar banco de datos Curso
* Activar proyecto Brasilia
- [Archivo] [Esquema Conceptual...] o botón atalho_esquema.gif - 992 Bytes

Esquema Conceptual
- {Categorías - Nombre: Cuadra}
- (Modelo <=> Objeto)
- (Categorías <=> Crear)
* Creando categorías del modelo Catastral
Esquema Conceptual
- {Categorías - Nombre: Cat_urbano}
- (Modelo <=> Catastral)
- (Categorías <=> Crear)
- (Ejecutar) - para almacenar las categorías creadas.



Þ Definiendo atributos de la categoría Objeto:

SPRING
- [Archivo] [Esquema Conceptual...] o botón atalho_esquema.gif - 992 Bytes

Esquema Conceptual
- (Categorías <=> Cuadras)
- (Atributos...)
* Definiendo atributos del tipo entero

Atributos de Categoría
- {Nombre: Populac} - Obs: Máximo de 8 caracteres
- (Tipo <=> Entero)
- (Insertar)
- {Nombre: Escuelas}
- (Tipo <=> Entero)
- (Insertar)
* Definiendo atributos del tipo Texto
- {Nombre: Tipo}
- (Tipo <=> Texto)
* Definiendo atributos del tipo Real
- {Nombre: Renta}
- (Tipo <=> Real)
- (Insertar)
- (Ejecutar), (Cerrar)

* Cerrando definición de atributos de la categoría Objeto
Esquema Conceptual
- (Cerrar)



Seta_up.gif - 170 BytesTópicos de esta Clase


1.2 Elaboración del mapa catastral y identificación de objetos

Þ Importando datos catastrales

SPRING
- [Archivo][Importar...]

Importación
- (Directorio...: /springdb/Datos) - Obs: Para este ejemplo
- (Modelo <=> Temático)
- (Formato | ASCII : Cuadras.L2D)
- (Entidad | Líneas c/ topol.), (Unidad | Metros), {Escala : 25000}
* Proyección y Área de Proyecto - No necesarios, asume la del proyecto activo
* Proyecto - No necesario, proyecto activo
- (Categoría...)

Lista de Categorías
- (Categorías: Cat_urbano)
- (Ejecutar)

Importación
- {PI: Mapa_cuadras)
- (Ejecutar)
- (Cerrar)



Þ Edición de Atributos No-Espaciales:

* Visualizando el plano de información/es
Panel de Control
- (Categorías | Cat_urbano)
- (Planos de Información | Mapa_cuadras)
- (Líneas)
- Exhibir en la pantalla principal

* Creando y asociando objetos con su representación
SPRING
- [Editar][Objeto...]
Editar Objetos
- (Clases de Objeto | Cuadra)
- {Rótulo: Q001}
- {Nombre: Q001}
- (Modo Selección <=> Rótulo)
- (Crear)
- (Operación <=> Asociar)
- (Entidad <=> Polígono)
* Seleccionar el objeto Q001 en el plano visualizado - Obs: Si el polígono no es encontrado, crear la topología para este plano
- (Actualizar)

* Repetir para los otros objetos utilizando el siguiente mapa

mapa_quadras.gif - 6081 Bytes


* Editando los atributos del objeto
SPRING
- [Editar][Objeto...]

Editar Objetos
- (Clases de Objeto | Cuadra)
- (Modo Selección <=> Pantalla)
- Seleccionar objeto en el plano visualizado



Þ Editando los atributos no espaciales del objeto:

Editar Objetos
- (Atributos...)

Atributos
- (Atributos | Populac)
- {Valor: 500}
- (Atributos | Escuelas)
- {Valor: 2}
- (Atributos | Tipo)
- {Valor: Residencial} o Industrial, o Hotelero, o Lazer
- (Atributos | Renta)
- {Valor: 2476.5l}
- (Ejecutar)

* Repetir los dos ítems de arriba para los otros objetos



Seta_up.gif - 170 BytesTópicos de esta Clase


1.3 Consulta sobre los objetos editados

Las funciones de consultas son accesadas a través del "Panel de Control", son divididas en cinco módulos principales, Control de Visualización, Consulta, Agrupamiento, Tabla e Indicación/Foto, como es ilustrado en la figura de abajo.

 

Cons0005.gif - 4942 Bytes



Las funciones de cada módulo y sus formas de interacción con el usuario son:

Los módulos constituyentes del flujo de operaciones actuan básicamente de la siguiente forma:



Þ Iniciando la consulta al banco de datos:
- # Iniciar - Programas - Spring - Spring( windows.gif - 1353 Bytes)      #spring ( unix.gif - 943 Bytes)

SPRING
* Activar banco de datos Curso
* Activar proyecto Brasilia



Þ Visualizando objetos para consulta:

Panel de Control
- (Categorías | Cat_urbano)
- (Planos de Información | Mapa_cuadras)
- (Líneas), (Objetos)
* Exhibir en la pantalla principal
SPRING
- [Ejecutar][Visualizar] o botón atalho_desenhar.gif - 941 Bytes



Þ Seleccionando objetos por indicación:

Panel de Control
- (Consultar...)

* Deshabilite el cursor de Punto/Área en el caso que esté activo.
* Haga clic sobre un objeto (cuadra) en la pantalla activa.
* Observe que una ventana se abre presentando todos los atributos del objeto indicado. Al hacer clic sobre cualquier otro objeto la lista de atributos se actualiza.



Þ Seleccionando objetos por el módulo de agrupamiento:

Visual de Objetos
- (Cuadras)
- [Editar][Agrupamiento...]

Agrupar Objetos: Cuadras
- (Atributos | Renta)
- (Igual Paso)
- (5 partes)
- (Ejecutar)
* Analizar resultado en la pantalla activa

* Pruebe otras opciones de agrupamiento.

* Deshacer el agrupamiento antes de cerrar la ventana
- (Desagrupar)
- (Ejecutar)
- (Cerrar)



Þ Selección por Atributos:

Visual de Objetos
- [Editar][Agrupamiento...]

Consulta de Objetos
- (Atributos | Renta)
- (Operación | > )
- (Valores | 2000) - u otro valor, de acuerdo con los datos dados por el usuario. Si lo desea digite un valor cualquiera en el campo de abajo de la lista de valores.
* Observe que la expresión lógica es presentada durante su selección.
- (Ejecutar)
* Los objetos seleccionados son presentados en la pantalla activa según la expresión definida.

* Deshacer la expresión antes de cerrar la interfase de consulta:
- (Cancelar) - varias veces hasta sacar toda ecuación en la lista de Expresión Lógica.
- (Cerrar)



Þ Seleccionando objetos por el módulo de tabla:

Visual de Objetos
- [Editar][Tabla...]

Atributos : Barrios
- (Todos)
* Haga clic sobre un elemento (objeto) de la lista, este quedará seleccionado con el color actual en la parte superior de la ventana
* Altere el color actual haciendo clic sobre el mismo (hasta 5 colores pueden ser seleccionados)
* Después de seleccionar algunos elementos, haga clic sobre el pincel para presentar en la pantalla activa.



* El módulo tabla contiene varias otras opciones de consulta sobre los objetos catastrales , vea la tabla que sigue:


A continuación presentamos un resumen de las acciones que pueden ser tomadas sobre el módulo de Tabla.

Acción del mouse

Local de Acción

Resultado

simple clic

una línea de la tabla

selecciona un objeto en la tabla con el color definido en el rectángulo de color, o desmarca el objeto

clic y arraste

sobre varias líneas de la tabla.

selecciona varios objetos de la tabla o los desmarca.

doble clic

cualquier línea de la tabla.

desmarca todos los objetos seleccionados.

doble clic

nombre del atributo en una columna.

Ordena los atributos por orden creciente.

triple clic

nombre del atributo en una columna.

Ordena los atributos por orden decreciente.

haga cilc con el BI y mantenga apretado

nombre del atributo en una columna.

Presenta una lista de parámetros estadísticos de los datos presentados en la columna.

simple clic

pincel (canto izquierdo de la ventana)

Realiza el realce en la pantalla activa de los objetos seleccionados en la tabla.

simple clic

rectángulo de color

altera entre cinco colores definidos por el sistema

haga clic con el botón del medio

rectángulo de color

altera entre cuatro tipos de tramas para el color seleccionado.

desmarque todas las líneas de la tabla + doble clic con el botón del medio

nombre del atributo en una columna.

surgirá la interfase gráfica con la exhibición de un histograma

seleccione líneas de la tabla + doble clic con el botón del medio

nombre del atributo en una columna.

surgirá la interfase gráfica con la exhibición de un gráfico de pizza.

desmarque todas las líneas de la tabla + doble clic con el botón del medio en dos columnas de la tabla + doble clic con el botón del medio para seleccionar la abscisa

nombre del atributo en dos columnas.

surgirá la interfase gráfica con la exhibición de un gráfico de dispersión.

 

Seta_up.gif - 170 BytesTópicos de esta Clase


2. Análisis Espacial

2.1 Mapa de Distancias (buffer)

Un mapa de distancia es un tipo de análisis de proximidad (medida de distancia entre objetos, comúnmente medida en unidad de longitud) que presenta zonas con longitudes específicas (distancias) en torno de un o más elementos del mapa, conforme ilustra la figura de abajo.

 

Anal08.gif - 13781 Bytes

 

Anal09.gif - 8375 Bytes

Son necesarios realizar los siguientes procedimientos para un mapa de distancia:

  1. identificar el elemento (punto, línea o polígono) que será usado para generar la retícula de distancia. Puede ser utilizado tanto un PI temático como uno catastral;
  2. crear una retícula numérica con valores de distancia en torno del elemento seleccionado;
  3. “fatiar(Cortar - Rebanar-Hacer fajas)” la retícula en relación a las distancias deseadas.



Þ Ejecutando un Mapa de Distancia:
- # Iniciar - Programas - Spring - Spring( windows.gif - 1353 Bytes)      #spring ( unix.gif - 943 Bytes)

SPRING
* Activar banco de datos Curso
* Activar proyecto Brasilia
* Visualizar el plano Mapa_ríos de la categoría Drenaje con objetos de interés
- [Tematico][Mapa de Distancias...]

Mapa de Distancias
- Seleccionar objetos de interés sobre el plano visualizado
- (Categoría...)
- Seleccionar categoría numérica Distancias de salida
- {PI: dist-comu}
- {X(m): 200}, {Y(m):200}
- (Ejecutar)

* Visualizarla retícula
* “Fatiar(Cortar - Rebanar-Hacer fajas)” la retícula para separar en intervalos de distancias



Seta_up.gif - 170 BytesTópicos de esta Clase


2.2 Cálculo de Área

Þ Ejecutando un Cálculo de Área:
- # Iniciar - Programas - Spring - Spring( windows.gif - 1353 Bytes)      #spring ( unix.gif - 943 Bytes)

SPRING
* Activar banco de datos Curso
* Activar proyecto Brasilia
* Visualizar el plano temático Mapa_suelo de la categoría Suelos
- [Temático][Cálculo de Área...]

Cálculo de Área
- (Imagen Temática), (Mapa Vectorial)
- (Ejecutar)
- (Guardar...)
* Seleccionar archivo para guardar resultado



Seta_up.gif - 170 BytesTópicos de esta Clase


2.3 Medidas

Distancia entre dos puntos El cálculo de distancia entre dos puntos es calculado solamente en línea recta, utilizando el cursor del mouse. Þ Ejecutando una medida entre dos puntos:
- # Iniciar - Programas - Spring - Spring( windows.gif - 1353 Bytes)      #spring ( unix.gif - 943 Bytes)

SPRING
* Activar banco de datos Curso
* Activar proyecto Brasilia
* Visualizar cualquier plano de información (una imagen, por ejemplo)
- [Utilitarios][Operaciones Métricas...]

Medidas
- (Referencia <=> Distancia)
- (Coordenadas <=> Planas)
* Haga clic en dos puntos cualquiera en la pantalla activa. A cada dos puntos los valores son presentados en la ventana Medidas.
- (Cerrar)



Área o Perímetro de polígonos Utilizando la ventana "Medidas" se puede calcular el área y perímetro de cualquier polígono (polígono cerrado o línea poligonal) representado en mapas temáticos por clases o en mapas catastrales por objetos.

Þ Ejecutando una medida de área y perímetro de polígonos:
- # Iniciar - Programas - Spring - Spring( windows.gif - 1353 Bytes)      #spring ( unix.gif - 943 Bytes)

SPRING
* Activar banco de datos Curso
* Activar proyecto Brasilia
* Visualizar cualquier plano de información (Mapa_ríos, por ejemplo)
- [Utilitarios][Operaciones Métricas...]

Medidas
- (Referencia <=> Polígono)
* Haga clic sobre un polígono cualquiera de la pantalla activa. De cada polígono indicado serán presentados los valores en la ventana Medidas.
- (Cerrar)



Seta_up.gif - 170 BytesTópicos de esta Clase


2.4 Tabulación Cruzada

La operación de tabulación cruzada permite calcular el área de las intersecciones entre las clases de dos PI's temáticos en el formato raster con; la misma resolución horizontal y vertical, el mismo número de líneas y columnas ("pixels") y comprendiendo las mismas coordenadas en el terreno.

La tabulación cruzada compara las clases de dos planos de informaciones, determinando la distribución de sus intersecciones. Los resultados representan tablas de dos dimensiones.

Þ Ejecutando un cálculo de tabulación cruzada
- # Iniciar - Programas - Spring - Spring( windows.gif - 1353 Bytes)      #spring ( unix.gif - 943 Bytes)

SPRING
* Activar banco de datos Curso
* Activar proyecto Brasilia
* NO es necesario tener un plano de información visible. Pero active el PI temático Mapa_suelos de la categoría Suelos.
- [Temático][Tabulación Cruzada...]

Tabulación Cruzada
- (Plano de Intersección...)

Categorías y PIs
- (Categorías | Uso_Tierra)
- (Planos de Información | Mapa_uso)
- (Ejecutar)

Tabulación Cruzada
- (Ejecutar)



* El resultado es presentado en la ventana de informes. Para guardar los datos presentados haga clic en Guardar... y defina un nombre de un archivo.

Seta_up.gif - 170 BytesTópicos de esta Clase


3. LEGAL

Un programa en LEGAL es constituido de sentencias (líneas de comando), que están estructuradas en tres partes: declaraciones, instanciaciones y operaciones.


Cada sentencia en LEGAL puede envolver símbolos ((por ejemplo, '{', '(', ';', ','), operadores (por ejemplo, '+', '*', '&&', '||' , '<', '<=', '!='), palabras reservadas (por ejemplo, Nuevo, Tematico, Nombre, ResX), nombres de variables y nombres de datos (PIs). Los nombres de los PIs, categoría y clases temáticas deben ser escritos entre comillas (""). las palabras reservadas se inician con mayúscula y no utilizan acentos (por ejemplo, Tematico).

 

Legal_01.gif - 1756 Bytes


Declaración

Legal_02.gif - 2625 Bytes

 
Ejemplos:
     Imagen banda3, banda4, ivdn ("LANDSAT");
     Tematico suelo("Tipo_Solo"), geo("geologia");
     Numerico alti1 ("ALTIMERIA");


Legal_03.gif - 2309 Bytes

 
Ejemplo:
     Tabla tab_del (SliceTabla);


Legal_04.gif - 1915 Bytes

 
Ejemplo:
     Atributo valores ("LOTES","IPTU");


Legal_05.gif - 1478 Bytes

 
Ejemplo:
     pi=3.14, d=1.234454;


Instanciación

El lenguaje permite la creación de nuevos planos de informaciones para almacenar resultados de expresiones envolviendo otras representaciones, utilizando la palavra reservada Nuevo, o también, la recuperación de PIs previamente creados, a través de Recupere.

Legal_06.gif - 5475 Bytes

  
Exemplo de recuperação de PIs:
     tema = Recupere (Nombre = "baciashidrograficas");
     alti = Recupere (Nombre = "CotasAltimetricas");
     ima = Recupere (Nombre = "TM4");
Ejemplo de creación de PIs:
     solo = Nuevo (Nombre = "Suelos_A", ResX=50, ResY=50,
             Escala=100000, Repres = Vector);
     alti = Nuevo (Nombre = "Altimetria", ResX=50, ResY=50,
             Escala = 1000, Min=0, Max=100);
     ima = Nuevo (Nombre = "ImagenTM_Res", ResX=30, ResY=30);


Legal_07.gif - 5276 Bytes

 
Ejemplo de tabla de reclasificación:
     grupo = Nuevo(CategoriaIni = "Vegeta", CategoriaFim = "Vegeta",
             "Da" : "FlorestaAluvial",
             "Db", "Ds1", "Ds2", "Ds4", "Dm" : "Florestabrofila",
             "sd", "sp", "sA" : "Savanas",
             "Pfm", "Pa", "Pah" : "FmPioneras",
             "Ap" : "Floresfila");
 
Ejemplo de tabla de delimitación de Intervalos:
     grupo = Nuevo(CategoriaFim = "Vegetacion",
             [0.0, 0.2]: "Floresta",
             [0.2, 0.45], [0.8, 1.0]: "Mata_galeria",
             [0.45, 0.8]: "Cerrado");
 
Ejemplo de tabla de ponderación:
     ponde1 = Nuevo(CategoriaIni = "Vegetacion",
             "Floresta": 0.2,
             "Mata_galeria", "Mata": 0.43
             "Cerrado"): 0.456);


Operación

Después de la declaración e instanciación de variables, sigue la definición de las acciones válidas a ser realizadas sobre ellas. Los resultados de acciones en Legal son invariablemente representados por operaciones. En una operación, una variable recibe el resultado del procesamiento de expresiones, envolviendo operadores del lenguaje que actúan sobre las variables declaradas e instanciadas previamente en el programa. El diagrama de abajo muestra los posibles relacionamientos en las operaciones.

 

Legal_08.gif - 2521 Bytes

 

Los operadores aritméticos ‘+’, ‘-’, ‘*’, ‘/’y ‘^’, como así también, funciones matemáticas (seno, tangente, etc.), son entendidos como puntuales o locales, o sea, actúan sobre cada elemento de una representacion matricial de imagen o retícula numérica, o sobre elementos vecinos que son localizados de manera relativa con respecto a un elemento de referencia.



Expresión Imagen

Legal_09.gif - 4956 Bytes

  
Ejemplo de expresiones imagen:
     ima1 = Imagen(reticula1);
     ima3 = ima2 + 20;
     res_ima1 = abs(sen(ima1)- 255);


Expresión Numérica

Legal_10.gif - 5803 Bytes

 
Ejemplo de expresiones numéricas:
     ph_fe1 = Numerico(banda_spot2);
     suma_reticula= (reticula_suelo + reticula_decl)/2;
     reticula_seno = sen((reticula1);


Expressão Temática

Legal_11.gif - 5034 Bytes

 
Ejemplo de expresiones temáticas:
     cl_decliv = Slice(decliv,tab_decliv);
     desmat= Reclasifique (cobertura, tab_recl);
     aptitud=  Atribuya (CategoriaFim = "Aptitud")
             {
             "Buena" : (suelo.Clase == "LatosolRojo" && 
             decliv.Clase == "O-3"),
             "Inapto" : (suelo.Clase == "ArenaCuat" &&
             decliv.Clase == ">8")};


Expresión Condicional

Legal_12.gif - 4853 Bytes

 
Exemplo de expressão condicional:
Imag_out =(ta.Clss == "mata") ? Imagen (TM5): 0;


Expressão Booleana

Las expresiones booleanas envuelven todos los tipos de expresiones. El valor resultante de una cierta expresión debe ser verdadero (TRUE) o falso (FALSE), pudiendo ser hecho de la comparación entre pixels de imágenes o valores de retícula a través de los operadores ‘<‘, ‘>‘, ‘<=‘, ‘>=‘, ‘==‘ y ‘!=‘; o de la comparación entre clases de PIs temáticos a través de los operadores ‘==‘ y ‘!=‘. Pudiendo también, envolver hasta 40 PIs simultáneamente.

Expresiones booleanas pueden también ser combinadas a partir de los operadores ‘&&’ (y lógico, intersección), ‘||’ (o lógico, unión) y ‘!’ o ‘~’ (negación, complemento).

 

Legal_13.gif - 2949 Bytes

 
Ejemplo de expresión condicional:
     apti = Atribuya (CategoriaFim = "Aptitud")
             {
             "buena": (suelo.Clase == "Cd1" && decl.Clase == "0-3"),
             "media": (suelo.Clase == "Cd1" && decl.Clase == "3-8"),
             "baja": (suelo.Clase == "Cd1" && decl.Clase == "8-20")
             };

 

Seta_up.gif - 170 BytesTópicos esta Clase


3.1 Editar y Ejecutar un programa en LEGAL

La edición de un programa es hecha en un editor de texto muy simple en el propio SPRING, pero si el usuario lo desea podrá utilizar cualquier editor de texto (formato ASCII) del propio sistema operacional.


Þ Editando y ejecutando un programa en LEGAL:
- # Iniciar - Programas - Spring - Spring( windows.gif - 1353 Bytes) #spring ( unix.gif - 943 Bytes)

SPRING
* Activar banco de datos Curso
* Activar proyecto Brasilia
* Crear categoría temática Aptitud, con clases buena, media y baja
- [Editar][Legal...]

Álgebra
* Seleccionar directorio /springdb/Datos
- {Nombre: aptitud}
- (Crear...)

Editor de Modelos
- {PROGRAMA: - Editar un programa semejante al presentado a continuación}
- (Guardar)

Álgebra
- (Ejecutar)

* Si hubiera algún error de sintaxis, será informado e imediatamente la ventana de editor será presentada. Haga las correcciones, guarde y ejecute nuevamente.

 


A continuación presentamos algunos ejemplos de programas:

EJEMPLO 1

 
// Ejemplo de cruzamiento entre 2 planos temáticos
{
//Definiendo las variables y sus categorías
Tematico suelo("Suelos"), decl("Declividad"), apti("Aptitud");
 
//Recuperando planos
decl=Recupere (Nombre = "dec");
suelo=Recupere (Nombre = "soil");
 
//Creando nuevo plano
apti=Nuevo (Nombre="aptitud", ResX=200, ResY=200, Escala=100000);
 
//Definiendo las relaciones entre clases
apti = Atribuya (CategoriaFim = "Aptitud")
           {
   "buena": (suelo.Clase == "Cd1" && decl.Clase == "0-3"),
   "media": (suelo.Clase == "Cd1" && decl.Clase == "3-8"),
   "baja": (suelo.Clase == "Cd1" && decl.Clase == "8-20")
           };
}

 

EJEMPLO 2

 
// Ejemplo de delimitación de intervalos utilizando datos de EMBRAPA-SUELOS
{
Numerico grd ("Decliv_numerico");
Tematico dec ("declividad");
Tabla deli (delimitacion);
 
grd = Recupere(Nombre="decliv-30x30");
dec = Nuevo (Nombre= "decli_del_30x30", ResX=30, ResY=30, Escala=100000);
 
decli=Nuevo(CategoriaIni="Decliv_numerico",CategoriaFim = declividad",
           [0.0,3.0] : "A-0a3",
           [3.0, 8.0] : "B-3a8",
           [8.0, 12.0] : "C-8a12",
           [12.0, 20.0] : "D-12a20",
           [20.0, 45.0] : "E-20a45",
           [45.0 ,90.0] : "F-45",
           [90 , 900] : "F-45");
 
   dec = Slice(grd,deli);
}
 

 

EJEMPLO 3

 
// Exemplo de Ponderação utilizando os dados da EMBRAPA-SOLOS
{
Tematico solo("solos");
Numerico solero ("Erodibilidade");
Imagem solima ("Imagem");
Tabela pond (Ponderacao) ;
 
suelo = Retrieve (Nombre = "suelos");
solero=Nuevo(Nombre="sueloPond",ResX=30,ResY=30,Escala=100000,Min=0,Max=100);
solima = Nuevo (Nombre ="sueloPond", ResX=30, ResY=30);
pond = Nuevo (CategoriaIni = "suelos", CategoriaFim = "Erodable",
   "LV1" : 0,
   "AR"  : 50,
   "LV2" : 100, 
   "PV1" : 150);
 
solero = Pondere (suelo,pond );
solima = Imagen (solero);
}

 

EJEMPLO 4

 
{
Tematico  uso, recl ("usoactual");
Tabla juntar (Reclasificacion);
 
uso = Recupere (Nombre="usoactual");
recl = Nuevo (Nombre= "recla_alg", ResX=30, ResY=30, Escala = 100000);
juntar = Nuevo (CategoriaIni = "usoactual", CategoriaFim = "usoactual",
   "mata": "Veg_nat",
   "cap+mato": "Veg_nat",
   "capoeira" : "Veg_nat",
   "represa": "agua",
   "cultivo": "agricola",
   "capoeira+cult" : "agricola",
   "pasto": "pastoril",
   "pasto+pastosucio": "pastoril",
   "pasto+cult": "pastoril",
   "pasto": "pastoril",
   "pastosucio" : "pastoril",
   "eucalipto" : "silvicola",
   "escuela" : "urbano",
   "terraza" : "terraza",
   "erosion" : "erosion");
 
recl = Reclasifique (uso, juntar); 
}

 

EJEMPLO 5

 
/// Ejemplo de conversión de Imagen-ND para Imagen-Reflectancia aparente por la
// ecuación general propuesta por Markham & Baker (1987):
{
Imagen IV255, ima3, ima4, tm3, tm4,IV2("Imagen_TM");
Numerico re3("Numerico"), re4("Numerico"), IVNAl ("Numerico") ;
 
tm3 = Recupere (Nombre="tm3_030895");
tm4 = Recupere (Nombre="tm4_030895");
 
re3=Nuevo(Nombre="tm3_refl",ResX=30,ResY=30,Escala=100000,Min=0,Max=50);
re4=Nuevo(Nombre="tm4_refl",ResX=30,ResY=30,Escala=100000,Min=0,Max=50);
 
IVNAl=Nuevo(Nombre="IV_Refalg",ResX=30,ResY=30,Escala=100000,Min=0,Max=50);
IV2 = Nuevo (Nombre = "IVDN_RefAlg", ResX = 30, ResY = 30);
IV255 = Nuevo (Nombre = "IV255", ResX = 30, ResY = 30);
 
ima3 = Nuevo (Nombre = "ima3reflect", ResX = 30, ResY = 30);
ima4 = Nuevo (Nombre = "ima4reflect", ResX = 30, ResY = 30);
 
c1 = 1.0119;
c2 = 0.607735;
 
re3=Digital((PI*(C1^2)/155.7*C2)*((tm3/255)*(20.43-(-0.12))+(-0.12)));
re4=Digital((PI*(C1^2)/104.7*C2)*((tm4/255)*(20.62-(-0.15))+(-0.15)));
 
ima3= Imagen (re3 * 255);
ima4= Imagen (re4 * 255);
 
IVNAl = (re4-re3)/(re4+re3);
IV2= Imagen ((re4-re3)/(re4+re3));
IV255 = Imagen (255*((re4-re3)/(re4+re3)));
}

 

EJEMPLO 6

 
// Ejemplo de índice de vegetación a partir de TM
{
Image tm3, tm4, viimg("Imagen_TM");
Digital ndvi("Numerico");
Thematic veget("Vegetation");
 
tm3 = Retrieve (Name = "tm3_86");
tm4 = Retrieve (Name = "tm4_86");
 
viimg = New (Name = "Vegetation", ResX = 120, ResY = 120);
viimg = 40*((tm4-tm3)/(tm4+tm3))+64;
 
Tabla slice(Slicing);
slice = New(CategoryOut = "Vegetation",
     [0.0,0.2] : "Non_forest",
     [0.2,0.5] : "Transition",
     [0.5,1.0] : "Forest");
veget = New(Name="SoilCoverage",ResX=120,ResY=120,Scale=250000);
veget = Slice(Digital((tm4-tm3)/(tm4+tm3)), slice);
}

 

Seta_up.gif - 170 BytesTópicos de esta Clase


Sumario - Aula 9

Consulte también:
Más sobre LEGAL en el SPRING
Modelo Conceptual del SPRING