Planejamento de cubagem
Utilize dados de inventário florestal para planejar as árvores a serem amostradas para medição de volume, garantindo uma amostragem suficiente da plantação.
Parâmetros da Classe
TreeVolumePlanning(df, tree_dbh, tree_height)
| Parâmetros | Descrição | 
|---|---|
| df | O DataFrame contendo os dados das árvores. | 
| tree_dbh | Nome da coluna que contém os valores do diâmetro à altura do peito (DAP) das árvores (centímetros). | 
| tree_height | Nome da coluna que contém as alturas totais das árvores (metros). | 
Métodos da Classe
  TreeVolumePlanning.resume(n_classes=None, dbh_classes=None, height_classes=None,
                        only_height_classes=False, only_dbh_classes=False)#(1)!
  TreeVolumePlanning.p_resume(n_classes=None, dbh_classes=None, height_classes=None,
                          only_height_classes=False, only_dbh_classes=False)#(2)!
  TreeVolumePlanning.get_values(n_measured_trees=10, n_classes=None, dbh_classes=None, height_classes=None,
                            only_height_classes=False, only_dbh_classes=False)#(3)!
- 
n_classes = Número de classes às quais os valores de altura e diâmetro à altura do peito serão submetidos.
dbh_classes = (Opcional) Número de classes de DAP às quais os valores de diâmetro à altura do peito serão submetidos. SeNone, usa o valor den_classes.
height_classes = (Opcional) Número de classes de altura às quais os valores de altura serão submetidos. SeNone, usa o valor den_classes.
only_height_classes = (Opcional) SeTrue, apenas as classes de altura serão usadas para o resumo.
only_dbh_classes = (Opcional) SeTrue, apenas as classes de DAP serão usadas para o resumo. - 
n_classes = Número de classes às quais os valores de altura e diâmetro à altura do peito serão submetidos.
dbh_classes = (Opcional) Número de classes de DAP às quais os valores de diâmetro à altura do peito serão submetidos. SeNone, usa o valor den_classes.
height_classes = (Opcional) Número de classes de altura às quais os valores de altura serão submetidos. SeNone, usa o valor den_classes.
only_height_classes = (Opcional) SeTrue, apenas as classes de altura serão usadas para o resumo.
only_dbh_classes = (Opcional) SeTrue, apenas as classes de DAP serão usadas para o resumo. - 
n_measured_trees = Número de árvores que serão selecionadas para cubagem. O padrão é 10.
n_classes = Número de classes às quais os valores de altura e diâmetro à altura do peito serão submetidos.
dbh_classes = (Opcional) Número de classes de DAP às quais os valores de diâmetro à altura do peito serão submetidos. SeNone, usa o valor den_classes.
height_classes = (Opcional) Número de classes de altura às quais os valores de altura serão submetidos. SeNone, usa o valor den_classes.
only_height_classes = (Opcional) SeTrue, apenas as classes de altura serão usadas para o resumo.
only_dbh_classes = (Opcional) SeTrue, apenas as classes de DAP serão usadas para o resumo. 
| Métodos | Descrição | 
|---|---|
| .resume() | Retorna um resumo de quantas árvores do dataframe fornecido estão em cada classe. | 
| .p_resume() | Retorna um resumo da porcentagem de árvores do dataframe fornecido em cada classe. | 
| .get_values() | Retorna um dataframe indicando quantas árvores devem ser amostradas para medição de volume em cada classe, com base na representação percentual de cada classe no inventário total. | 
Exemplo de Uso
Considerando os dados resultantes da relação hipsométrica realizado no módulo anterior, iremos realizar o planejamento da cubagem das árvores.
Primeiras 5 linhas do arquivo:
| Parcela | Dap (cm) | H (m) | Idade (anos) | best_predicted_height | selected_model | 
|---|---|---|---|---|---|
| p-1 | 22,28 | 0 | 15 | 21,91910582 | y = y ~ x = 1/x^2 | 
| p-1 | 23,87 | 22,2 | 15 | 22,2 | Real Height | 
| p-1 | 25,46 | 0 | 15 | 23,30513332 | y = y ~ x = 1/x^2 | 
| p-1 | 25,78 | 24,5 | 15 | 24,5 | Real Height | 
| p-1 | 26,74 | 22,2 | 15 | 22,2 | Real Height | 
| taper_functions_example.py | |
|---|---|
- Importa a classe 
TreeVolumePlanning. - Importa o 
pandaspara manipulação de dados. 
| taper_functions_example.py | |
|---|---|
- Carrega seu arquivo 
.xlsx. - Cria a variável 
cubcontendo a classeTreeVolumePlanning, utilizando a colunaDap (cm)para os valores de DAP e a colunabest_predicted_heightpara os valores de altura. - Retorna um resumo de quantas árvores do dataframe fornecido estão em cada classe (6 classes) e salva na variável 
resume. - Retorna um resumo da porcentagem de árvores do dataframe fornecido em cada classe (6 classes) e salva na variável 
percentual_resume. - Retorna um dataframe indicando quantas árvores devem ser amostradas para medição de volume em cada classe, distribuindo as 50 árvores (
n_measured_trees) com base na representação percentual de cada classe no inventário total, e salva na variávelto_measure. 
Saídas
Tabelas
resume(1)
- DataFrame contendo quantas árvores estão em cada uma das 6 classes de altura e dap geradas.
 
