Presentamos a continuación algunos ejemplos de programas en el LEGAL.
EJEMPLO 1
// Ejemplo de cruzamiento entre 2 planos temáticos
{
//Definiendo las variables y sus categorías
Temático suelos("Suelos"), pend("Pendiente"), apti("Aptitud");
//Recuperando planos
pend=Recupere (Nombre = "pend");
suelos=Recupere (Nome = "suelos");
//Creando un nuevo plano
apti=Nuevo(Nombre="aptidao", ResX=200, ResY=200, Escala=100000);
//Definiendo las relaciones entre clases
apti = Atribua (CategoriaFim = "Aptidao")
{
"buena": (suelo.Classe == "Cd1" && pend.Clase == "0-3"),
"media": (suelo.Classe == "Cd1" && pend.Clase == "3-8"),
"baja": (suelo.Classe == "Cd1" && pend.Clase == "8-20")
};
}
EJEMPLO 2
// Ejemplo de clasificación utilizando datos de EMBRAPA-SOLOS
{
Numérico grd ("Decliv_numerico");
Temático fat ("declividade");
Tabela fati (Fatiamento);
grd = Recupere(Nome="decliv-30x30");
fat = Novo(Nome= "decli_fat_30x30", ResX=30, ResY=30, Escala=100000);
fati=Nuevo(CategoriaIni="Decliv_numerico",CategoriaFim = declividade",
[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");
fat = Fatie(grd,fati);
}
EJEMPLO 3
// Ejemplo de Ponderación utilizando los datos de EMBRAPA-SOLOS
{
Temático solo("solos");
Numérico solero ("Erodibilidade");
Imagen solima ("Imagen");
Tabla pond (Ponderación) ;
solo = Retrieve (Nome = "solos");
solero=Novo(Nome="soloPond",ResX=30,ResY=30,Escala=100000,Min=0,Max=100);
solima = Novo (Nome ="soloPond", ResX=30, ResY=30);
pond = Novo (CategoriaIni = "solos", CategoriaFim = "Erodibilidade",
"LV1" : 0,
"AR" : 50,
"LV2" : 100,
"PV1" : 150);
solero = Pondere (solo,pond );
solima = Imagem (solero);
}
EJEMPLO 4
{
Tematico uso, recl ("usoactual");
Tabla juntar (Reclasificacion);
uso = Recupere (Nombre="usoatual");
recl = Nuevo (Nombre= "recla_alg", ResX=30, ResY=30, Escala = 100000);
juntar = Nuevo (CategoriaIni = "usoatual", CategoriaFim = "usoatual",
"mata": "Veg_nat",
"cap+mato": "Veg_nat",
"capoeira" : "Veg_nat",
"acude": "agua",
"cultura": "agricola",
"capoeira+cult" : "agricola",
"pasto": "pastoril",
"pasto+pastosujo": "pastoril",
"pasto+cult": "pastoril",
"pasto": "pastoril",
"pastosujo" : "pastoril",
"eucalipto" : "silvicola",
"escola" : "urbano",
"terraco" : "terraco",
"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");
Numérico re3("Numérico"), re4("Numérico"), IVNAl ("Numérico") ;
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 = Novo (Nombre = "IV255", ResX = 30, ResY = 30);
ima3 = Novo (Nombre = "ima3reflect", ResX = 30, ResY = 30);
ima4 = Novo (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("Numérico");
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;
Tabela 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);
}
Vea
como ejecutar un programa en LEGAL