1.1 MiB
Cálculos da ocupação de áreas por indicadores específicos
Adenor Vicente Wendling
23/02/2021
knitr::opts_chunk$set(echo = TRUE)
library(knitr)
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.2 ✓ purrr 0.3.4
## ✓ tibble 3.0.4 ✓ dplyr 1.0.2
## ✓ tidyr 1.1.2 ✓ stringr 1.4.0
## ✓ readr 1.4.0 ✓ forcats 0.5.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(readr)
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 APP
Porcentagem de Mata Nativa
Porcentagem de área para cada orientação
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
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
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
O resultado será em formato .txt. que podem ser importados e manipulados aqui no R.
Alt_estatistica <- read_delim("data/Alt_estatistica.txt", "|", escape_double = FALSE, col_names = FALSE,
trim_ws = TRUE, skip = 4)
##
## ── Column specification ────────────────────────────────────────────────────────
## cols(
## X1 = col_character(),
## X2 = col_character(),
## X3 = col_character(),
## X4 = col_number(),
## X5 = col_logical()
## )
## Warning: 2 parsing failures.
## row col expected actual file
## 11 -- 5 columns 3 columns 'data/Alt_estatistica.txt'
## 13 -- 5 columns 1 columns 'data/Alt_estatistica.txt'
#View(Alt_estatistica)
Porém, é necessário manipular o nome das colunas, para ser possível trabalhar com os dados.
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
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")
Metro_Quad | Ha | Porcentagem | Alt_Menor |
---|---|---|---|
195401 | 19.5 | 1.3 | 1198.5 |
600729 | 60.1 | 3.9 | 1067.8 |
837927 | 83.8 | 5.5 | 1184.0 |
1038504 | 103.9 | 6.8 | 1082.3 |
1720259 | 172.0 | 11.3 | 1169.4 |
1721960 | 172.2 | 11.3 | 1096.8 |
2181861 | 218.2 | 14.3 | 1111.3 |
2261305 | 226.1 | 14.9 | 1140.4 |
2280130 | 228.0 | 15.0 | 1154.9 |
2377347 | 237.7 | 15.6 | 1125.9 |
Os dados são os seguintes: A menor área está em altitude de metros acima do nível do mar (ANM) com 19.5401 hectares de área, ou seja, 1.2842298 porcento da área total. A maior área está em altitude de - ANM, com 237.7347ha de área, ou seja, 15.624587 porcento da área total.
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.
Orient_NEst <- read_delim("data/Orient_NEst.txt",
"|", escape_double = FALSE, col_names = FALSE,
trim_ws = TRUE, skip = 1)
##
## ── Column specification ────────────────────────────────────────────────────────
## cols(
## X1 = col_character(),
## X2 = col_character(),
## X3 = col_character(),
## X4 = col_number(),
## X5 = col_logical()
## )
## Warning: 4 parsing failures.
## row col expected actual file
## 9 -- 5 columns 3 columns 'data/Orient_NEst.txt'
## 10 -- 5 columns 4 columns 'data/Orient_NEst.txt'
## 11 -- 5 columns 1 columns 'data/Orient_NEst.txt'
## 12 -- 5 columns 1 columns 'data/Orient_NEst.txt'
View(Orient_NEst)
Porém, é necessário manipular o nome das colunas, para ser possível trabalhar com os dados.
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
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")
Metro_Quad | Ha | Porcentagem | Alt_Menor |
---|---|---|---|
195401 | 19.5 | 1.3 | 1198.5 |
600729 | 60.1 | 3.9 | 1067.8 |
837927 | 83.8 | 5.5 | 1184.0 |
1038504 | 103.9 | 6.8 | 1082.3 |
1720259 | 172.0 | 11.3 | 1169.4 |
1721960 | 172.2 | 11.3 | 1096.8 |
2181861 | 218.2 | 14.3 | 1111.3 |
2261305 | 226.1 | 14.9 | 1140.4 |
2280130 | 228.0 | 15.0 | 1154.9 |
2377347 | 237.7 | 15.6 | 1125.9 |
Os dados são os seguintes: A menor área está em altitude de metros acima do nível do mar (ANM) com 19.5401 hectares de área, ou seja, 1.28423 porcento da área total. A maior área está em altitude de - ANM, com 237.7347ha de área, ou seja, 15.624589 porcento da área total.
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.
Orient_NEst <- read_delim("data/Orient_NEst.txt",
"|", escape_double = FALSE, col_names = FALSE,
trim_ws = TRUE, skip = 1)
##
## ── Column specification ────────────────────────────────────────────────────────
## cols(
## X1 = col_character(),
## X2 = col_character(),
## X3 = col_character(),
## X4 = col_number(),
## X5 = col_logical()
## )
## Warning: 4 parsing failures.
## row col expected actual file
## 9 -- 5 columns 3 columns 'data/Orient_NEst.txt'
## 10 -- 5 columns 4 columns 'data/Orient_NEst.txt'
## 11 -- 5 columns 1 columns 'data/Orient_NEst.txt'
## 12 -- 5 columns 1 columns 'data/Orient_NEst.txt'
#View(Orient_NEst)
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)
## tibble [8 × 7] (S3: tbl_df/tbl/data.frame)
## $ De : chr [1:8] "0.050844" "45.037363" "90.023881" "135.0104" ...
## $ Até : chr [1:8] "45.037363" "90.023881" "135.0104" "179.996919" ...
## $ Metro_Quad : num [1:8] 2523735 2125164 2213918 2272266 1452114 ...
## $ Ha : num [1:8] 252 213 221 227 145 ...
## $ Porcentagem : num [1:8] 16.64 14.01 14.6 14.98 9.58 ...
## $ Orient_Menor: num [1:8] 0.0508 45.0374 90.0239 135.0104 179.9969 ...
## $ Orient_Maior: num [1:8] 45 90 135 180 225 ...
A tabela com os dados
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")
Orient_Menor | Porcentagem | Ha | Metro_Quad |
---|---|---|---|
0.1 | 16.6 | 252.4 | 2523735 |
45.0 | 14.0 | 212.5 | 2125164 |
90.0 | 14.6 | 221.4 | 2213918 |
135.0 | 15.0 | 227.2 | 2272266 |
180.0 | 9.6 | 145.2 | 1452114 |
225.0 | 7.7 | 117.2 | 1171881 |
270.0 | 8.4 | 127.5 | 1275427 |
315.0 | 14.0 | 212.9 | 2129273 |
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
Declive_B<- read_delim("data/declive_b.txt",
"|",
escape_double = FALSE,
col_names = FALSE,
trim_ws = TRUE,
skip = 4)
View(Declive_B)
organizando dados
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 tibble: 5 x 4
## Classe Metro_Quad Ha Porcentagem
## <chr> <dbl> <dbl> <dbl>
## 1 2 200520 20.1 1.32
## 2 3 2973715 297. 19.5
## 3 4 4963703 496. 32.6
## 4 5 7043355 704. 46.3
## 5 6 34134 3.41 0.224
A tabela com os dados
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")
Classe | Metro_Quad | Ha | Porcentagem |
---|---|---|---|
2 | 200520 | 20.1 | 1.3 |
3 | 2973715 | 297.4 | 19.5 |
4 | 4963703 | 496.4 | 32.6 |
5 | 7043355 | 704.3 | 46.3 |
6 | 34134 | 3.4 | 0.2 |
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
Declive_C<- read_delim("data/declive_c.txt",
"|",
escape_double = FALSE,
col_names = FALSE,
trim_ws = TRUE,
skip = 4)
View(Declive_C)
organizando dados
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
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")
Classe | Metro_Quad | Ha | Porcentagem |
---|---|---|---|
1 | 20478 | 2.0 | 0.1 |
2 | 1492385 | 149.2 | 9.8 |
3 | 10559749 | 1056.0 | 69.4 |
4 | 3108681 | 310.9 | 20.4 |
5 | 34134 | 3.4 | 0.2 |