| DBH classes | H(21.904, 24.516] | H(24.516, 27.113] | H(27.113, 29.71] | H(29.71, 32.306] | H(32.306, 34.903] | H(34.903, 37.5] | 
|---|---|---|---|---|---|---|
| (22.251, 27.108] | 9 | 2 | 0 | 3 | 2 | 0 | 
| (27.108, 31.937] | 3 | 13 | 4 | 4 | 1 | 0 | 
| (31.937, 36.765] | 0 | 14 | 8 | 13 | 2 | 0 | 
| (36.765, 41.593] | 0 | 5 | 9 | 21 | 1 | 0 | 
| (41.593, 46.422] | 0 | 2 | 2 | 6 | 3 | 1 | 
| (46.422, 51.25] | 0 | 0 | 3 | 0 | 2 | 2 | 
percentual_resume(1)
- DataFrame contendo quantas árvores estão em cada uma das 6 classes de altura e dap geradas em valores percentuais em relação ao total de árvores.
 
| DBH classes | H(21.904, 24.516] | H(24.516, 27.113] | H(27.113, 29.71] | H(29.71, 32.306] | H(32.306, 34.903] | H(34.903, 37.5] | 
|---|---|---|---|---|---|---|
| (22.251, 27.108] | 6,67 | 1,48 | 0,00 | 2,22 | 1,48 | 0,00 | 
| (27.108, 31.937] | 2,22 | 9,63 | 2,96 | 2,96 | 0,74 | 0,00 | 
| (31.937, 36.765] | 0,00 | 10,37 | 5,93 | 9,63 | 1,48 | 0,00 | 
| (36.765, 41.593] | 0,00 | 3,70 | 6,67 | 15,56 | 0,74 | 0,00 | 
| (41.593, 46.422] | 0,00 | 1,48 | 1,48 | 4,44 | 2,22 | 0,74 | 
| (46.422, 51.25] | 0,00 | 0,00 | 2,22 | 0,00 | 1,48 | 1,48 | 
to_measure(1)
- DataFrame contendo quantas árvores (das 50 específicadas em 
n_measured_trees) devem ser medidas em cada das 6 classes de altura e dap. 
| DBH classes | H(21.904, 24.516] | H(24.516, 27.113] | H(27.113, 29.71] | H(29.71, 32.306] | H(32.306, 34.903] | H(34.903, 37.5] | 
|---|---|---|---|---|---|---|
| (22.251, 27.108] | 3 | 1 | 0 | 1 | 1 | 0 | 
| (27.108, 31.937] | 1 | 5 | 2 | 1 | 0 | 0 | 
| (31.937, 36.765] | 0 | 5 | 3 | 5 | 1 | 0 | 
| (36.765, 41.593] | 0 | 2 | 3 | 8 | 0 | 0 | 
| (41.593, 46.422] | 0 | 1 | 1 | 2 | 1 | 0 | 
| (46.422, 51.25] | 0 | 0 | 1 | 0 | 1 | 1 | 
Desse modo o usuário obtém quantas árvores devem ser cubadas em cada classe de dap e altura.
Sobre os intervalos de classe
Os intervalos usam a seguinte notação:
- ( indica que o valor não está incluído
- ] indica que o valor está incluído  
Por exemplo, o intervalo (22.251, 27.108] inclui valores maiores que 22.251 e menores ou iguais a 27.108.
Não é obrigatório criar classes para altura e dap ao mesmo tempo, é possível criar somente classes de altura ou somente classes de dap conforme exemplo abaixo:
to_measure = cub.get_values(n_measured_trees=50, dbh_classes=6,
                            only_dbh_classes=True)#(1)!
- Define que serão medidas 50 árvores, separadas em 6 classes de dap somente.
 
| DBH classes | n_trees | 
|---|---|
| (22.25, 27.108] | 6 | 
| (31.937, 36.765] | 14 | 
| (46.422, 51.25] | 3 | 
| (36.765, 41.593] | 13 | 
| (27.108, 31.937] | 9 | 
| (41.593, 46.422] | 5 | 
Também é possível criar números diferentes de classes para altura ou para dap, conforme exemplo abaixo:
to_measure = cub.get_values(n_measured_trees=50, dbh_classes=6,
                            height_classes=2)#(1)!
- Define que serão medidas 50 árvores, separadas em 6 classes de dap e 2 classes de altura.
 
| DBH classes | H(21.904, 29.71] | H(29.71, 37.5] | 
|---|---|---|
| (22.251, 27.108] | 4 | 2 | 
| (27.108, 31.937] | 7 | 2 | 
| (31.937, 36.765] | 8 | 6 | 
| (36.765, 41.593] | 5 | 8 | 
| (41.593, 46.422] | 2 | 4 | 
| (46.422, 51.25] | 1 | 1 |