Relatório Florestal
Warning
Esta biblioteca está em desenvolvimento, nenhuma das soluções apresentadas está disponível para download.
Gere um relatório florestal com base nas alturas e volumes estimados usando os outros módulos do ForestPyTools. Obtenha valores de volume e tipos de árvores por hectare em vários níveis específicos do povoamento florestal, juntamente com outras métricas. Obtenha o relatório nos formatos xlsx (Excel) ou json.
Parâmetros da Classe
ForestReport(df, plot_id, plot_size, tree_type, tree_dbh,
tree_height, group_levels=None, tree_vol_with_bark=None,
tree_vol_without_bark=None, iterator=None)
Parâmetros | Descrição |
---|---|
df | O dataframe contendo os dados processados do inventário florestal. |
plot_id | Nome da coluna que contém o identificador único para cada parcela. |
plot_size | Valor numérico indicando o tamanho da parcela em metros quadrados ou o nome da coluna que contém o tamanho de cada parcela em metros quadrados. |
tree_type | Nome da coluna que contém o id dos tipos de árvores presentes no inventário florestal. O id deve estar incluído em tree_types_df . |
tree_dbh | Nome da coluna que contém os valores do diâmetro à altura do peito (DAP). |
tree_height | Nome da coluna que contém os valores de altura das árvores. |
group_levels | (Opcional) Lista com os nomes dos níveis de agrupamento que o usuário deseja criar. Os grupos devem conter valores únicos. Um resumo será gerado para cada grupo. Exemplo de grupos: Fazenda, talhão, tipo de solo. |
tree_vol_with_bark | (Opcional) Nome da coluna que contém os valores do volume das árvores com casca. |
tree_vol_without_bark | (Opcional) Nome da coluna que contém os valores do volume das árvores sem casca. |
Métodos da Classe
ForestReport.update_tree_types(df)#(1)!
ForestReport.view_tree_types()
ForestReport.get_report(dir, format="xlsx")#(2)!
- df = DataFrame contendo os tipos de árvores presentes no inventário florestal. Se
None
, o DataFrame padrão da biblioteca será utilizado. - dir = Diretório onde o relatório será salvo.
format = Formato em que o relatório será salvo. Pode serxlsx
(Excel) oujson
.
Métodos | Descrição |
---|---|
.update_tree_types() | Atualiza o tree_types_df -> DataFrame que contém os IDs dos tipos de árvores, nomes e descrição. |
.view_tree_types() | Exibe o tree_types_df que a classe está utilizando no momento. |
.get_report() | Salva o relatório florestal no formato xlsx ou json no diretório especificado. |
Exemplo de tabela de tipos de árvores
id | name | description | commercial_volume | missing_stems |
---|---|---|---|---|
0 | normal | Árvore sem distorções ou defeitos significativos | 1 | 0 |
1 | morta | Árvore morta | 0 | 0 |
2 | bifurcada acima do DAP | Árvore bifurcada acima do DAP | 1 | 0 |
3 | bifurcada abaixo do DAP | Árvore bifurcada abaixo do DAP | 1 | 0 |
4 | queimada | Árvore queimada | 0 | 0 |
5 | Faltante | Falha na lniha de plantio | 0 | 1 |
*A ordem das colunas deve ser seguida.
Atenção
-
A coluna
commercial_volume
é uma flag binária que indica se o tipo de árvore representado peloid
deve ser considerado no cálculo de volume comercial. Um valor igual a1
significa que a árvore contribui para o volume útil;0
indica exclusão desse cálculo. -
A coluna
missing_stems
também é uma flag binária, utilizada para identificar ausência de árvores no local previsto de plantio. Diferentemente de árvores mortas, esses casos representam falhas no espaçamento, como resultado de mortalidade seguida de queda, desbaste ou ausência de plantio.
Descrição das Colunas
-
id
: Representa um identificador único para cada tipo de árvore na classificação. Ele é usado para diferenciar os registros e pode servir como chave de referência em outros conjuntos de dados. -
name
: Indica o nome da árvore com base em sua condição ou características específicas. Esse nome funciona como uma descrição curta para fácil identificação. -
description
: Fornece uma explicação detalhada sobre a condição da árvore, incluindo informações sobre sua estrutura, estado de saúde ou possíveis defeitos que podem afetar sua qualidade comercial. -
commercial_volume
: Define se o volume dessa árvore será considerado comercialmente utilizável. Um valor de1
indica que a árvore possui volume comercial e será utilizada, enquanto0
significa que seu volume não será aproveitado. -
missing_stems
: Utilizada para identificar ausência de árvores no local previsto de plantio. Diferentemente de árvores mortas, esses casos representam falhas no espaçamento, como resultado de mortalidade seguida de queda, desbaste ou ausência de plantio.
Exemplo de Uso
Para exemplificar como funciona o módulo de relatório florestal iremos utilizar os dados de inventário adaptados de Arce e Dobner Jr.(2024). O inventário foi realizado em 19 diferentes fazendas, com plantios da espécies Eucalyptus dunnii variando entre 8 e 9 anos de idade. No total, 1954 árvore foram mensuradas. O volume foi calculado usando um fator de forma de 0,45 e um fator de casca de 0,91.
Primeiras 5 linhas do arquivo:
ID parcela | area_parcela | Idade | ID_Regiao | ID Fazenda | ID talhao | Espécie | Coluna | Árvore | Fuste | Tipo arvore | dap (cm) | ht | ht_calculada (m) | Vol (m³) | Vol SC (m³) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
14-401-109002-1 | 300 | 8 | 14 | 14-401 | 14-401-109002 | Eucalyptus dunnii | 4 | 26 | 1 | 2 | 23,5 | 18,1 | 17,57 | 0,342933476 | 0,329216137 |
14-401-109002-1 | 300 | 8 | 14 | 14-401 | 14-401-109002 | Eucalyptus dunnii | 3 | 21 | 1 | 1 | 20,6 | 17,4 | 17,25 | 0,258717577 | 0,248368874 |
14-401-109002-1 | 300 | 8 | 14 | 14-401 | 14-401-109002 | Eucalyptus dunnii | 1 | 5 | 1 | 1 | 20,3 | 17,21 | 0,250654405 | 0,240628229 | |
14-401-109002-1 | 300 | 8 | 14 | 14-401 | 14-401-109002 | Eucalyptus dunnii | 2 | 12 | 1 | 1 | 20,3 | 17,6 | 17,21 | 0,250654405 | 0,240628229 |
14-401-109002-1 | 300 | 8 | 14 | 14-401 | 14-401-109002 | Eucalyptus dunnii | 2 | 15 | 1 | 1 | 20 | 17 | 17,17 | 0,242735156 | 0,23302575 |
A biblioteca traz por padrão um exemplo de DataFrame de tipos de árvore a ser utilizado.
Porém, cada engenheiro florestal ou empresa possui sua propria metodologia e códigos para cada tipo de árvore. Nesse caso, usamos a codificação de tipos de árvores definidos por Arce e Dobner Jr.(2024).
Abaixo podemos visualizar o DataFrame que iremos utilizar.
id | name | description | commercial_volume | missing_stems |
---|---|---|---|---|
1 | Normal | Árvore saudável, sem distorções significativas ou defeitos visíveis. | 1 | 0 |
2 | Dominante | Árvore que se destaca em altura e vigor em relação às vizinhas. | 1 | 0 |
3 | Seco | Árvore morta, sem folhas e sinais de atividade fisiológica. | 0 | 0 |
4 | Quebrado | Árvore com parte do tronco ou copa danificada ou rompida. | 0 | 0 |
5 | Rebrotado | Árvore originada de brotações após corte ou dano ao caule principal. | 1 | 0 |
6 | Falta | Ausência de árvore no local previsto da linha de plantio. | 0 | 1 |
7 | Bifurcado | Árvore com divisão do tronco principal em dois ou mais ramos principais. | 1 | 0 |
8 | Inclinado | Árvore com crescimento significativamente inclinado em relação à vertical. | 1 | 0 |
9 | Apice Seco | Árvore com a parte superior (ápice) seca ou morta. | 1 | 0 |
10 | Fuste Curvo | Árvore com o tronco curvado, sem alinhamento retilíneo. | 1 | 0 |
11 | Suprimido | Árvore suprimida pelo sombreamento ou competição com árvores vizinhas. | 1 | 0 |
forest_report_example.py | |
---|---|
- Importa a classe
ForestReport
. - Importa a bilbioteca
pandas
para manipulação de dados.
- Carrega o DataFrame
inventory_data
a partir de um arquivoxlsx
. - Carrega o DataFrame
tree_types_df
a partir de um arquivoxlsx
. - Cria a variável
report
contendo a classeForestReport
e utilizando o dataframeinventory_data
.
Define a colunaID parcela
como responsável por identificar cada parcela.
Define a colunaarea_parcela
como responsável por fornecer o tamanho da parcela em metros quadrados.
Define a colunaTipo arvore
como responsável por identificar o ID de cada árvore presente emtree_types_df
.
Define as colunasID_Regiao
,ID Fazenda
eID talhao
como subgrupos para os quais os relatórios são gerados.
Define a colunaht_calculada (m)
como a coluna contendo as alturas das árvores em metros.
Define a colunadap (cm)
como a coluna contendo os diâmetros das árvores à altura do peito em centímetros.
Define a colunaVol (m³)
como a coluna contendo o volume total das árvores com casca.
Define a colunaVol SC (m³)
como a coluna contendo o volume total das árvores sem casca. - Exibe o DataFrame
tree_types_df
em uso (O DataFrame padrão que deve ser modificado). - Atualiza o DataFrame
tree_types_df
utilizando o dataframetree_df_types
. - Salva o relatório no formato
xlsx
.
Atenção: Identificadores únicos nos agrupamentos
Ao utilizar o parâmetro group_levels
, é essencial que os grupos definidos contenham combinações únicas de valores entre as colunas. Isso evita ambiguidade nos resumos gerados por agrupamento.
Por exemplo, ao agrupar por ID_Regiao
e ID Fazenda
, não use identificadores genéricos como "A", "B" ou "C" se esses forem reutilizados em diferentes regiões. Veja os exemplos abaixo:
✅ Exemplo correto:
ID_Regiao | ID Fazenda |
---|---|
14 | 14-A |
14 | 14-B |
15 | 15-A |
15 | 15-B |
Cada combinação entre ID_Regiao
e ID Fazenda
é única, garantindo agrupamentos consistentes e sem sobreposição.
❌ Exemplo incorreto:
ID_Regiao | ID Fazenda |
---|---|
14 | A |
14 | B |
15 | A |
15 | B |
Neste exemplo incorreto, o identificador "A" aparece em duas regiões diferentes. Se o agrupamento for feito apenas por ID Fazenda
, os resumos de "A" incluirão dados de ambas as regiões, resultando em erros de interpretação.
💡 Recomendação
Use identificadores compostos que incluam o contexto completo, como "14-A"
, "15-B"
etc., garantindo que cada grupo seja unívoco.
Referências
ARCE, JULIO EDUARDO; DOBNER JR., MARIO. (2024). Manejo e planejamento de florestas plantadas: com ênfase nos gêneros Pinus e Eucalyptus. Curitiba, PR: Ed. dos Autores, 419p.