Economia Regional: Mapas de Quociente Locacional em R

Licença

This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

License: CC BY-SA 4.0

License: CC BY-SA 4.0

Citação

Sugestão de citação: FIGUEIREDO, Adriano Marcos Rodrigues. Economia Regional: Mapas de Quociente Locacional em R. Campo Grande-MS,Brasil: RStudio/Rpubs, 2019. Disponível em http://rpubs.com/amrofi/Regional_Economics_LQmaps.

1 Introdução

Para realizar seu mapa em R, inicialmente o leitor deve baixar os programas e pacotes necessários ao projeto. Neste caso, sugere-se que utilize o RStudio e o R atualizados, a partir de: http://cran.r-project.org/bin/windows/base/ e https://www.rstudio.com/products/rstudio/download3/. Quando esta revisão foi feita, a versão do RStudio era a RStudio Desktop 1.1.423 e do R-3.4.3 for Windows (32/64 bit).

Primeiro instale o R e posteriormente o RStudio, de modo que o segundo reconheça automaticamente o primeiro. Se tudo estiver perfeito, a tela inicial do RStudio mostrará corretamente a versão do R.

Imagem do RStudio na tela inicial.

Imagem do RStudio na tela inicial.

2 Mapas em R

Agora a meta é gerar um mapa simples em R. Para tanto, primeiro define-se a malha municipal desejada. Para o presente caso, utilizam-se as malhas digitais do IBGE de http://mapas.ibge.gov.br/bases-e-referenciais/bases-cartograficas/malhas-digitais. Primeiro faz-se o download do arquivo zip completo para Mato Grosso do Sul (MS), malha com a estrutura municipal de 2015. É importante o leitor ter essa estrutura em mente, pois ao longo dos anos, municípios são criados a partir de desmembrações de outros, não necessariamente respeitando limites de distritos ou outros atributos previamente definidos.

Imagem do arquivo MS.zip.

Imagem do arquivo MS.zip.

A partir de ftp://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2015/UFs/MS/MS.zip, o arquivo foi descompactado no mesmo diretorio de trabalho do projeto R, numa pasta de nome MS. Neste arquivo zip, existem arquivos referentes a unidade da federação 50 para Mato Grosso do Sul (50UE), assim como para a mesorregião (50ME), microrregião (50MI) e municípios (50MU). A referência E250GC_SIR diz respeito à escala (1:250.000) e origem georeferenciada dos mapas (Datum SIRGAS).

2.1 Pacotes necessários

Agora deve-se instalar os pacotes úteis para fazer os mapas. O R vem com alguns pacotes automaticamente instalados, mas outros pacotes púbicos devem ser chamados para realizar operações específicas. Um deles é o pacote rgdal.

if (!require(rgdal)) {
    install.packages("rgdal")
    library(rgdal)
}

O pacote rgdal já fornecerá a primeira função prática para fazer o mapa. Usa-se aqui a função readOGR e indica-se o nome do arquivo shape a ser buscado, neste caso, na pasta MS e o arquivo de nome 50MUE250GC_SIR. Neste caso, a base de municípios (indicado por MU). A saída (plot) mostra o mapa e as características básicas (79 municípios e 2 campos - nome e código do município).

MS.mu <- readOGR("MS", "50MUE250GC_SIR")
OGR data source with driver: ESRI Shapefile 
Source: "C:\Users\amrof\Documents\disciplinas\economia regional\material de aula\laboratorio R\aula_mapas\mapas_no_R_com_sf\MS", layer: "50MUE250GC_SIR"
with 79 features
It has 91 fields
plot(MS.mu)

Agora propõe-se colorir o mapa municipal com cores inserindo o valor de colunas de Quociente Locacional - QL (maiores detalhes de como calcular o Quociente Locacional, ver Figueiredo, 2019). Para tanto, será necessário o pacote sf. O arquivo qlms2016.xls contém dados do QL calculado para os 79 municipios e 87 divisões CNAE, a partir dos dados de empregos do MTE/RAIS. Os dados de empregos de 2016 já estão no shapefile, pois foram armazenados anteriormente.

# Economia Regional: Mapas de Quociente Locacional em R
library(rgdal)
library(maptools)
library(readxl)
library(spdep)
library(ctv)
library(sf)

# os shapes já estão armazenados previamente na pasta MS o shape municipal
# chama-se 50MUE250GC_SIR.shp, proveniente do IBGE mas já contendo o dataset
# de empregos de 2016
MS.mu <- readOGR("MS", "50MUE250GC_SIR")
OGR data source with driver: ESRI Shapefile 
Source: "C:\Users\amrof\Documents\disciplinas\economia regional\material de aula\laboratorio R\aula_mapas\mapas_no_R_com_sf\MS", layer: "50MUE250GC_SIR"
with 79 features
It has 91 fields
plot(MS.mu)

