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
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.
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.
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 merge
para 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.