Operaciones en LEGAL:



Operación en LEGAL.


Operaciones Puntuales

Las operaciones puntuales generan como salida PIs cuyos valores están en función de los valores de los PIs de entrada, para cada correspondiente localización . Pueden ser realizadas sobre sólo un PI (por ejemplo, Delimitar Intervalo, "Fatiar" un modelo numérico de terreno, clasificar una imagen) o por intersecciones entre varios PIs (por ejemplo, operaciones booleanas entre mapas temáticos).

Se pueden considerar diferentes posibilidades de operaciones:



Operaciones en LEGAL


Operadores Unitarios (de Transformación)

Los operadores de transformación (o unitarios) realizan el mapeo de un PI de varias maneras, dependiendo del operador utilizado, en donde:

Como regla, estos operadores requieren que el usuario defina el mapeo entre el PI de entrada y el que desea en la salida. Para esto, el lenguaje permite definir tablas (vea como definirlas anteriormente) que describen los mapeos deseados, bajo la forma de un operador Tabla que puede ser de diferentes tipos (Ponderación, SliceTabla (Delimitación de Intervalos, "Fatiamento"), Reclasificación).

Algunos ejemplos de operadores de transformación:


Operaciones en LEGAL


Ponderación


Operaciones en LEGAL


Delimitación de Intervalos ("Fatiamento")


Operaciones en LEGAL


Reclasificación


Operaciones en LEGAL


Operadores Booleanos

Como ya fue mencionado, las expresiones booleanas utilizan operadores de análisis espacial cualitativo y generan un PI temático a partir de reglas aplicadas a PIs de entrada (del tipo TEMÁTICO, NUMÉRICO o IMAGEN).

El ejemplo a continuación muestra una atribución de expresión temática, envolviendo el operador "Atribuya". Las clases "inadecuado" y "adecuado" deben estar asociadas a la categoría "UsoSuelo". El plano resultante, "temas", deberá tener sus regiones adecuadas e inadecuadas determinadas por expresiones booleanas. Cada expresión booleana, se compone de expresiones de clase que envuelven los planos "PI1" y "PI2".

EJEMPLO:

Como ejemplo real de una operación booleana, suponga el caso de querer determinar un mapa de aptitud agrícola a partir de los mapas de suelo, declividad, precipitación y del conjunto hipotético de reglas expresadas en la tabla que sigue.

REGLAS PARA APTITUD AGRÍCOLA
Aptitud Agrícola Suelos Declividad
Buena Latosol Rojo 0-3%
Media Latosol Rojo-pardo 3-8%
Inapta Arena Cuarzosa >8%

En LEGAL es necesario especificar un conjunto de condiciones que deben ser satisfechas para cada clase de salida. A través del operador Atribuya, conforme el ejemplo que sigue, en donde un mapa de Aptitud Agrícola es calculado basado en la topografía y el tipo de suelo, se tiene que;


El programa anterior opera con los siguientes pasos:
  1. Inicialmente los PIs de entrada y salida son definidos (en las dos primeras líneas del programa).
  2. Posteriormente el mapa de declividad y el mapa de suelos son recuperados a través de la función Recupere. El PI de salida (aptitud) es creado a través del operador Nuevo. El nuevo PI será creado como temático con resolución de 50 x 50 metros, en escala 1:50.000.
  3. La operación booleana es realizada a través de la función Atribuya.

Operaciones en LEGAL


Operadores Matemáticos

Las operaciones matemáticas actúan solamente sobre PIs de la categoría NUMÉRICO e IMAGEN, incluyendo:

Como ejemplo de operación matemática, considere la figura a continuación, se tiene que el PI de la izquierda es un mapa de suelo ponderado y el PI de la derecha es un mapa de declividad. Considere que se desea computar un indicador de adecuación de suelos, como la suma del valor atribuido al suelo con la inversa de la declividad. La operación que sigue podría ser utilizada como paso intermediario al calcular un mapa de adecuación de suelos (cuanto mayor es el valor, más adecuado).



El programa en LEGAL para relizar la operación anterior es mostrado a continuación.

Otros ejemplos de operaciones matemáticas son:

Operaciones en LEGAL


Operador Condicional

Como fue mencionado anteriormente, una expresión condicional es una prueba realizada por los operadores "?" (si la acción es afirmativa) y ":" (si la acción es negativa).

Ejemplo:



En la atribución anterior, el plano asociado a la variable del modelo imagen "tmcomb" será determinado por las regiones del plano de información asociado a la variable temática "ta" cuya clase sea "tema13" , o sea:


