Assentamento/tutoriais/Tutorial_4_Calculos_Porcent...

403 lines
12 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "Cálculos da ocupação de áreas por indicadores específicos"
author: "Adenor Vicente Wendling"
date: "23/02/2021"
output:
html_document:
toc: yes
word_document:
toc: yes
---
```{r setup}
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
library(knitr)
library(tidyverse)
library(readr)
library(kableExtra)
```
# Introdução
O presente script (tutorial), tem como finalidade demonstrar um método para calcular os dados das imagens do projeto doAssentamento SL.
Quero calcular:
`Porcentagem de cada altitude`
`Porcentagem de área para cada orientação`
`Capacidade de uso do solo`
`Porcentagem de APP `
`Porcentagem de Mata Nativa`
## Calculo Porcentagem de cada altitude
Para esse cálculo, será utilizado a Camada Raster `Altitude_SL`, que já está com dados da área do Assentamento.
Da mesma forma como está representado na camada, será calculado a porcentagem para 10 grupos de altitudes.
Para realizar o cálculo, segue-se os seguintes passos:
1 - Na `Caixa de ferramentas de processamento` busco pelas opções, digitando "Report" na linha de busca.
2 - Seleciona-se o comando `r.report`.
3 - Na janela do será aberta (Imagem 1), seleciona-se o raster com o qual queremos realizar os calculos.
![Imagem 1 - Janela r.report, para definição dos procedimentos de calculo](../imagens/janela_Report1.png)
Ao clicar em `...`, abre-se uma nova janela (Imagem 2), com as camadas rasters do projeto, onde deve ser selecionada a camada correspondente. No exemplo, foi selecionado o raster `Altitude_SL`.
![Imagem 2 - Janela r.report, seleção da camada raster com os quais serão realizados os cálculos](../imagens/Selec_Raster_Report.png)
As demais opções a serem selecionados aparecem na Imagem 1 e 3. Na opção `unidades` (figura 1) foi selecionado a opção **me** que calcula os dados em **metros quadrados**. Mas tem as opções de *h* para *hectares*, entre outras.
Não opç~oes de comprimento e largura de págnina não é necessário alterar.
Na opção `Número de subfaixas fp para coletar estatísticas de` é necessário selecionar o número de grupos a serem calculados. Para a altutude, como já mencionado acima, foram selecionados 10 grupos. No entanto, podem ser selecionados outros valores, de acordo com o interesse de cada projetista.
No final da janela, na última linha, é necessário (importante) selecionar o caminho e definir o nome do arquivo de saída dos dados, que será em arquivo do tipo txt.
Pronto. Estão definidas as especificações, e só resta clicar em executar, para rodar os cálculos.
![Imagem 3 - Janela r.report, para definição das especificações dos cálculos e arquivo a ser gerado](../imagens/janela_Report2.png)
O resultado será em formato .txt. que podem ser importados e manipulados aqui no R.
```{r}
Alt_estatistica <- read_delim("data/Alt_estatistica.txt", "|", escape_double = FALSE, col_names = FALSE,
trim_ws = TRUE, skip = 4)
View(Alt_estatistica)
str(Alt_estatistica)
```
Porém, é necessário manipular o nome das colunas, para ser possível trabalhar com os dados.
```{r, include=TRUE}
Altitude_SL<-Alt_estatistica%>%
filter(X3=="from to . . . . . . . . . . . . . . . . .")%>%
select(X2,X4)%>%
transmute(
De_Ate=X2,
Metro_Quad=X4,
Ha=X4/10000,
Porcentagem=X4/ sum(X4) *100,
)%>%
tidyr::separate(De_Ate, into=c("De","Até"), sep="-", remove="TRUE" )%>%
mutate(
Alt_Menor = as.numeric(De),
Alt_Maior = as.numeric(Até)
)
View(Altitude_SL)
```
## A tabela com os dados
```{r kable_a_dados}
kable(Altitude_SL[ ,3:6 ],
format = "simple",
digits = 1,
padding = 2,
caption = "1 - Quantidade de metros quadrados de área de cada altitude, no assentamento Sâo Lourenço")
```
Os dados são os seguintes: A menor área está em altitude de `r min(Altitude_SL$De_Ate)` metros acima do nível do mar (ANM) com `r min(Altitude_SL$Ha)` hectares de área, ou seja, **`r min(Altitude_SL$Porcentagem)`** porcento da área total.
A maior área está em altitude de `r max(Altitude_SL$De_Ate)` ANM, com `r max(Altitude_SL$Ha)`ha de área, ou seja, `r max(Altitude_SL$Porcentagem)` porcento da área total.
```{r}
Grafico1 <-ggplot(Altitude_SL, aes(x=Alt_Menor, y=Porcentagem))+
geom_col(col="red",fill="blue" )+
theme_bw()+
theme(axis.text = element_text(
size=12,
face=3)
)+
xlab("Altitude (m)")
Grafico1 +ggtitle("Gráfico 1: Distribuição das terras de acordo com a altitude, no Assentamento São Lourenço")
```
# Dados de Orientação
Os dados de orientação mostram para qual quadrante a área está inclinada.
Será usado o arquivo raster `Orientacao_SL`, e a saída em txt gerada pelo comando `r.report` do Qgis.
> Para a importação correta deste arquivo, deletei as linhas do cabeçalho em editor de texto.
```{r}
Orient_NEst <- read_delim("data/Orient_NEst.txt",
"|", escape_double = FALSE, col_names = FALSE,
trim_ws = TRUE, skip = 1)
View(Orient_NEst)
```
Porém, é necessário manipular o nome das colunas, para ser possível trabalhar com os dados.
```{r, include=TRUE}
Altitude_SL<-Alt_estatistica%>%
filter(X3=="from to . . . . . . . . . . . .")%>%
select(X2,X4)%>%
transmute(
De_Ate=X2,
Metro_Quad=X4,
Ha=X4/10000,
Porcentagem=X4/15215421*100,
)%>%
tidyr::separate(De_Ate, into=c("De","Até"), sep="-", remove="TRUE" )%>%
mutate(
Alt_Menor = as.numeric(De),
Alt_Maior = as.numeric(Até)
)
view(Altitude_SL)
```
## A tabela com os dados
```{r kable_dados}
kable(Altitude_SL[ ,3:6 ],
format = "simple",
digits = 1,
padding = 2,
caption = "1 - Quantidade de metros quadrados de área de cada altitude, no assentamento Sâo Lourenço")
```
Os dados são os seguintes: A menor área está em altitude de `r min(Altitude_SL$De_Ate)` metros acima do nível do mar (ANM) com `r min(Altitude_SL$Ha)` hectares de área, ou seja, **`r min(Altitude_SL$Porcentagem)`** porcento da área total.
A maior área está em altitude de `r max(Altitude_SL$De_Ate)` ANM, com `r max(Altitude_SL$Ha)`ha de área, ou seja, `r max(Altitude_SL$Porcentagem)` porcento da área total.
```{r}
Grafico1 <-ggplot(Altitude_SL, aes(x=Alt_Menor, y=Porcentagem))+
geom_col(col="red",fill="blue" )+
theme_bw()+
theme(axis.text = element_text(
size=12,
face=3)
)+
xlab("Altitude (m)")
Grafico1 +ggtitle("Distribuição das terras de acordo com a altitude, no Assentamento São Lourenço")
```
# Dados de Orientação
Os dados de orientação mostram para qual quadrante a área está inclinada.
Será usado o arquivo raster `Orientacao_SL`, e a saída em txt gerada pelo comando `r.report` do Qgis.
```{r}
Orient_NEst <- read_delim("data/Orient_NEst.txt",
"|", escape_double = FALSE, col_names = FALSE,
trim_ws = TRUE, skip = 1)
#View(Orient_NEst)
```
```{r, include=TRUE}
Orient_NEst<-Orient_NEst%>%
filter(X3=="from to . . . . . . . . . . . . .")%>%
select(X2,X4)%>%
transmute(
De_Ate=X2,
Metro_Quad=X4,
Ha=X4/10000,
Porcentagem=X4/15163779*100,
)%>%
tidyr::separate(De_Ate, into=c("De","Até"), sep="-", remove="TRUE" )%>%
mutate(
Orient_Menor = as.numeric(De),
Orient_Maior = as.numeric(Até)
)%>%
arrange(Orient_Menor)
str(Orient_NEst)
```
## A tabela com os dados
```{r kable_b_dados alt}
kable(Orient_NEst[ ,6:3 ],
format = "simple",
digits = 1,
padding = 2,
caption = "1 - Quantidade de metros quadrados de área de cada altitude, no assentamento Sâo Lourenço")
```
```{r}
library(plotrix)
OrietNames<-c("N","NW","W","SW","S","SE", "E", "NE")
OrientaHa<-Orient_NEst$Ha
radial.plot(OrientaHa,labels=OrietNames,rp.type="r",label.prop=1.1, main="Área (ha) conforme orientação, do assentamento São Lourenço",
grid.unit="Ha",poly.col="green",radial.lim=c(0,250),show.grid.labels=1,
line.col = "red", lwd=5, grid.col = "blue")
```
# Capacidade de uso
## segundo LEPSCH et al., 1991
Para o calculo da declividade foi utilizado o arquivo topodata Decliv(B), que apresenta os dados conforme as Classes de capacidade de uso -definem o grau de limitação do uso (I, II, III, IV, V, VI, VII e VIII):
Classe I: terras cultiváveis, aparentemente sem problemas especiais de conservação;
Classe II: terras cultiváveis com problemas simples de conservação;
Classe III: terras cultiváveis com problemas complexos de conservação;
Classe IV: terras cultiváveis apenas ocasionalmente ou em extensão limitada, com sérios problemas de conservação;
Classe V: terras adaptadas em geral para pastagens e/ou reflorestamento, sem necessidade de práticas especiais de conservação, cultiváveis apenas em casos muito especiais;
Classe VIII: terras impróprias para cultura, pastagem ou reflorestamento, podendo servir apenas como abrigo e proteção da fauna e flora silvestre, como ambiente para recreação, ou para fins de armazenamento de água (LEPSCH et al., 1991).
### Buscando os dados
```{r message = FALSE, echo = TRUE, comment=FALSE, warning=FALSE}
Declive_B<- read_delim("data/declive_b.txt",
"|",
escape_double = FALSE,
col_names = FALSE,
trim_ws = TRUE,
skip = 4)
View(Declive_B)
```
### organizando dados
```{r, include=TRUE}
Declive_b<-Declive_B%>%
filter(!is.na(X4))%>%
select(X2,X4)%>%
transmute(
Classe=X2,
Metro_Quad=X4,
Ha=X4/10000,
Porcentagem=X4/sum(X4)*100,
)%>%
arrange(Classe)
head(Declive_b)
```
### A tabela com os dados
```{r kable_b_dados declive}
kable(Declive_b,
format = "simple",
digits = 1,
padding = 2,
caption = "1 - Quantidade de metros quadrados de área de cada classe de declividade, no assentamento Sâo Lourenço")
```
## Segundo Embrapa 1999
Classe nº | Classe de relevo | Declividade (%)
--------- | ---------------- | -------------------
1 | Plano |0 3
2 | Suave Ondulado | 3 8
3 | Ondulado | 8 20
4 | Forte Ondulado | 20 45
5 | Montanhoso | 45 75
6 | Escarpado | > 75
### Buscando os dados
```{r message = FALSE, echo = TRUE, comment=FALSE, warning=FALSE}
Declive_C<- read_delim("data/declive_c.txt",
"|",
escape_double = FALSE,
col_names = FALSE,
trim_ws = TRUE,
skip = 4)
View(Declive_C)
```
### organizando dados
```{r, include=TRUE}
Declive_c<-Declive_C%>%
filter(!is.na(X4))%>%
select(X2,X4)%>%
transmute(
Classe=X2,
Metro_Quad=X4,
Ha=X4/10000,
Porcentagem=X4/sum(X4)*100,
)%>%
arrange(Classe)
#head(Declive_c)
```
### A tabela com os dados
```{r}
kable(Declive_c,
format = "simple",
digits = 1,
padding = 2,
caption = "1 - Quantidade de metros quadrados de área de cada classe de declividade, conforme classificação da Embrapa (1991) no assentamento Sâo Lourenço")
```
# Calculos com Vetores
## Área de Reserva Legal
Para calcular a área de cada informação vetorial, deve-se seguir os mesmos passos utilizados com os dados Raster, e, ao escolher a ferramenta de cálculo, ao invés de selecionar r.report, se seleciona **v.report**.
É importante ficar atento e definir um arquivo, com caminho conhecido e extensão .txt, para permitir sua importanção pelo R.
```{r}
RESERVA <- read_delim("Assentamento/RESERVA.TXT",
"|", escape_double = FALSE, na = "0" )
RESERVA1<-RESERVA%>%
filter(area>1)
AreaReserva=sum(RESERVA1$area)
AreaReserva
RLporc=AreaReserva/4495
RLporc
```
## Area de App
```{r}
library(readr)
APPs<-read_delim("Assentamento/app.txt",
"|", escape_double = FALSE, trim_ws = TRUE)
str(APPs)
#APPs$area
```
## Solos
## Área de Reserva Legal
Para calcular a área de cada informação vetorial, deve-se seguir os mesmos passos utilizados com os dados Raster, e, ao escolher a ferramenta de cálculo, ao invés de selecionar r.report, se seleciona **v.report**.
É importante ficar atento e definir um arquivo, com caminho conhecido e extensão .txt, para permitir sua importanção pelo R.
```{r}
library(readr)
soloAssts <- read_delim("data/soloAssts.txt",
"|", escape_double = FALSE, trim_ws = TRUE)
View(soloAssts)
require(dplyr)
soloAssts1<-soloAssts%>%
mutate(Porcentagem = area/44466284*100)## area somada manualmente
soloAssts1%>% select(SBCS, area,Porcentagem)
```