# View(MS.mu@data) # dados de empregos 2016
emprego_sf <- st_read("MS/50MUE250GC_SIR.shp")
Reading layer `50MUE250GC_SIR' from data source `C:\Users\amrof\Documents\disciplinas\economia regional\material de aula\laboratorio R\aula_mapas\mapas_no_R_com_sf\MS\50MUE250GC_SIR.shp' using driver `ESRI Shapefile'
Simple feature collection with 79 features and 91 fields
geometry type:  POLYGON
dimension:      XY
bbox:           xmin: -58.16851 ymin: -24.06858 xmax: -50.92291 ymax: -17.16635
epsg (SRID):    NA
proj4string:    +proj=longlat +ellps=GRS80 +no_defs
plot(emprego_sf[, "ADMIN_CIAL"])

# ou para ver apenas o contorno
plot(st_geometry(emprego_sf))
# Agora plotar apenas os municípios com emprego de ADMIN_CIAL maior que 5000
# pessoas: emprego_sf_maiores <- emprego_sf[emprego_sf$ADMIN_CIAL > 5000, ]
# ou
emprego_sf_maiores <- subset(emprego_sf, ADMIN_CIAL > 5000)
plot(st_geometry(emprego_sf_maiores), add = T, col = "red")

Neste caso, os dados já estavam dentro do shapefile. Uma forma de colocar os dados dentro do shapefile é alterando o arquivo dbf com algum software como o de planilha do LibreOffice ou OpenOffice e depois salvando como formato dbf sem alterar o nome. Outra opção, usando R, será arrumarmos o dataset de modo que a coluna de dados a ser plotada conste do objeto sf a ser plotado. Neste caso, queremos colocar o qlms2016 dentro do objeto sf. Primeiro chamarei os dados de QL de 2016, para as 87 divisões. Depois usarei o comando mergepara juntar aos objeto emprego_sf criado no último bloco de scripts.

