introducao-d2h.RmdO pacote {d2h} é um esforço de aproximação da comunidade
acadêmica e profissional com a linguagem de programação R e com
metodologias de análises de dados espaciais relacionados à engenharia
florestal. Todas as classes, métodos e funções desenvolvidas são
pensados de forma a atender as principais demandas de um engenheiro
florestal nesse quesito e, na medida do possível, buscam concentrar a
utilização de uma única interface/software para realização dos
cálculos.
Para instalar o pacote, basta instalar a partir do repositório oficial do pacote no github, conforme o comando abaixo. Caso o pacote remotes não exista, pode ser instalado normalmente a partir do CRAN. Depois de instalado, o pacote pode ser carregado normalmente.
# Comando para instalar o pacote
remotes::install_github('d2h-florestal/d2h')
# Caso não possua o pacote remotes, instale-o primeiro.
install.packages('remotes')
# Para carregar o pacote
library(d2h)O pacote {d2h} possui como fonte principal de dados
tabelas de inventários. É partir dessas tabelas de dados que são
extraídas todas as informações para análises.
Tais tabelas podem estar em arquivos de excel (.xlsx), tabelas
separadas por vírgula (.csv), tabelas de textos (.txt), bem como objetos
espaciais como shapefiles (.shp), geojson (.geojson) e GeoPackages
(.gpkg). O pacote {d2h} possui uma função que engloba todas
essas principais formas de entrada de dados, chamada
read.inv(). Aqui, “inv” se refere à abreviação
de “inventário”.
O primeiro argumento de read.inv() é o caminho até o
arquivo que se deseja carregar. Aqui usaremos o caminho padrão de um
arquivo .csv disponível do pacote. Na prática, o caminho até o arquivo
real deve ser fornecido.
library(d2h)
#>
#> Attaching package: 'd2h'
#> The following object is masked from 'package:stats':
#>
#> confint
caminho_ate_arquivo <- system.file("extdata", "dados_exemplo.csv", package = 'd2h')
inv <- read.inv(path = caminho_ate_arquivo, #* Caminho até o arquivo de interesse
variavel = 'Va', #* Coluna ou número da coluna da variável de interesse
d = 'd', # Coluna ou número da coluna dos diâmetros
h = 'h', # Coluna ou número da coluna das alturas
par = 'Parcela', # Coluna ou número da coluna da variável de interesse
areapar = 0.04, # Área da parcela (em hectares)
areatotal = 200, # Área total do inventário (em hectares)
metodo = 'fixo', # Indica o método de inventário ("fixa" ou "variavel")
processo = 'AAS', # Indica o processo de amostragem
ha = TRUE # TRUE/FALSE indicando se os dados estão por hectare
)
# Classe do objeto de saída
class(inv)
#> [1] "Inv"
#> attr(,"package")
#> [1] "d2h"Assim é carregada a tabela para análise. De todos os argumentos de
read.inv(), apenas os dois primeiros (marcados com * no
comentário ao lado) são obrigatórios. Caso qualquer outro seja omitido,
o arquivo ainda é carregado. Uma explicação extensiva sobre o
funcionamento da função, bem como informações dos seus argumentos pode
ser consultada na documentação oficial ?read.inv.
No argumento variavel= deve ser informado o nome ou o
número da coluna da variável de interesse. Essa será a principal
variável resposta para a maioria das operações. Em inventário,
frequentemente é o volume, porém pode também ser biomassa, diâmetro,
altura dominante etc.
Note ainda que, embora opcionais, a omissão de alguns argumentos pode inviabilizar algumas análises por falta de informação.
Abaixo está uma versão alternativa com um arquivo shapefile. Note que a forma de carregamento é a mesma. Veja também que em vez dos nomes das colunas de interesse, também pode ser informado o número delas (i.e. coluna 1, coluna 2 etc.). Por fim, veja que os argumentos podem ser parcialmente escritos (“variav” em vez de “variavel”). Isso é permitido desde que a abreviação não fique ambígua entre dois argumentos distintos (e.g. “area” poderia ser tanto “areatotal” quanto “areapar”)
caminho_ate_shapefile <- system.file('extdata', 'parcelas.shp', package = 'd2h')
inv2 <- read.inv(path = caminho_ate_shapefile, #* Caminho até o arquivo
variav = 5 #* Nesse caso a coluna de interesse é a quinta
)
#> ---------------------------------------
#> Nem todas as feições são polígonos: [POINT].
#> Área das parcelas deve ser informada via `areapar=`
#> ---------------------------------------
#> Argumento `parcelas` não informado. Parcelas terão sequência ordinal.
# Classe do objeto de saída
class(inv2)
#> [1] "Inv"
#> attr(,"package")
#> [1] "d2h"Veja que dessa vez outras informações são impressas na tela, especificamente sobre o tipo de geometria carregada (uma vez que foi um shapefile), bem como o aviso de que o nome das parcelas/identificador não foi informado, e portanto será presumido que cada linha é uma observação diferente, e portanto será criada uma sequência ordinal crescente de identificadores genéricos para as parcelas.
A função read.inv() retorna um objeto da Classe
Inv. Esse objeto é a espinha dorsal das análises do pacote
{d2h}, e é a partir desse objeto que todos os demais são
construídos.
Inv
A classe Inv é a classe básica do pacote
{d2h}, e é obtida ao carregar um arquivo usando
read.inv() ou aplicando o inicializador Inv()
(veja ?Inv para mais detalhes). De maneira geral, todas as informações
pertinentes a um inventário florestal estarão contidas no objeto
Inv, e tais informações se dividem em dois componentes:
O componente de inventário reúne todas as informações comumente utilizadas em inventários, como área da parcela, área total da floresta, área amostrada, fração amostral etc.. Tais informações são brevemente apresentadas quando imprimimos o objeto no terminal, basicamente chamando o objeto na tela, conforme abaixo:
# Objeto contendo todas as informações
inv
#> Número de parcelas: 46
#> Área da parcela: 0.04 ha
#> Área amostrada: 1.84 ha
#> Fração amostral: 0.0092
#> ------------------------------------------
#> Área Total: 200 ha
#> Método de Amostragem: fixo
#> Processo de Amostragem: Amostragem Aleatória Simples
#> ------------------------------------------
#> Volume médio(a): 132.07 m³/ha
#> Desvio Padrão(a): 25.53 m³/ha
#> ------------------------------------------
#> *Assumindo volume dado(a) em m³/ha.
# Objeto com omissão de informações
inv2
#> Número de parcelas: 46
#> Área da parcela: 0 ha
#> Área amostrada: 0 ha
#> Fração amostral: 0
#> ------------------------------------------
#> Área Total: Inf ha
#> Método de Amostragem: fixo
#> Processo de Amostragem: Amostragem Aleatória Simples
#> ------------------------------------------
#> Volume médio(a): 132.07 m³/ha
#> Desvio Padrão(a): 25.53 m³/ha
#> ------------------------------------------
#> *Assumindo volume dado(a) em m³/ha.A maior parte das informações apresentadas podem ser acessadas e
alteradas no objeto de classe Inv. Por exemplo, para obter
o valor da área da parcela de inv2, basta usar o método
areapar().
areapar(inv2)
#> -----------------------------------------
#> Não há área de parcela associada.
#> -----------------------------------------
#> [1] 0
areapar(inv2) <- 0.04
#> Área de parcela definida para 0.04 ha.Veja que no exemplo acima areapar() pode ser utilizada
para acessar o valor da área da parcela, bem como pode
ser utilizada para alterar o valor da área da parcela.
O mesmo pode ser feito com a área total
areatotal(inv2)
#> -----------------------------------------
#> Não há área total associada.
#> -----------------------------------------
#> [1] Inf
areatotal(inv2) <- 135
#> Área total definida para 135 ha.
inv2
#> Número de parcelas: 46
#> Área da parcela: 0.04 ha
#> Área amostrada: 1.84 ha
#> Fração amostral: 0.01362963
#> ------------------------------------------
#> Área Total: 135 ha
#> Método de Amostragem: fixo
#> Processo de Amostragem: Amostragem Aleatória Simples
#> ------------------------------------------
#> Volume médio(a): 132.07 m³/ha
#> Desvio Padrão(a): 25.53 m³/ha
#> ------------------------------------------
#> *Assumindo volume dado(a) em m³/ha.Note que ao chamar inv2, agora a área amostrada, bem
como a fração amostral, foram recalculadas a partir das novas
informações.
Portanto ao omitir informações em read.inv(), essas
ainda podem ser complementadas posteriormente. Uma lista com todos os
métodos possíveis para a classe Inv podem ser encontradas
em
methods(class = 'Inv')
#> [1] alturas alturas<- areapar areapar<- areatotal areatotal<-
#> [7] bordas bordas<- crs crs<- diametros diametros<-
#> [13] ha ha<- initialize metodo metodo<- n
#> [19] parcelas parcelas<- plot processar processo processo<-
#> [25] salvar show spobj spobj<- volumes
#> see '?methods' for accessing help and source codeAlém dos métodos que tratam do componente de inventário. Também é
possível criar alguns gráficos básicos com o objeto de classe
Inv. São 4 gráficos de apresentação básica:
parcelas (o padrão), histograma,
relação h-d e boxplot. O tipo de
gráfico é alterado com o argumento type=
# Plot das parcelas (o padrão)
plot(inv) # mesma coisa que plot(inv, type="parcelas")
# Histograma da variável de interesse
plot(inv, type = 'hist')
# Dispersão da relação h-d (apenas se diâmetros e alturas forem informados)
plot(inv, type = 'scatter')
# Boxplot da variável de interesse
plot(inv, type = 'boxplot')
Opções de cores, títulos de eixos, além de outras configurações,
podem ser passadas para plot(). Alguns exemplos são
plot(inv, xlab = 'Eixo X', ylab = 'Eixo Y', col = 'red', border = 'orange')
plot(inv, type = 'boxplot', col = 'darkblue', border = 'magenta')
plot(inv, type = 'scatter', col = 'steelblue', pch = 'd')
Outros argumentos, bem como informações de utilização da função podem
ser conferidos em ?plot-Inv.
O segundo componente do objeto Inv se refere à estrutura
espacial do inventário, que nem sempre está disponível ou presente nas
bases de dados. No contexto do pacote {d2h}, estrutura
espacial é a geolocalização das observações e como ela pode ser
utilizada na área florestal. Além dessa geolocalização, também faz parte
do componente espacial qualquer informação adicional relacionada À
geolocalização, como delimitação da área da floresta, por exemplo.
No pacote {d2h}, todas as manipulações vetoriais são
realizadas com o pacote sf (Pebesma & Bivand,
2023). Assim como todas as manipulações com rasters são feitas com o
pacote terra (Hijmans, 2024).
Para se conferir se existe um componente espacial ao objeto
Inv, basta executar o comando spobj() no
objeto em questão. O retorno do comando será uma mensagem informando que
não há objeto espacial se for o caso. Ou então retornará informações a
respeito do objeto espacial associado.
# Sem componente espacial
spobj(inv)
#> Não há objeto espacial associado. Nada será retornado.
#> Use `espacializar()` para associar um objeeto espacial ao objeto Inv.
# Com componente espacial
spobj(inv2)
#> Sistema de Coordenadas utilizado: WGS 84 / UTM zone 21S
#> Simple feature collection with 46 features and 5 fields
#> Geometry type: POINT
#> Dimension: XY
#> Bounding box: xmin: 563740.3 ymin: 8205845 xmax: 566222.5 ymax: 8207714
#> Projected CRS: WGS 84 / UTM zone 21S
#> First 10 features:
#> parcela idade d h va geometry
#> 1 T1P1 17 24.70 22.48 90.2098 POINT (564011 8205845)
#> 2 T1P2 17 29.89 24.60 151.0114 POINT (563865.3 8205981)
#> 3 T1P3 17 28.32 23.88 133.2068 POINT (563740.3 8206104)
#> 4 T1P4 17 31.01 25.09 153.7527 POINT (563900.6 8206308)
#> 5 T1P5 17 31.04 25.15 181.3990 POINT (564057.9 8206148)
#> 6 T1P6 17 30.25 24.72 137.2731 POINT (564196.6 8206013)
#> 7 T2P1 17 29.17 24.35 126.3728 POINT (564373.9 8206193)
#> 8 T2P2 17 31.55 25.34 150.1543 POINT (564217.9 8206330)
#> 9 T2P3 17 31.37 25.24 120.2229 POINT (564083.4 8206446)
#> 10 T2P4 17 30.42 24.81 148.3301 POINT (564388.3 8206477)Existem três maneiras de se obter o componente espacial de um objeto
da classe Inv:
Inv com um
arquivo espacial adicional;Ao fornecer um arquivo espacial para read.inv(), então
automaticamente o componente espacial será criado. É o caso do objeto
inv2, criado a partir de um shapefile.
caminho_ate_shapefile <- system.file('extdata', 'parcelas.shp', package = 'd2h')
inv2 <- read.inv(path = caminho_ate_shapefile,
variavel = 5,
par = "parcela")
#> ---------------------------------------
#> Nem todas as feições são polígonos: [POINT].
#> Área das parcelas deve ser informada via `areapar=`
#> ---------------------------------------Caso todas feições do arquivo sejam polígonos, então
será presumido que tais polígonos se referem a parcelas, e portanto a
área desses polígonos será utilizada automaticamente para cálculo da
área de parcela. Se as áreas dos polígonos não for a mesma, então será
feita automaticamente a média das áreas, e essa área média será
utilizada. Lembre que a qualquer momento a área pode ser alterada via
areapar(objeto) <- valor, ou até diretamente no
argumento areapar= de read.inv().
Caso alguma das feições não seja polígono, então a função não tentará
calcular nenhuma área, e portanto deve ser fornecida via argumento de
read.inv() ou posteriormente via
areapar(objeto) <- valor.
Inv
Alternativamente, é possível manter o objeto Inv
carregado, e carregar outro arquivo que contém somente
as feições/vetores das observações. Isso é feito via função
espacializar() com os argumentos InvObj= e
source=.
# Objeto sem componente espacial
spobj(inv)
#> Não há objeto espacial associado. Nada será retornado.
#> Use `espacializar()` para associar um objeeto espacial ao objeto Inv.
invesp <- espacializar(InvObj = inv, # Objeto `Inv`
source = caminho_ate_shapefile) # Caminho até objeto espacial complementar
#> Objeto espacial de parcelas incluído no Inventário.
spobj(invesp)
#> Sistema de Coordenadas utilizado: WGS 84 / UTM zone 21S
#> Simple feature collection with 46 features and 5 fields
#> Geometry type: POINT
#> Dimension: XY
#> Bounding box: xmin: 563740.3 ymin: 8205845 xmax: 566222.5 ymax: 8207714
#> Projected CRS: WGS 84 / UTM zone 21S
#> First 10 features:
#> parcela idade d h va geometry
#> 1 T1P1 17 24.70 22.48 90.2098 POINT (564011 8205845)
#> 2 T1P2 17 29.89 24.60 151.0114 POINT (563865.3 8205981)
#> 3 T1P3 17 28.32 23.88 133.2068 POINT (563740.3 8206104)
#> 4 T1P4 17 31.01 25.09 153.7527 POINT (563900.6 8206308)
#> 5 T1P5 17 31.04 25.15 181.3990 POINT (564057.9 8206148)
#> 6 T1P6 17 30.25 24.72 137.2731 POINT (564196.6 8206013)
#> 7 T2P1 17 29.17 24.35 126.3728 POINT (564373.9 8206193)
#> 8 T2P2 17 31.55 25.34 150.1543 POINT (564217.9 8206330)
#> 9 T2P3 17 31.37 25.24 120.2229 POINT (564083.4 8206446)
#> 10 T2P4 17 30.42 24.81 148.3301 POINT (564388.3 8206477)Note que para isso funcionar, o arquivo espacial complementar deve
ter o mesmo número de feições que observações de Inv. Além
disso, deve-se garantir que a ordem das parcelas informadas em
source= esteja na mesma ordem das observações do objeto
Inv.
Caso o objeto Inv original possua identificadores de
parcela, e esses mesmos identificadores sejam um atributo do objeto
espacial, então o nome do atributo pode ser passado para o argumento
id= da função, que irá então parear as
observações com os respectivos pontos espaciais a partir dos
identificadores de parcela.
parcelas(inv)
#> [1] "T1P1" "T1P2" "T1P3" "T1P4" "T1P5" "T1P6" "T2P1" "T2P2" "T2P3" "T2P4"
#> [11] "T2P5" "T2P6" "T3P1" "T3P2" "T3P3" "T3P4" "T3P5" "T3P6" "T4P1" "T4P2"
#> [21] "T4P3" "T4P4" "T4P5" "T4P6" "T5P1" "T5P2" "T5P3" "T5P4" "T5P5" "T5P6"
#> [31] "T6P1" "T6P2" "T6P3" "T6P4" "T6P5" "T6P6" "T7P1" "T7P2" "T7P3" "T7P4"
#> [41] "T7P5" "T7P6" "T8P1" "T8P2" "T8P3" "T8P4"
invesp <- espacializar(InvObj = inv,
source = caminho_ate_shapefile,
id = 'parcela') # Esse é o nome da coluna das parcelas do objeto espacial
#> Objeto espacial de parcelas incluído no Inventário.
spobj(invesp)
#> Sistema de Coordenadas utilizado: WGS 84 / UTM zone 21S
#> Simple feature collection with 46 features and 5 fields
#> Geometry type: POINT
#> Dimension: XY
#> Bounding box: xmin: 563740.3 ymin: 8205845 xmax: 566222.5 ymax: 8207714
#> Projected CRS: WGS 84 / UTM zone 21S
#> First 10 features:
#> parcela idade d h va geometry
#> 1 T1P1 17 24.70 22.48 90.2098 POINT (564011 8205845)
#> 2 T1P2 17 29.89 24.60 151.0114 POINT (563865.3 8205981)
#> 3 T1P3 17 28.32 23.88 133.2068 POINT (563740.3 8206104)
#> 4 T1P4 17 31.01 25.09 153.7527 POINT (563900.6 8206308)
#> 5 T1P5 17 31.04 25.15 181.3990 POINT (564057.9 8206148)
#> 6 T1P6 17 30.25 24.72 137.2731 POINT (564196.6 8206013)
#> 7 T2P1 17 29.17 24.35 126.3728 POINT (564373.9 8206193)
#> 8 T2P2 17 31.55 25.34 150.1543 POINT (564217.9 8206330)
#> 9 T2P3 17 31.37 25.24 120.2229 POINT (564083.4 8206446)
#> 10 T2P4 17 30.42 24.81 148.3301 POINT (564388.3 8206477)Eventualmente as tabelas de inventário possuem as coordenadas das parcelas. Sabendo disso, uma maneira de obter o componente espacial é construindo a partir dos dados da tabela de inventário, i.e. a partir de coordenadas dos pontos.
A construção é feita informando a coluna da Longitude/Coordenada
X/East e da Latitude/Coordenada Y/North, nessa ordem, para a função
espacializar(), juntamente do sistema de referenciamento de
coordenadas (CRS) em seu código EPSG. Veja que deve ser informado o CRS
cujas coordenadas forma obtidas.
spobj(inv)
#> Não há objeto espacial associado. Nada será retornado.
#> Use `espacializar()` para associar um objeeto espacial ao objeto Inv.
invesp <- espacializar(InvObj = inv,
coordx = "X", # "X" é o nome da coluna que contém a longitude no exemplo
coordy = 'Y', # "Y" é o nome da coluna que contém a longitude no exemplo
crs = 32721 # 32721 é o código EPSG do sistemas SIRGAS 2000 UTM 21S
)
#> Objeto espacial de parcelas incluído no Inventário.
spobj(invesp)
#> Sistema de Coordenadas utilizado: EPSG:32721
#> Simple feature collection with 46 features and 5 fields
#> Geometry type: POINT
#> Dimension: XY
#> Bounding box: xmin: 563740.3 ymin: 8205845 xmax: 566222.5 ymax: 8207714
#> Projected CRS: WGS 84 / UTM zone 21S
#> First 10 features:
#> Parcela Idade d h Va geometry
#> 1 T1P1 17 24.70 22.48 90.2098 POINT (564011 8205845)
#> 2 T1P2 17 29.89 24.60 151.0114 POINT (563865.3 8205981)
#> 3 T1P3 17 28.32 23.88 133.2068 POINT (563740.3 8206104)
#> 4 T1P4 17 31.01 25.09 153.7527 POINT (563900.6 8206308)
#> 5 T1P5 17 31.04 25.15 181.3990 POINT (564057.9 8206148)
#> 6 T1P6 17 30.25 24.72 137.2731 POINT (564196.6 8206013)
#> 7 T2P1 17 29.17 24.35 126.3728 POINT (564373.9 8206193)
#> 8 T2P2 17 31.55 25.34 150.1543 POINT (564217.9 8206330)
#> 9 T2P3 17 31.37 25.24 120.2229 POINT (564083.4 8206446)
#> 10 T2P4 17 30.42 24.81 148.3301 POINT (564388.3 8206477)Caso o CRS não seja fornecido. A função tentará identificar se são
coordenadas geográficas ou projetadas, e usará WGS 84 UTM 22S para
projetadas, e WGS 84 para geográficas por padrão. Informações detalhadas
podem ser consultadas na documentação ?espacializar.
Uma vez que o componente espacial existe, uma nova opção de plotagem
é habilitada com o argumento type='sp', onde é possível
visualizar os objetos espaciais. Note que, por padrão, objetos
Inv com componente espacial terão esse comportamento por
padrão.
plot(inv2, type='sp')
# Mesma coisa que, pois é o comportamento padrão quando o componente espacial está presente.
plot(inv2)
Outro elemento que pertence ao componene espacial é o vetor de bordadura, que pode ser interpretado como a delimitação de um talhão ou empreendimento. A inclusão desse objeto é opcional, porém é útil para delimitação da área apropriada para operações espaciais.
O vetor de bordadura é adicionado com o comando
talhao(), onde o usuário fornece o caminho
até o arquivo de interesse via argumento source=. A função
aceita tanto arquivos espaciais (.shp, .geojson, .gpkg) quanto arquivos
tabulares (.txt, .csv, .xlsx).
caminho_ate_borda <- system.file('extdata', 'bordas.shp', package = 'd2h')
inv2 <- talhao(InvObj = inv2, # O primeiro argumento é o objeto `Inv` que será alterado
source = caminho_ate_borda
)
#> Objeto espacial de talhão incluído no inventárioCaso um arquivo espacial seja fornecido, então ele será apenas
adicionado ao objeto Inv.
Caso seja fornecido um arquivo tabular, então o objeto espacial deve ser construído, e presume-se que o arquivo informado é composto por coordenadas dos pontos que delimitam a bordadura. Dessa forma, a função aceita arquivos que contenham duas ou três colunas de dados.
No caso de 2 colunas, estas devem ser latitude e longitude, nessa ordem, e será construído um único polígono ligando todos os vértices informados.
No caso de 3 colunas, então a primeira coluna será interpretada como a coluna de identificação de talhões, e assim os vértices serão agrupados por identificador, gerando tantos polígonos quanto identificadores únicos de talhão.
caminho_ate_borda_csv <- system.file('extdata', 'area.csv', package = 'd2h')
inv3 <- talhao(InvObj = inv2,
source = caminho_ate_borda_csv, # Objeto csv
crs = 32721 # Código EPSG do sistema SIRGAS 2000 UTM 21s
)
#> Objeto espacial de talhão incluído no inventárioComo resumo rápido dessa etapa: se o arquivo informado for espacial, ele será apenas importado. Se for tabular, então objeto será criado.
Como todo objeto espacial possui um sistema de coordenadas associado,
também a função deve lidar com isso. Por isso, talhao()
possui também um argumento crs=, que indica o sistema de
referência de coordenadas adotado a partir do código EPSG (veja epsg.io).
Se o objeto informado já for espacial(e.g. shapefile), então
o argumento crs= pode ser ignorado pois arquivos espaciais
já possuem SRC, e a função irá utilizar o SRC do
arquivo. No entanto, se o objeto Inv já possuir um objeto
espacial das parcelas, a função lançará um erro caso os SRC dos dois
objetos não forem o mesmo. Para contornar isso, o usuário pode
forçadamente informar um crs= em talhao() para
reprojetar a camada da bordadura durante a execução da função.
Caso o arquivo informado seja tabular, então obrigatoriamente precisa-se informar um SRC.
talhao() possui ainda um argumento recalc=,
que recebe TRUE ou FALSE (o padrão), que
indica se a área total do objeto Inv deve
ser recalculada a partir da área da bordadura. Com
isso, outros valores como a fração amostral também
serão atualizados. Veja que se recalc=TRUE, há interação
entre componente espacial e componente de inventário.
areatotal(inv2)
#> -----------------------------------------
#> Não há área total associada.
#> -----------------------------------------
#> [1] Inf
# Veja que a bordadura já foi adicionada a `inv2`, porém não trouxe mudanças no componente de inventário
inv2 <- talhao(InvObj = inv2,
source = caminho_ate_borda,
recalc = TRUE # Irá recalcular parâmetros do componente de inventário
)
#> Objeto espacial de talhão incluído no inventário
areatotal(inv2)
#> [1] 222.4491Por fim, é importante ressaltar que, caso já exista objeto espacial do inventário (os pontos das observações), então a bordadura informada deve obrigatoriamente conter todos os pontos de inventário. Caso algum ponto amostral não esteja contido em um polígono de borda, será lançado um erro informando tal constatação, juntamente com uma lista de potenciais unidades amostrais fora dos polígonos da bordadura.
Uma vez que a bordadura for informada, ela é plotada junto dos demais objetos espaciais.
plot(inv2)
## Mesma área porém gerada pelo arquivo csv
plot(inv3)
Todas as mensagens e gráficos retornados usam como padrão a variável
“Volume” e a unidade “m³”. Caso o usuário tenha como variável de
interesse outra, como “Biomassa”, por exemplo, denotada por “w”, tais
nomes podem ser rapidamente alterados mudando as opções globais
d2h.unit e d2h.variavel.
inv
#> Número de parcelas: 46
#> Área da parcela: 0.04 ha
#> Área amostrada: 1.84 ha
#> Fração amostral: 0.0092
#> ------------------------------------------
#> Área Total: 200 ha
#> Método de Amostragem: fixo
#> Processo de Amostragem: Amostragem Aleatória Simples
#> ------------------------------------------
#> Volume médio(a): 132.07 m³/ha
#> Desvio Padrão(a): 25.53 m³/ha
#> ------------------------------------------
#> *Assumindo volume dado(a) em m³/ha.
options(d2h.unit = 'w')
options(d2h.variavel = 'Biomassa')
# A mensagem impressa na tela mudou
inv
#> Número de parcelas: 46
#> Área da parcela: 0.04 ha
#> Área amostrada: 1.84 ha
#> Fração amostral: 0.0092
#> ------------------------------------------
#> Área Total: 200 ha
#> Método de Amostragem: fixo
#> Processo de Amostragem: Amostragem Aleatória Simples
#> ------------------------------------------
#> Biomassa médio(a): 132.07 w/ha
#> Desvio Padrão(a): 25.53 w/ha
#> ------------------------------------------
#> *Assumindo biomassa dado(a) em w/ha.No entanto, note que nem todos os textos terão extrema coerência gramatical, dada a eventual mudança de gênero dos substantivos.