Menu

Home

Fernando Pérez Rodríguez

Welcome to your wiki!

This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].

The wiki uses Markdown syntax.

Project Members:


Discussion

  • Fernando Pérez Rodríguez

    ApkFor 1.0

    Manual de usuario

    Autores:

    FERNANDO PÉREZ RODRÍGUEZ
    MARÍA MENÉNDEZ MIGUÉLEZ

    Resumen

    La evolución en el desarrollo de aplicaciones informáticas para el uso en gestión forestal se hace patente en la actualidad con numerosos ejemplos. Dichos ejemplos se pueden dividir en dos grandes grupos: los desarrollos de escritorio y los desarrollos en la nube. Sin embargo, pese a los avances informáticos, todavía sigue existiendo una limitación a la hora de establecer una conexión a un aplicativo OnCloud desde un dispositivo móvil en la propia parcela forestal. En este trabajo se presenta un aplicativo y el código abierto en Java para compilar una APK de Android que permita utilizar modelos dinámicos de árbol individual de manera sencilla y rápida en campo. Además, permite almacenar n mediciones gracias a una base de datos SQLite integrada, que posteriormente facilita la estimación del volumen de una parcela con superficie determinada por el usuario. En la primera versión se integra el modelo de Pinus pinaster Ait. para el Nordeste de Portugal. Sin embargo, el objetivo de este aplicativo a código abierto es que pueda ser re-utilizado para implementar otros modelos y así ser transferidos directamente al usuario final.

    Introducción

    La gestión forestal sostenible es y ha sido clave en las últimas décadas en el campo de la investigación. En este sentido, la estimación del stock de crecimiento, tanto en términos de volumen como de biomasa, es un aspecto esencial en la gestión forestal (MENÉNDEZ-MIGUÉLEZ et al, 2016). Para ello es necesario el estudio biométrico de los árboles y el desarrollo de herramientas como modelos de crecimiento en altura, ecuaciones de biomasa o volumen, etc., que permitan la simplificación del complejo ecosistema que compone una masa forestal (BURKHART & TOMÉ, 2012).

    A lo largo de los años, se han desarrollado numerosos modelos estáticos (BARRIO-ANTA et al., 2006; DIÉGUEZ-ARANDA et al 2006; MENÉNDEZ-MIGUÉLEZ et al, 2014) y dinámicos (CASTEDO-DORADO et al, 2007; CRECENTE-CAMPO, 2008) para diferentes especies forestales que permiten conocer el estado de las masas y predecir su evolución futura. Algunos de dichos modelos presentan validaciones con muestras independientes que corroboran su fiabilidad y capacidad de predicción, mientras que otros todavía carecen de dicho aspecto.

    El desarrollo de modelos forestales proporciona una valiosa información, tanto al propietario como a los gestores. Permite tomar la decisión más acertada de acuerdo a las características que presenta la masa forestal, como por ejemplo en qué momento es más o menos adecuado hacer una clara, la intensidad de la misma o cuál es la edad de corta más correcta para obtener la máxima renta en especie.

    Pese a la importancia que tiene el desarrollo de dichos modelos forestales, en muchos casos no se realiza una adecuada transferencia de dicha información desde los grupos de investigación hasta los gestores, que son los que aplican de manera práctica todas esas ecuaciones generadas a partir de diversas metodologías estadísticas. Según LAROCQUE et al (2015) esta falta en el nexo de unión entre ambas partes puede deberse a que la gente dedicada a modelizar invierte todo su tiempo en la obtención del modelo y no tienen las capacidades de desarrollar herramientas que transfieran al usuario final dicho modelo.

    Con el fin de reducir esta distancia existente en muchos casos entre el modelizador y el gestor forestal, se ha planteado en este trabajo el desarrollo de un aplicativo que permita al gestor utilizar en campo los modelos desarrollados por los modelizadores.

    Objetivos

    Se establecen como objetivos la creación de un aplicativo genérico en Android, y código abierto para que cualquiera pueda replicar y aplicar sus modelos de manera sencilla sin perder mucho tiempo en el proceso de desarrollo.

    El aplicativo

    Son numerosos los modelos de gestión para plantaciones coetáneas y diferentes especies. De manera general, las variables de entrada utilizadas son: edad de la masa, altura dominante, número de pies por hectárea o área basal. Se utilizan mayoritariamente estas variables porque son las que caracterizan de manera más precisa la masa forestal. Por este motivo y basándonos en la generalización de los modelos más habituales, se ha desarrollado una librería en java que pueda albergar la mayoría simplemente con cambiar la ecuación en el código.

    Por otra parte, se ha desarrollado una arquitectura general en la cual se envían estas variables a los procedimientos en los que se utilizan las ecuaciones de los modelos. De esta manera, las ecuaciones pueden ser modificadas y adaptadas en tiempo de desarrollo de manera rápida y sencilla, como se muestra en el siguiente ejemplo de transición de altura dominante:

    public double Ht1_t2(double H0, double N, double G, double t1, double t2)
    {
    //Equation
    return 69 * Math.pow((H0 / 69), Math.pow((t1 / t2), 0.458203));
    }

    Como ejemplo de aplicación se han implementado los modelos de Pinus pinaster validados para la región de Tras-os-Montes (Portugal) (PÉREZ-RODRÍGUEZ et al, 2016) que se pueden ver en la Tabla 1.
    

    Tabla 1. Relación de modelos de crecimiento y producción utilizados en el desarrollo del aplicativo ApkFor®
    Ecuaciones de masa
    Transición altura dominante TOMÉ (2001)
    Transición Área Basal PÁSCOA F. (1987)
    Máxima densidad LUIS & FONSECA (2004)
    Biomasa aérea y Carbono DIÉGUEZ-ARANDA et al 2009
    Volumen con corteza LUIS & FONSECA (2004)
    Ecuaciones de árbol individual
    Relación d-dg FONSECA (2004)
    Relacion d-h ALMEIDA (1999)
    Volumen con corteza árbol individual NUNES et al (2010)

    Requisito y garantías de uso

    El desarrollo de ApkFor® es totalmente generalista, sin embargo busca proveer el código abierto de una aplicación de simulación de crecimiento y producción que en todo momento puede ser editada, adaptada y mejorada con el fin de poder cumplir el objetivo para el que fue desarrollado, que es el de transferir los modelos de gestión forestal desarrollados en investigación.

    ApkFor® tiene las siguientes condiciones de uso:
    • La aplicación se proporciona "tal cual" sin ningún tipo de garantía, expresa o implícita.
    • Los desarrolladores de ApkFor® se reservan el derecho de realizar cambios y de traducirlos a otros idiomas sin previo aviso
    • ApkFor® es un aplicativo Android para estimar el crecimiento y producción del Pinus pinaster en el Nordeste Transmontano (Portugal)
    • El aplicativo se ha desarrollado para Android 2.2.

    Consideraciones finales

    Las herramientas informáticas son un eficiente vehículo de transferencia de los modelos de gestión que se desarrollan en investigación y que utilizan los usuarios finales o gestores forestales. Actualmente los lenguajes de programación permiten desarrollar herramientas atractivas para el usuario, además de User-Friendly, lo que favorece su uso.

    El desarrollo de aplicaciones genéricas y Open Source favorece que los modelizadores puedan transferir sus modelos (dinámicos y estáticos) de manera simple, reutilizando y modificando el código.

    Las aplicaciones para dispositivos móviles han ganado importancia en los últimos años debido a su comodidad de uso, y difiere de los desarrollos en la nube en que no necesitan conexión a internet para ser utilizados, aspecto importante en términos forestales donde muchas veces se carece de cobertura 3G o 4G en el monte.

    Referencias bibliográficas

    ALMEIDA L.F.R.; 1999. Comparação de metodologias para estimação de altura e volume em povoamento s de pinheiro bravo no Vale do Tâmega, Relatório final de estágio. UTAD, Vila Real, 114 pp

    BARRIO-ANTA M.; BALBOA-MURIAS M.A.; CASTEDO-DORADO F.; DIÉGUEZ-ARANDA U.; ÁLVAREZ-GONZÁLEZ J.G.; 2006. An ecoregional model for estimating volume, biomass and carbon pools in maritime pine stands in Galicia (northwestern Spain). Forest Ecology and Management, 124:24-34.

    BURKHART H. E.; TOMÉ M.; 2012. Modeling forest trees and stands. Springer Science & Business Media.

    CASTEDO-DORADO F.; DIÉGUEZ-ARANDA U.; ÁLVAREZ-GONZÁLEZ J.G.; 2007. A growth model for Pinus radiata D. Don stands in north-western Spain. Annals of Forest Science, 64:453-465.

    CRECENTE-CAMPO F.; 2008. Modelo de crecimiento de árbol individual para Pinus radiata D. Don en Galicia. Tesis Doctoral. Universidad de Santiago de Compostela.

    DIÉGUEZ-ARANDA U.; GRANDA-ARIAS J.A.; ÁLVAREZ-GONZÁLES J.G.; GADOW, K.V.; 2006. Site quality curves for birch stands in North-Western Spain. Silva Fennica 40(4):631-644.

    DIÉGUEZ-ARANDA U.; ROJO-ALBORECA A.; CASTEDO-DORADO F.; ÁLVAREZ-GONZÁLEZ J.G.; BARRIO-ANTA M.; CRECENTE-CAMPO F.; GONZÁLEZ-GONZÁLEZ J.M.; PÉREZ-CRUZADO C.; RODRÍGUEZ-SOALLEIRO R.; LÓPEZ-SÁNCHEZ C.A.; BALBOA-MURIAS M.A.; GORGOSO-VARELA J.J.; SÁNCHEZ-RODRÍGUEZ F.; 2009. Herramientas selvícolas para la gestión forestal sostenible en Galicia. Consellería do Medio Rural, Xunta de Galicia. 268 pp + CD-Rom.

    LAROCQUE G.R.; BHATTI J.; ARSENAULT A.; 2015. Integrated modelling software platform development for effective use of ecosystem models. Ecol. Modell. 306, 318-325.

    LUIS J.F.S.; FONSECA T.; 2004. The allometric model in the stand density management of Pinus pinaster Ait. in Portugal. Annals of Forest Science, Springer Verlag 61 (8):807-814.

    MENÉNDEZ-MIGUÉLEZ M.; CANGA E.; ÁLVAREZ-ÁLVAREZ P.; MAJADA, J.; 2014. Stem taper function for sweet chestnut (Castanea sativa Mill.) coppice stands in northwest Spain. Annals of Forest Science, 71(7):761-770.

    MENÉNDEZ-MIGUÉLEZ M.; ÁLVAREZ-ÁLVAREZ P.; MAJADA J.; CANGA E.; 2016. Management tools for Castanea sativa coppice stands in northwestern Spain. Bosque. 37(1): 119-133.

    NUNES L.; TOMÉ J.; TOMÉ M.; 2010. A system for compatible prediction of total and merchantable volumes allowing for different definitions of tree volume. Canadian Journal of Forest Research. ISSN 1208-6037. 40:4, p. 747-760

    PÁSCOA F.; 1987. Estrutura, Crescimento e Produção em Povoamentos de Pinheiro Bravo. Um Modelo de Simulação. Tese de Doutoramento. ISA/UTL. Lisboa (241 pp.)

    PÉREZ-RODRÍGUEZ F.; NUNES L.; SIL Â.; Azevedo J.; 2016. FlorNExT ®, a cloud computing application to estimate growth and yield of maritime pine (Pinus pinaster Ait.) stands in Northeastern Portugal. Forest Systems 25(08).

    TOMÉ, M.; 2001. Tabela de produção geral para o pinheiro bravo desenvolvida no âmbito do projecto PAMAF 8165 “Regeneração, Condução e Crescimento do Pinhal Bravo das Regiões Litoral e Interior Centro”. Relatórios técnico-científicos do GIMREF RT9/2001. Centro de Estudos Florestais, Instituto Superior de Agronomia, Lisboa.

     
  • Fernando Pérez Rodríguez

    Modificación de las ecuaciones del modelo dinámico forestal.

    El modelo dinámico que utiliza el aplicativo ApkFor son una seria de ecuaciones que relacionan ciertas variables "difíciles de medir" con otras que son de "fácil medición". Estas ecuaciones se obtienen de diferentes inventarios realizados en años consecutivos o con cierta frecuencia. Así pues, estos modelos suelen estar restringidos al área o región en donde son realizados estos inventarios.

    La filosofía Open-Source del proyecto ApkFor, permite que otros desarrolladores puedan implementar otras ecuaciones, obteniendo un simulador de crecimiento y producción para una región o especie dada.

    Cambiar estas ecuaciones es relativamente sencillo, para ello se debe abrir el proyecto en Android Studio, y en la seccion Java>Procedures, abrir el código denominado "DynamicModelEquations".

    El código original que se muestra es el siguiente:

    public class DynamicModelEquations {
    /* Transition dominant height/
    public double getHt1t2(double H0, double N, double G, double t1, double t2) {
    //Equation
    return 69 * Math.pow((H0 / 69), Math.pow((t1 / t2), 0.458203));
    }

    /**Inicialization Basal Area*/
    public double getInicG(double H0, double N, double G, double t1, double t2) {
        double result_G = 0.000984 * Math.pow(H0, 2.103402) * Math.pow(N, 0.797707) * Math.exp(-8.702327 / t1);
        return result_G;
    }
    
    /**Transition Basal Area*/
    public double getGt1t2(double H0, double N, double G, double t1, double t2) {
        double X0 = ((1 - t1 / t2) * (4.178774 + 0.039053 * H0));
        double result_G = Math.pow(G, (t1 / t2)) * Math.exp(X0);
        return result_G;
    }
    
    /**Maximum density */
    public double getMaxN(double N, double G) {
        DynamicModelInfo infoM1 = new DynamicModelInfo();
        double dg = Math.sqrt((4 * G) / (Math.PI * infoM1.average_plantation_density)) * 100;
        double Result_N = Math.exp(13.123 - 1.897 * Math.log(dg));
        return Result_N;
    }
    
    /**Transition density*/
    public double getNt1t2(double H0, double N, double G, double t1, double t2) {
        return N;
    }
    
    /**Volume with bark*/
    public double getVCC(double H0, double N, double G) {
        double dg = Math.sqrt((4 * G) / (Math.PI * N)) * 100;
        double V = 0.063 * Math.pow(dg, 2.096) * Math.pow(H0, 0.668) * Math.pow(N / 1000, 0.978);
        return V;
    }
    
    /**Aerial Biomass*/
    public double W(double H0, double N, double G) {
        double dg = Math.sqrt((4 * G) / (Math.PI * N)) * 100;
        double w = 0.0003390 * Math.pow(dg, 1.284) * Math.pow(H0, 1.465) * Math.pow(N, 0.7277);
        return w;
    }
    
    /**Carbon constant*/
    public double C(double W) {
        return W * 0.479;
    }
    
    /**Site index reference*/
    public ModelSiteIndex H0tRef(double H0, double t1, double t2, double N, double G) {
        DynamicModelInfo info = new DynamicModelInfo();
        ModelSiteIndex SI = new ModelSiteIndex();
        if (t2 == 0) {
            t2 = info.AgeRefSiteIndex;
        }
        SI.H1 = getHt1t2(H0, N, G, t1, t2);
        double H2 = getHt1t2(H0, N, G, t1, info.AgeRefSiteIndex);
    
        if (H2 > info.VeryGood) {
            SI.Quality = "Q1";
        } else if (H2 > info.Good) {
            SI.Quality = "Q2";
        } else if (H2 > info.Moderate) {
            SI.Quality = "Q3";
        } else if (H2 > info.Low) {
            SI.Quality = "Q4";
        } else {
            SI.Quality = "Q5";
        }
    
        return SI;
    }
    

    }

    Modificando estas ecuaciones, y compilando nuevamente el proyecto, obtendremos una nueva aplicación para la especie y región del modelo dinámico nuevo.

     

Log in to post a comment.