# para MS.mu # chamado anteriormente gerar dados e juntá-los ao arquivo `sf`
qlms2016 <- readxl::read_excel("qlms2016.xls")
emprego_sf_merged <- merge(emprego_sf, qlms2016, by.x = "CD_GEOCMU", by.y = "codmun")
names(emprego_sf_merged)
  [1] "CD_GEOCMU"                                                               
  [2] "NM_MUNICIP"                                                              
  [3] "Munic"                                                                   
  [4] "ADMIN_CIAL"                                                              
  [5] "AGNCI_RVAS"                                                              
  [6] "AGRIC_ADOS"                                                              
  [7] "ALIMENTAO"                                                               
  [8] "ALOJAMENTO.x"                                                            
  [9] "ALUGU_IROS"                                                              
 [10] "ARMAZ_RTES"                                                              
 [11] "ATIVI_ULOS"                                                              
 [12] "ATIVI_SADE"                                                              
 [13] "ATIVI_VISO"                                                              
 [14] "ATIVI_RAIS"                                                              
 [15] "ATIVI_MANA"                                                              
 [16] "ATIVI_ARES"                                                              
 [17] "ATIVI_STAS"                                                              
 [18] "ATIVI_IVAS"                                                              
 [19] "ATIVI_RMAO"                                                              
 [20] "ATIV_ISO_1"                                                              
 [21] "ATIVI_RIAL"                                                              
 [22] "ATIVI_IROS"                                                              
 [23] "ATIVI_IGAO"                                                              
 [24] "ATIV_MAO_1"                                                              
 [25] "ATIVI_AZER"                                                              
 [26] "ATIVI_RIAS"                                                              
 [27] "ATIVI_ORIA"                                                              
 [28] "ATIVI_NTAL"                                                              
 [29] "ATIV_IAS_1"                                                              
 [30] "CAPTA_EGUA"                                                              
 [31] "COLET_DUOS"                                                              
 [32] "COMRC_ETAS"                                                              
 [33] "COMR_TAS_1"                                                              
 [34] "COMRC_ISTA"                                                              
 [35] "CONFE_RIOS"                                                              
 [36] "CONST_CIOS"                                                              
 [37] "CORRE_REGA"                                                              
 [38] "DESCO_DUOS"                                                              
 [39] "EDIOE_ESSO"                                                              
 [40] "EDUCAO"                                                                  
 [41] "ELETR_ADES"                                                              
 [42] "ESGOT_ADAS"                                                              
 [43] "EXTRA_ERAL"                                                              
 [44] "EXTRA_ICOS"                                                              
 [45] "EXTR_COS_1"                                                              
 [46] "EXTRA_URAL"                                                              
 [47] "FABRI_IDAS"                                                              
 [48] "FABRI_APEL"                                                              
 [49] "FABRI_VEIS"                                                              
 [50] "FABRI_ICOS"                                                              
 [51] "FABRI_NTOS"                                                              
 [52] "FABR_COS_1"                                                              
 [53] "FABR_EIS_1"                                                              
 [54] "FABRI_ORES"                                                              
 [55] "FABRI_CIOS"                                                              
 [56] "FABRI_TICO"                                                              
 [57] "FABRI_EIRA"                                                              
 [58] "FABR_TOS_1"                                                              
 [59] "FABR_COS_2"                                                              
 [60] "FABRI_RSOS"                                                              
 [61] "FABRI_FUMO"                                                              
 [62] "FABR_COS_3"                                                              
 [63] "FABR_COS_4"                                                              
 [64] "FABRI_TEIS"                                                              
 [65] "FABRI_RIAS"                                                              
 [66] "IMPRE_VAES"                                                              
 [67] "MANUT_NTOS"                                                              
 [68] "METALURGIA.x"                                                            
 [69] "OBRAS_TURA"                                                              
 [70] "ORGAN_IAIS"                                                              
 [71] "OUTRA_OAIS"                                                              
 [72] "OUTRA_ICAS"                                                              
 [73] "PESCA_TURA"                                                              
 [74] "PESQU_FICO"                                                              
 [75] "PREPA_ADOS"                                                              
 [76] "PRODU_STAL"                                                              
 [77] "PUBLI_CADO"                                                              
 [78] "REPAR_ICOS"                                                              
 [79] "SEGUR_SADE"                                                              
 [80] "SELEO_OBRA"                                                              
 [81] "SERVI_ARIA"                                                              
 [82] "SERVI_ENTO"                                                              
 [83] "SERVI_ESAS"                                                              
 [84] "SERVI_ICOS"                                                              
 [85] "SERVI_TRUO"                                                              
 [86] "SERVI_ICAS"                                                              
 [87] "TELEC_CAES"                                                              
 [88] "TRANS_AREO"                                                              
 [89] "TRANS_IRIO"                                                              
 [90] "TRANS_STRE"                                                              
 [91] "TotalGeral"                                                              
 [92] "nomemun"                                                                 
 [93] "x.Munic"                                                                 
 [94] "ADMINISTRAÇÃO PÚBLICA, DEFESA E SEGURIDADE SOCIAL"                       
 [95] "AGÊNCIAS DE VIAGENS, OPERADORES TURÍSTICOS E SERVIÇOS DE RESERVAS"       
 [96] "AGRICULTURA, PECUÁRIA E SERVIÇOS RELACIONADOS"                           
 [97] "ALIMENTAÇÃO"                                                             
 [98] "ALOJAMENTO.y"                                                            
 [99] "ALUGUÉIS NÃO-IMOBILIÁRIOS E GESTÃO DE ATIVOS INTANGÍVEIS NÃO-FINANCEIROS"
[100] "ARMAZENAMENTO E ATIVIDADES AUXILIARES DOS TRANSPORTES"                   
 [ reached getOption("max.print") -- omitted 81 entries ]
# a coluna de QLs estão ao final do emprego_sf_merged [94] 'ADMINISTRAÇÃO
# PÚBLICA, DEFESA E SEGURIDADE SOCIAL'

plot(emprego_sf_merged[, "ADMINISTRAÇÃO PÚBLICA, DEFESA E SEGURIDADE SOCIAL"], 
    border = "red", axes = TRUE, main = "QL ADM Pública de Mato Grosso do Sul, 79obs")

Referências

ENGEL, Claudia A. Using Spatial Data with R. Disponível em: https://cengel.github.io/R-spatial/. 11 Feb, 2019.

FIGUEIREDO, Adriano Marcos Rodrigues. Economia Regional: polos, diversidade e especialização em R. Campo Grande-MS,Brasil: RStudio/Rpubs, 2019. Disponível em http://rpubs.com/amrofi/Regional_Economics_poles_diversity.

PEBESMA, E., 2018. Simple Features for R: Standardized Support for Spatial Vector Data. The R Journal 10 (1), 439-446, https://doi.org/10.32614/RJ-2018-009.

Adriano Marcos Rodrigues Figueiredo, *e-mail:

16 maio 2019