Los tópicos tratados aquí son mostrados a continuación:
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.
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.
Þ Creando categoría catastral y Objeto:
- # Iniciar - Programas - Spring - Spring( ) #spring
(
)
SPRING
* Activar banco de datos Curso
* Activar proyecto Brasilia
- [Archivo] [Esquema Conceptual...] o botón
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
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)
Þ 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
* 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
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.
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( ) #spring
(
)
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
Þ 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. |
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.
Son necesarios realizar los siguientes procedimientos para un mapa de distancia:
Þ Ejecutando un Mapa de Distancia:
- # Iniciar - Programas - Spring - Spring( ) #spring
(
)
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
Þ Ejecutando un Cálculo de Área:
- # Iniciar - Programas - Spring - Spring( ) #spring
(
)
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
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( ) #spring
(
)
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( ) #spring
(
)
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)
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( ) #spring
(
)
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.
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).
Declaración
Ejemplos:
Imagen banda3, banda4, ivdn ("LANDSAT");
Tematico suelo("Tipo_Solo"), geo("geologia");
Numerico alti1 ("ALTIMERIA");
Ejemplo:
Tabla tab_del (SliceTabla);
Ejemplo:
Atributo valores ("LOTES","IPTU");
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.
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);
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.
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
Ejemplo de expresiones imagen:
ima1 = Imagen(reticula1);
ima3 = ima2 + 20;
res_ima1 = abs(sen(ima1)- 255);
Expresión Numérica
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
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
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).
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")
};
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( ) #spring (
)
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);
}
Consulte
también:
Más sobre LEGAL en el SPRING
Modelo Conceptual del SPRING