Como la condición acepta solamente PIs matriciales, es necesario transformar la imagen "tm" a formato matricial a través de la transformación vector-matricial, resultando en una imagen temática - "Digital (tm)". Para que la expresión final sea del modelo imagen es preciso transformar el resultado de la expresión_condicional para ese modelo, a través del enmascaramiento para imagen de una expresión digital - "Image (expresion_digital)".


El programa anterior recorta (enmascara) de la imagen de satélite "tm5" solamente las regiones en donde existe la clase "Hacienda-ganado" del PI "Haciendas".


Operaciones en LEGAL


 

Operaciones de Vecindad

En Legal es posible realizar muchas operaciones en base al acceso, y envolviendo operaciones de las posiciones de vecindad en cada posición de una representación matricial que se desea caracterizar. Son referenciadas por un par de coordenadas relativas, que indica valores de desplazamiento em términos de número de lineas y columnas. Por ejemplo:

variable  [i, j]

Los índices i y j se refieren al desplazamiento relativo a cada posición en una representación matricial, en términos de número de lineas y columnas. Pueden ser  aplicados a cualquier variable asociada a planos matriciales implicados en una expresión puntual genérica.

En el ejemplo inferior una retícula numérica es generada, y a cada posición es asignado el valor 1, siempre que alguna, entre las posiciones vecinaas (encima, abajo, a la izquierda o a la derecha), en una retícula numérica de Altitudes, fuera de mayor valor.

Ejemplo:

{
     Numerico descen, altitude ("Altimetria");
    altitude = Recupere (Nome = "Altitudes");
    descen = Novo (Nome="Descendentes", ResX=25, ResY=25, Escala=100000, Min=0, Max=255) ;
    descen = altitude < altitude[1,1] || altitude < altitude[1,0] || altitude < altitude[1,-1] || altitude < altitude[0,1] ? 1 : 0 ;
}

La posición de referencia a cada paso de la generación del resultado, corresponde a la posición de índices "[0,0]", que es normalmente expresada sin índices, como puede ser observado en el ejemplo encima (donde la variable "altitud"  aparece sin índices).

a Volver al Início


Operaciones Zonales

Atributos de dados del modelo Objeto pueden ser contenidos en expresiones de lenguaje, gracias al mecanismo adoptado para representar su distribución, basado en el concepto de mapa cadastral. Mapas cadastrales ofrecen soporte a la representación de objetos en diferentes escalas, y son categorizados en el ambiente Spring a través del modelo Cadastral. Los elementos de un mapa son dados sobre la forma de polígonos, lineas y puntos que pueden estar asociados a objetos de interés, de una forma semejante a la que define un plano de información cualquier.

La principal finalidad asociada a las expresiones incluyendo objetos cadastrales, está relacionada a su uso junto a la clase de operadores Zonales, el operador Espacialize, el operador Atualize y el FatieAtributo, que actuan sobre atributos de Objetos.

El operador FatieAtributo mapea, a través de una tabla de Fragmentamiento, los valores asociados a algún atributo numérico de  Objetos asociados a un mapa de categoría Cadastral y cuya  representación en Spring es siempre vectorial. El operador Espacialize permite la generación de mapas temáticos o de retículas numéricas a partir de atributos numéricos o textuales de objetos cadastrales.

Los operadores Zonales efectuan resúmenes de valores  resultantes de evaluación de expresiones temáticas, numéricas, imágenes y booleanas.incluyendo uno o más planos de información, sobre regiones delimitadas por zonas dadas por expresiones booleanas o por mapas cadastrales. Tales resúmenes corresponden a estatísticas simples, tales como: Mayoría, Maximo, Media, Variedad etc. El operador Atualize mapea los valores resultantes de operadores zonales, en atributos de objetos cadastrales, permitiendo la extracción de resultados sobre la forma de atributos en tablas de bancos de datos.

En el ejemplo inferior, el atributo "DECLIVE" del objeto "Quadras" es actualizado a partir de valores médios obtenidos a través de valores de declividad insertados por la retícula numérica "Declividade", sobre las zonas definidas por los polígonos de un mapa cadastral, asociadas a las instancias de objeto.

Ejemplos:

{
    Objeto zonas ("Quadras");
    Cadastral cad ("Cad_Urbano");
    Numerico decliv ("Altimetria");
    cad = Recupere (Nome = "Mapa_quadras");
    decliv = Recupere (Nome = "Declividade");
    zonas. "DECLIVE" = MediaZonal (decliv, zonas OnMap cad );
}

El mismo efecto del programa superior puede ser obtenido a través del operador Actualiza combinado con el de MediaZonal

{
...
    zonas. "DECLIVE" = Atualize (decliv, zonas OnMap cad, MediaZonal);
}

a Volver al Início


Operaciones en LEGAL


Consulte sobre Operadores en LEGAL: