Volumetria
Warning
Esta biblioteca está em desenvolvimento, nenhuma das soluções apresentadas está disponível para download.
Processa dados de inventário florestal. Ajusta equações volumétricas e funções de afilamento para uso posterior.
Parâmetros da Classe
Volumetry(df, tree_identifier, tree_height, tree_dbh, tree_bark,
segment_height, segment_diameter, tree_bark)
Parâmetros | Descrição |
---|---|
df | O dataframe contendo os dados de cubagem. |
tree_identifier | Nome da coluna que contém os identificadores únicos das árvores. |
tree_height | Nome da coluna que contém as alturas totais das árvores (metros). |
tree_dbh | Nome da coluna contendo os valores do diâmetro à altura do peito (DAP) das árvores (centímetros). |
tree_bark | (Opcional) Nome da coluna contendo os valores da espessura da casca das árvores (centímetros). Se tree_bark == None , retorna apenas volumes com casca no método get_volumes() . |
segment_height | (Opcional) Nome da coluna contendo as alturas dos segmentos cubados das árvores (metros). Obrigatório para o método fit_taper_functions() . |
segment_diameter | (Opcional) Nome da coluna contendo os diâmetros dos segmentos cubados das árvores (centímetros). Obrigatório para o método fit_taper_functions() . |
tree_bark | (Opcional) Nome da coluna contendo a casca das árvores (centímetros). |
Funções da Classe
Volumetry.get_volumes()
Volumetry.fit_taper_functions(models, iterator, save_dir = None)#(1)!
Volumetry.fit_volumetric_functions(models, iterator, vol_column,
save_dir = None)#(2)!
Volumetry.get_individual_diameter(hi, tree_height, tree_dbh)#(3)!
Volumetry.get_individual_taper_volume(tree_height, tree_dbh, stump=0.1)#(4)!
Volumetry.get_individual_volume(tree_height, tree_dbh)#(5)!
-
models = (Opcional) Lista de modelos a serem ajustados! Se
models == None
, utiliza todos os modelos disponíveis.
iterator = (Opcional) Nome de uma coluna a ser usada como iterador. Pode ser o nome da fazenda, nome da parcela, código ou qualquer identificador único.
save_dir = (Opcional) Diretório para salvar os parâmetros da função ajustada e o modelo ANN. -
models = (Opcional) Lista de modelos a serem ajustados! Se
models == None
, utiliza todos os modelos disponíveis.
iterator = (Opcional) Nome de uma coluna a ser usada como iterador. Pode ser o nome da fazenda, nome da parcela, código ou qualquer identificador único.
vol_column = (Opcional) Nome da coluna com os valores de volume. Sevol_column == None
, utiliza os volumes obtidos pelo métodoget_volumes()
para ajustar as funções volumétricas.
save_dir = (Opcional) Diretório para salvar os parâmetros da função ajustada e o modelo ANN. -
hi = Fração da altura da árvore para a qual se deseja obter o diâmetro (metros).
tree_height = Altura total da árvore (metros).
tree_dbh = Diâmetro à altura do peito (DAP) da árvore (centímetros). -
tree_height = Altura total da árvore (metros).
tree_dbh = Diâmetro à altura do peito (DAP) da árvore (centímetros).
stump = Altura do toco (metros). Por padrão, usastump = 0.1
. -
tree_height = Altura total da árvore (metros).
tree_dbh = Diâmetro à altura do peito (DAP) da árvore (centímetros).
Parâmetros | Descrição |
---|---|
.get_volumes() | Retorna o volume de cada segmento cubado e o volume total de cada árvore, separado por tree_identifier . Se tree_bark == None , retorna apenas o volume com casca; caso contrário, retorna o volume com e sem casca. |
.fit_taper_functions() | Ajusta os modelos disponíveis de funções de afilamento. Salva um arquivo .json com os coeficientes para cada modelo ajustado e um arquivo .pkl para os modelos de ANN ajustados. |
.get_individual_diameter() | Retorna um dataframe pandas com o diâmetro em uma altura hi da árvore para cada modelo de afilamento ajustado. |
.get_individual_taper_volume() | Retorna um DataFrame pandas com o volume estimado para a altura e diâmetro à altura do peito fornecidos para cada função de afilamento ajustada. Utiliza a integração das funções de afilamento para obter o resultado. |
.get_individual_volume() | Retorna um DataFrame pandas com o volume estimado para a altura e diâmetro à altura do peito fornecidos para cada função volumétrica ajustada. |
Exemplo de Uso
taper_functions_example.py | |
---|---|
- Importa a classe
Volumetry
. - Importa o
pandas
para manipulação de dados.
- Carregue seu arquivo csv.
- Crie a variável
vol
contendo a classeVolumetry
. - Calcule os volumes para cada árvore e segmento e salve os resultados na variável
calculated_volumes_df
. - Ajuste as funções de afilamento e salve as métricas de desempenho na variável
metrics
. Isso criará um arquivo.json
com os coeficientes dos modelos e arquivos.pkl
para os modelos ajustados de RNA. - Obtenha o diâmetro a 1,3 metros de uma árvore com altura total de 25 metros e diâmetro à altura do peito (DAP) de 30 centímetros.
- Obtenha os volumes calculados pela integração das funções de afilamento para uma árvore com altura de 30 metros, diâmetro à altura do peito de 22,8 centímetros, considerando uma altura de toco de 0,15 metros.
- Obtenha os volumes calculados pelas funções volumétricas ajustadas para uma árvore com altura de 30 metros e diâmetro à altura do peito de 22,8 centímetros.
Available taper models
Notação
- \( β_n \): Parâmetros ajustados
- \( d_i \): Diâmetro (cm)
- \( \text{dap} \): Diâmetro à altura do peito (cm)
- \( H \): Altura total (m)
- \( h_i \): Altura do segmento (m)
Rede Neural Artificial
Ao selecionar o modelo 'RNA', 6 diferentes estruturas de redes neurais artificiais serão testadas. Apenas o resultado de 1 modelo será retornado. O modelo retornado será selecionado pela função de classificação.
Para o modelo 'RNA', utiliza-se o módulo sklearn.neural_network.MLPRegressor.
Modelos volumétricos disponíveis
Utilize os mesmos modelos de RNA usados para a função de afilamento.
Notação
- \( V \): Volume estimado (m³)
- \( \text{dap} \): Diâmetro à altura do peito (cm)
- \( H \): Altura total (m)
Função de Classificação
Para selecionar os modelos com melhor desempenho e classificá-los adequadamente, são obtidas as seguintes métricas:
Nome da métrica | Estrutura |
---|---|
Erro Médio Absoluto (MAE) | \( MAE = \frac{1}{n} \sum_{i=1}^{n} \|y_i - \hat{y}_i\| \) |
Erro Médio Percentual Absoluto (MAPE) | \( MAPE = \frac{100}{n} \sum_{i=1}^{n} \left\|\frac{y_i - \hat{y}_i}{y_i}\right\| \) |
Erro Médio Quadrático (MSE) | \( MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 \) |
Raiz do Erro Médio Quadrático (RMSE) | \( RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2} \) |
R Quadrado (Coeficiente de Determinação) | \( R^2 = 1 - \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i)^2}{\sum_{i=1}^{n} (y_i - \bar{y})^2} \) |
Variância Explicada (EV) | \( EV = 1 - \frac{Var(y - \hat{y})}{Var(y)} \) |
Erro Médio | \( Erro\ Médio = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i) \) |
Após obter as métricas para cada modelo testado, o melhor modelo recebe a pontuação 10, enquanto os demais recebem pontuações decrescentes (9, 8 e assim por diante).
Referências
BI, H. (2000). Trigonometric variable-form taper equations for Australian eucalypts. Forest Science, 46(3), 397–409.
JOHNSON, T. (1911). Taxatariska undersökringar om skogsträdens form. Skgsvardsföreningens tiedskrifle. Häfte, Berlim, 9(10), 285–329.
KOZAK, A. (2004). My last words on taper equations. The Forestry Chronicle, 80(4), 507–515.
MATTE, L. (1949). The taper of coniferous species with special reference to Loblolly Pine. Forestry Chronicle, Mattawa, 25(1), 21–31.
MEYER, H. A. (1940). A mathematical expression for height curves. Journal of Forestry, 38, 415–420. https://doi.org/10.1093/jof/38.5.415
NÄSLUND, M. (1936). Skogsförsöksanstaltens gallringsförsök i tallskog. Meddelanden från Statens Skogsförsöksanstalt, Swedish Institute of Experimental Forestry, 29: 169.
SCHÖEPFER, W. (1966). Automatisierung des Massen-, Sorten- und Wertberechnung stehender Waldbestände. Schriftenreihe Bad. Wurtt-Forstl.
SCHUMACHER, F. X.; HALL, F. S. (1933). Logarithmic expression of timber tree volume. Journal of Agricultural Research, Washington, 47(9), 719–734.
SCOLFORO, J. R. S. (2005). Biometria Florestal: Parte I: Modelos de regressão linear e não-linear; Parte II: Modelos para relação hipsométrica, volume, afilamento e preso de matéria seca. Lavras: UFLA/FAEPE, pp. 224–226.
SPURR, S. R. (1952). Forest inventory. New York: Ronald Press, 476 p.
STOATE, I. N. (1945). The use of a volume equation in pine stands. Australian Forestry, Canberra, 9, 48–52.