Buscar

r mapas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1.1
1.2
1.2.1
1.2.2
1.2.3
1.2.4
1.3
1.3.1
1.3.2
1.3.3
1.3.4
1.3.4.1
1.3.4.2
1.3.4.3
1.4
1.4.1
1.4.2
Tabela	de	conteúdos
Introduction
Seção	1
Conceitos	básicos
Tipos	de	shapefile
Tipos	de	mapas
Tipos	de	coordenadas
Seção	2
Carregar	shapefile
Ver	atributos	da	projeção
Ver	a	classe	do	objeto
Plotar	mapa
Plotar	mapa	(ggplot2)
Plotar	linhas
Plotar	pontos
Seção	3
Selecionar	polígonos	específicos
Centróide	de	polígonos
1
Mapas	no	R	e	RStudio
Autor:	Raul	Ossada
Versão:	0.2.2	-	"Oferendar"
Ano:	2017
Este	livro	tem	como	objetivo	de	apresentar	alguns	pacotes,	funções	e	parâmetros	dessas
funções,	presentes	no	programa	R	relacionados	à	criação,	manipulação,	visualizaçao	e
análises	de	mapas.
A	cópia	parcial	do	conteúdo	deste	livro	é	permitida	desde	que	citada	a	fonte.
Este	livro	está	em	constante	atualização,	portanto	o	uso	do	conteúdo	deste	é	de
responsabilidade	do	usuário.	Comentários,	críticas	e	sugestões	que	visem	melhorar	o
conteúdo	do	livro	são	bem-vindos.
Introduction
2
Seção	1
Nesta	seção	iremos	ver	alguns	conceitos	mais	básicos	quando	se	trabalha	com	mapas.
Seção	1
3
Planeta	Terra
Uma	rápida	introdução	sobre	os	conceitos	básicos	quando	se	usa	mapas
Elipsóide
Para	representar	o	planeta	utiliza-se	um	elipsóide,	que	é	uma	aproximação	do	formato	do
planeta	e	portanto	não	se	ajusta	perfeitamente	à	Terra.
Os	diversos	elipsóides	usados	para	representar	o	Planeta	Terra.
Utilizam-se	diferentes	tipos	de	elipsóides,	sendo	alguns	usados	para	ajustar	o	planeta	todo
e	alguns	usados	para	ajustar	uma	região	específica.
Datum
Globo	(3D)
Tipos	de	coordenada:	Unprojected	(Geographic)	Latitude/Longitude
Representação:	graus	decimais	e	'grau,	minuto,	segundo'
Projection
Mapa	(2D)
Tipos	de	coordenada:	Projected	(Easting/Northing)
Conceitos	básicos
4
Tipos	de	shapefile
Shape	de	Polígonos
Shape	de	Linhas
Shape	de	Pontos
Tipos	de	shapefile
5
Tipos	de	mapas
Mapas	Vetoriais
Objetivo	deste	livro
Mapas	de	Raster
Futuramente	podem	vir	a	serem	tratados	neste	livro
Tipos	de	mapas
6
Tipos	de	coordenadas
Coordenadas	geográficas	(Não-projetadas)
Latitude/Longitude
Formatos	de	Latitude/Longitude
1)	Signed	degrees	format	(DDD.dddddddd)
Uma	latitude	ou	uma	longitude	com	8	casas	decimais	indica	uma	resolução	de	1	milímetro.
Características:
Latitudes	do	Sul	e	Longitudes	do	Oeste	são	precedidas	por	um	sinal	de	menos;
Latitudes	variam	de	-90	a	90.
Longitudes	variam	de	-180	a	180.
https://stackoverflow.com/questions/15965166/what-is-the-maximum-length-of-latitude-and-
longitude
https://msdn.microsoft.com/en-us/library/aa578799.aspx
http://www.geomidpoint.com/latlon.html
Coordenadas	projetadas
UTM
Tipos	de	coordenadas
7
Seção	2
Nesta	seção	iremos	ver	alguns	pacotes	e	funções	para	visualizar	mapas	no	R	e	no	RStudio.
Os	shapefiles	usados	nesta	seção	foram	obtidos	do	site	da	Agência	Executiva	de	Gestão
das	Águas	do	Estado	da	Paraíba	AESA,	seguindo	o	caminho:
Arquivos	Shapefiles
→	Municipios.zip
→	Estrada_Ferro.zip
→	Sedes_Municipais.zip
Importante!	Lembre-se	de	descompactar	os	arquivos	"*.zip"	antes	de	usá-los.
Seção	2
8
Como	carregar	um	shapefile	no	R
Função:	readOGR
Recomenda-se	o	uso	da	função		readOGR		do	pacote		rgdal	,	pois	esta	lê	tanto	o	arquivo
".shp",	quanto	o	arquivo	".prj".
Parâmetros	interessantes	da	função:
	dsn	:	Pasta	(diretório),	onde	se	encontram	os	arquivos	(*.cpg,	*.dbf,	*.prj,	*.shp,	*.shx,
etc).
	layer	:	Nome	do	arquivo,	sem	a	extensão.
	verbose	:	Indica	se	deve	ser	exibido	um	relatório	de	progresso	da	leitura	do	arquivo.
	stringsAsFactors	:	Indica	se	os	vetores	do	tipo	character	devem	ser	convertidos	para	o
tipo	factor.
library("rgdal");
pb_poligonos_rgdal	<-	readOGR(dsn="aesa_pb/Municipios",	
																														layer="Municipios",	
																														verbose=FALSE,	
																														stringsAsFactors=FALSE);
Sugestões	de	busca	em	inglês:	"r	read	shapefile".
Sugestões	de	busca	em	português:	"r	como	abrir	um	shapefile",	"r	como	ler	um	shapefile".
Importante!	Neste	livro,	os	shapefiles	serão	carregados	com	essa	função.	Ficando	as
funções	de	outros	pacotes	como	uma	curiosidade	extra.
Carregar	shapefile
9
Como	ver	os	atributos	da	projeção
Função:	proj4string
Para	ver	os	atributos	da	projeção	de	um	objeto	carregado	usando	a	função		readOGR	,
podemos	usar	a	função		proj4string		do	pacote		sp	.
Parâmetros	interessantes	da	função:
	obj	:	Nome	do	objeto	com	os	dados	do	shapefile.
1)	Vamos	carregar	o	shapefile:
library("rgdal");
pb_poligonos_rgdal	<-	readOGR(dsn="aesa_pb/Municipios",	layer="Municipios",	
																														verbose=FALSE,	stringsAsFactors=FALSE);
2)	Vamos	ver	quais	são	os	atributos	da	projeção	desse	shapefile:
proj4string(obj=pb_poligonos_rgdal);
[1]	"+proj=longlat	+ellps=aust_SA	+no_defs"
Alguns	atributos	de	projeções:
	+ellps	
	+datum	
	+proj	
	+zone	
	+units	
	+init	
Importante!	É	importante	conhecer	os	atributos	de	uma	projeção	para	evitar	problemas
como:	pontos	aparecendo	fora	de	um	mapa	ou	cálculos	de	distância	entre	pontos	muito
absurdos,	etc.
Sugestões	de	busca	em	inglês:	"r	shapefile	projection".
Ver	atributos	da	projeção
10
Como	ver	a	classe	de	um	objeto
Função:	class
Para	ver	a	classe	do	objeto	que	guarda	os	dados	do	shapefile	podemos	usar	a	função
	class	.
Parâmetros	interessantes	da	função:
	x	:	Nome	do	objeto	com	os	dados	do	shapefile.
1)	Vamos	carregar	o	shapefile:
library("rgdal");
pb_poligonos_rgdal	<-	readOGR(dsn="aesa_pb/Municipios",	layer="Municipios",	
																														verbose=FALSE,	stringsAsFactors=FALSE);
2)	Vamos	ver	qual	a	classe	do	objeto	que	guarda	os	dados	do	shapefile:
class(x=pb_poligonos_rgdal);
[1]	"SpatialPolygonsDataFrame"
attr(,"package")
[1]	"sp"
Como	podemos	ver,	nosso	objeto	pertence	à	classe	SpatialPolygonsDataFrame.	Ou	seja,
trata-se	de	um	objeto	que	contém	informações	sobre	um	shape	de	polígonos	(Spatial
Polygons).
Outras	possibilidades	que	iremos	explorar	serão	os	objetos	que	contêm	informações	sobre
um	shape	de	linhas	(Spatial	Lines)	e	sobre	um	shape	de	pontos	(Spatial	Points).
Importante!	É	importante	saber	à	que	tipo	de	classe	um	objeto	pertence,	pois	uma	mesma
função	pode	apresentam	saídas	diferentes	dependendo	do	tipo	de	objeto	que	é	fornecido
como	entrada.
Sugestões	de	busca	em	inglês:
Ver	a	classe	do	objeto
11
Como	plotar	um	mapa	no	R
Função:	plot
Para	plotar	um	mapa	de	um	objeto	carregado	usando	a	função		readOGR	,	podemos	usar	a
função		plot	.
Parâmetros	interessantes	da	função:
	axes	:	Indica	se	devem	ser	plotados	os	eixos	x	e	y	do	gráfico.
	border	:	Define	a	cor	da	linha	de	borda	dos	polígonos.	(Exemplos:	"black",	"darkgray",
"red",	etc).
	lty	:	Define	o	tipo	da	linha	de	borda.	(1-linha	contínua,	2-tracejado,	3-pontos,	etc).
	lwd	:	Define	a	grossura	das	linhas	de	borda.
	col	:	Define	a	cor	de	preenchimento	dos	polígonos.	(Exemplos:	"white",	"brown",
"blue",	etc)
	main	:	Texto	do	título	do	gráfico.
1)	Vamos	carregar	o	shapefile:
library("rgdal");
pb_poligonos_rgdal	<-	readOGR(dsn="aesa_pb/Municipios",	layer="Municipios",	
																														verbose=FALSE,	stringsAsFactors=FALSE);
2)	Vamos	plotar	o	mapa
plot(pb_poligonos_rgdal,	
					axes=TRUE,	
					border="darkgrey",	
					lty=1,	
					lwd=1,	
					col="white",	
					main="Mapa	dos	municipios	do	Estado	da	Paraiba");
Plotar	mapa
12
Sugestões	de	busca	em	inglês:	"r	plot	shapefile".
Outro	exemplo:	Mapa	Mundi
library("maps");
map(database="world");
Plotar	mapa
13
#	map(database="world",	fill=TRUE,	col="white",	bg="lightblue",	ylim=c(-60,	90),	mar=c
(0,0,0,0));
Plotar	mapa
14
Como	plotar	um	mapa	no	R	com	o	pacote
ggplot2
Função:	ggplot	+	geom_polygon	+	coord_map
Para	plotar	um	mapa	de	um	objeto	carregado	usando	a	função		readOGR	,	podemos	usar	a
função		ggplot		com	a	função		geom_polygon		e	a	função		coord_map	.
Parâmetros	interessantes	da	função:
	data	:	Define	os	dados	a	serem	usados	para	criar	o	mapa.
	mapping	:		aes	
	x	:	Nome	da	coluna	com	as	coordenadas	das	longitudes.
	y	:	Nome	da	coluna	com	as	coordenadas	das	latitudes.
	group	:	Nome	da	coluna	com	os	grupos	que	definem	os	polígonos.
	fill	:	Nome	da	coluna	com	os	grupos	que	definem	as	cores	de	preenchimento
dos	polígonos.
	color	:	Define	a	cor	da	linha	da	borda	dos	polígonos.
	fill	:	Define	a	cor	de	preenchimento	dos	polígonos.	(Exemplos:	"white",	"brown",
"blue",	etc).
1)	Vamos	carregar	o	shapefile:
library("rgdal");
pb_poligonos_rgdal	<-	readOGR(dsn="aesa_pb/Municipios",	layer="Municipios",	
																														verbose=FALSE,	stringsAsFactors=FALSE);
2)	Vamos	plotar	o	mapa
library("rgeos");
library("maptools");
library("ggplot2");
library("mapproj");
#	Verifica	os	nomes	das	colunas	que	podem	ser	usadas	para	definir	os	polígonos	(municí
pios)
names(pb_poligonos_rgdal);
	[1]	"OBJECTID"				"GEOCODIG_M"		"UF"										"Sigla"							"Nome_Munic"	
	[6]	"Regi�.o"					"Mesorregi�."	"Nome_Meso"			"Microrregi"		"Nome_Micro"	
[11]	"Shape_Leng"		"Shape_Area"
Plotar	mapa	(ggplot2)
15
#	Requer	os	pacotes	rgeos,	maptools	e	ggplot2,	carregados	nesta	ordem.
#	Transforma	os	SpatialPolygonsDataFrame	em	um	data.frame	que	pode	ser	usado	pelo	geom
_polygon.
pb_poligonos_fortify	<-	fortify(model=pb_poligonos_rgdal,	region="GEOCODIG_M");
#	Plot
#	coord_map():	Evita	que	o	mapa	fique	distorcido,	requer	o	pacote	mapproj
ggplot()	+	
		geom_polygon(data=pb_poligonos_fortify,	
															mapping=aes(x=long,	y=lat,	group=group),	
															color="black",
															fill="white")	+	
		coord_map()	+	
		labs(y="latitude",	x="longitude",	title="Municipios	do	Estado	da	Paraiba")	+	
		theme(plot.title=element_text(hjust	=	0.5)	);
Sugestões	de	busca	em	inglês:	"r	plot	shapefile	with	ggplot2".
Plotar	mapa	(ggplot2)
16
Como	plotar	um	mapa	no	R
Extra:	Adicionar	um	shape	de	linhas
Vamos	adicionar	o	shape	de	linhas	de	Estrada	de	Ferro
1)	Carregar	o	shape	de	polígonos	e	verificar	os	atributos	de	sua	projeção:
pb_poligonos_rgdal	<-	readOGR(dsn="aesa_pb/Municipios",	layer="Municipios",	
																														verbose=FALSE,	stringsAsFactors=FALSE);
proj4string(pb_poligonos_rgdal);
[1]	"+proj=longlat	+ellps=aust_SA	+no_defs"
2)	Carregar	o	shape	de	linhas	e	verificar	os	atributos	de	sua	projeção:
pb_linhas_rgdal	<-	readOGR(dsn="aesa_pb/Estrada_Ferro",	layer="Estrada_Ferro",	
																											verbose=FALSE,	stringsAsFactors=FALSE);
proj4string(pb_linhas_rgdal);
[1]	"+proj=longlat	+ellps=aust_SA	+no_defs"
Observe	que	no	caso	deste	exemplo	os	atributos	do	shape	de	polígonos	e	de	linhas	são	os
mesmos.	Caso	eles	fossem	diferentes	seria	necessário	transformar	os	atributos	de	um	dos
shapes	para	garantir	a	consistência	de	nossas	análises.
3)	Plotar	o	mapa	de	municípios	e	adicionar	as	linhas	da	estrada	de	ferro:
plot(pb_poligonos_rgdal,	axes=TRUE,	border="darkgrey",	lty=1,	lwd=1,	col="white",	
					main="Mapa	dos	municipios	do	Estado	da	Paraiba	(Estrada	de	Ferro)");
plot(pb_linhas_rgdal,	add=TRUE,	col="red");
Plotar	linhas
17
Sugestões	de	busca	em	inglês:
Plotar	linhas
18
Como	plotar	um	mapa	no	R
Extra:	Adicionar	um	shape	de	pontos
Vamos	adicionar	o	shape	de	pontos	de	Sedes	Municipais.
1)	Carregar	o	shape	de	polígonos	e	verificar	os	atributos	de	sua	projeção:
pb_poligonos_rgdal	<-	readOGR(dsn="aesa_pb/Municipios",	layer="Municipios",	
																														verbose=FALSE,	stringsAsFactors=FALSE);
proj4string(pb_poligonos_rgdal);
[1]	"+proj=longlat	+ellps=aust_SA	+no_defs"
2)	Carregar	o	shape	de	pontos	e	verificar	os	atributos	de	sua	projeção:
pb_pontos_rgdal	<-	readOGR(dsn="aesa_pb/Sedes_Municipais",	layer="Sedes_Municipais",	
																											verbose=FALSE,	stringsAsFactors=FALSE);
proj4string(pb_pontos_rgdal);
[1]	"+proj=longlat	+ellps=aust_SA	+no_defs"
Observe	que	no	caso	deste	exemplo	os	atributos	do	shape	de	polígonos	e	de	pontos	são
os	mesmos.	Caso	eles	fossem	diferentes	seria	necessário	transformar	os	atributos	de	um
dos	shapes	para	garantir	a	consistência	de	nossas	análises.
3)	Plotar	o	mapa	de	municípios	e	adicionar	os	pontos	das	sedes	municipais:
plot(pb_poligonos_rgdal,	axes=TRUE,	border="darkgrey",	lty=1,	lwd=1,	col="white",	
					main="Mapa	dos	municipios	do	Estado	da	Paraiba	(Sedes	Municipais)");
plot(pb_pontos_rgdal,	add=TRUE,	col="red",	pch=19,	cex=0.1);
Plotar	pontos
19
Sugestões	de	busca	em	inglês:
Plotar	pontos
20
Seção	3
Nesta	seção	iremos	ver	alguns	pacotes	e	funções	para	operar	com	mapas	no	R	e	no
RStudio.
Seção	3
21
Escolher	1	ou	mais	polígonos	específicos
Função:	slot	+	lógica	de	programação
Recomenda-se	o	uso	da	função		slot		em	conjunto	com	algumas	operações	de	lógica	de
programação.
Parâmetros	interessantes	da	função:
	object	:	Objeto	com	os	dados	do	shape.
	name	:	Nome	do	slot	que	contém	os	dados	de	interesse.
1)	Carregar	o	shapefile
library("rgdal");
pb_poligonos_rgdal	<-	readOGR(dsn="aesa_pb/Municipios",	layer="Municipios",	
																														verbose=FALSE,	stringsAsFactors=FALSE);
2)	Separar	os	dados	do	shape	num	data	frame
pb_dados	<-	slot(object=pb_poligonos_rgdal,	name="data");
print(	pb_dados[1:6,	1:5]	);
		OBJECTID	GEOCODIG_M	UF	Sigla				Nome_Munic
0								1				2500106	25				PB		Água	Branca
1								2				2500205	25				PB								Aguiar
2								3				2500304	25				PB	Alagoa	Grande
3								4				2500403	25				PB			Alagoa	Nova
4								5				2500502	25				PB					Alagoinha
5								6				2500536	25				PB						Alcantil
Importante!	Observe	que	a	coluna	que	contém	os	nomes	dos	municípios	se	chama
	Nome_Munic		e	está	no	objeto		pb_dados	.
3)	Criar	uma	lista	com	os	nomes	dos	municípios	desejados
lista_municipios	<-	c("Cruz	do	Espírito	Santo",	"João	Pessoa");
4)	Encontrar	o	indice	numérico	correspondente	aos	municípios	desejados
Selecionar	polígonos	específicos
22
Observe	que	neste	passo	usamos	o	nome	da	coluna	que	contém	os	nomes	dos	municípios
(	Nome_Munic	)	para	este	exemplo	específico.	Lembre-se	de	alterar	esse	nome	para	se
ajustar	aos	seus	dados!
indice_numerico	<-	which(	pb_dados$Nome_Munic	%in%	lista_municipios	);
print(indice_numerico);
[1]	66	96
5)	Pegar	apenas	as	informações	dos	polígonos	dos	municípios	desejados
dados_municipio	<-	pb_poligonos_rgdal[indice_numerico,	];
6)	Fazer	o	plot	dos	municípios	desejados
plot(dados_municipio,	
					axes=TRUE,	
					border="darkgrey",	
					main="Poligonos	dos	municipios	selecionados"	);
Selecionar	polígonos	específicos
23
Sugestões	de	busca	em	inglês:	"r	subset	polygon	shapefile",	"r	get	polygon	shapefile"
Sugestões	de	busca	em	português:	"r	como	selecionar	1	polígono	específico",	"r	como
selecionar	vários	polígonos",	"como	selecionar	os	polígonos	alguns	municípios".
Extra
Caso	queria	plotar	os	poligonos	sobre	o	mapa	de	municípios	basta	fazer	o	que	segue:
plot(	pb_poligonos_rgdal,	axes=TRUE,	border="darkgrey",	
						main="Municipios	do	Estado	da	Paraiba	\n	com	os	municipios	selecionados	em	desta
que"	);
plot(	dados_municipio,	border="darkgray",	col="red",	add=TRUE	);
Extra	-	Problemas	com	Encoding
Caso	você	tenha	problemas	de	encoding	no	passo	2,	tente	usar	a	função		read.dbf		do
pacote		foreign		para	ler	o	arquivo	"*.dbf".
Selecionar	polígonos	específicos
24
library("foreign");
pb_dados	<-	read.dbf(file="aesa_pb/Municipios/Municipios.dbf",	as.is=TRUE);
Extra	-	Plot	com	ggplot2
library("rgeos");
library("maptools");library("ggplot2");
library("mapproj");
names(pb_poligonos_rgdal);
	[1]	"OBJECTID"				"GEOCODIG_M"		"UF"										"Sigla"							"Nome_Munic"	
	[6]	"Regi�.o"					"Mesorregi�."	"Nome_Meso"			"Microrregi"		"Nome_Micro"	
[11]	"Shape_Leng"		"Shape_Area"
pb_poligonos_fortify	<-	fortify(model=pb_poligonos_rgdal,	region="GEOCODIG_M");
dados_municipio_fortify	<-	fortify(model=dados_municipio,	region="GEOCODIG_M");
ggplot()	+	
		geom_polygon(data=pb_poligonos_fortify,	
															mapping=aes(x=long,	y=lat,	group=group),	
															color="black",
															fill="white")	+	
		geom_polygon(data=dados_municipio_fortify,	
															mapping=aes(x=long,	y=lat,	group=group),	
															color="black",
															fill="red")	+	
		coord_map()	+	
		labs(y="latitude",	x="longitude",	title="Municipios	do	Estado	da	Paraiba")	+	
		theme(plot.title=element_text(hjust	=	0.5)	);
Selecionar	polígonos	específicos
25
ou
ggplot()	+	
		geom_polygon(data=pb_poligonos_fortify,	
															mapping=aes(x=long,	y=lat,	group=group),	
															color="black",
															fill="white")	+	
		geom_polygon(data=dados_municipio_fortify,	
															mapping=aes(x=long,	y=lat,	group=group,	fill=group),	
															color="black")	+	
		coord_map()	+	
		scale_fill_discrete(	name="Municipios",	labels=c("Cruz	do	Espirito	Santo",	"Joao	Pes
soa")	)	+	
		labs(y="latitude",	x="longitude",	title="Municipios	do	Estado	da	Paraiba")	+	
		theme(plot.title=element_text(hjust	=	0.5)	);
Selecionar	polígonos	específicos
26
Selecionar	polígonos	específicos
27
Calcular	o	centróide	de	1	ou	mais	polígonos
Função:	coordinates
Recomenda-se	o	uso	da	função		coordinates		do	pacote		sp	.
Parâmetros	interessantes	da	função:
	obj	:	Objeto	com	os	dados	do	shape.
1)	Carregar	o	shapefile
library("rgdal");
pb_poligonos_rgdal	<-	readOGR(dsn="aesa_pb/Municipios",	layer="Municipios",	
																														verbose=FALSE,	stringsAsFactors=FALSE);
proj4string(pb_poligonos_rgdal);
[1]	"+proj=longlat	+ellps=aust_SA	+no_defs"
2)	Calcular	as	coordenadas	dos	centróides	dos	polígonos
centroide_poligonos	<-	coordinates(obj=pb_poligonos_rgdal);
3)	Transformar	as	coordenadas	para	um	objeto	SpatialPoints	e	definir	os	atributos	da
projeção	para	serem	os	mesmos	dos	polígonos
centroide_poligonos	<-	SpatialPoints(coords=centroide_poligonos,	
																																					proj4string=CRS(	proj4string(pb_poligonos_rgdal)	
)	);
proj4string(centroide_poligonos);
[1]	"+proj=longlat	+ellps=aust_SA	+no_defs"
4)	Plotar	o	mapa	de	municípios	adicionando	os	pontos	dos	centróides	calculados
anteriormente.
Centróide	de	polígonos
28
plot(pb_poligonos_rgdal,	axes=TRUE,	border="darkgrey",	lty=1,	lwd=1,	col="white",	
					main="Mapa	dos	municipios	do	Estado	da	Paraiba	(Centroides)");
points(centroide_poligonos,	pch=19,	cex=0.5,	col="purple");
Sugestões	de	busca	em	inglês:	"r	polygon	centroid".
Centróide	de	polígonos
29
	Introduction
	Seção 1
	Conceitos básicos
	Tipos de shapefile
	Tipos de mapas
	Tipos de coordenadas
	Seção 2
	Carregar shapefile
	Ver atributos da projeção
	Ver a classe do objeto
	Plotar mapa
	Plotar mapa (ggplot2)
	Plotar linhas
	Plotar pontos
	Seção 3
	Selecionar polígonos específicos
	Centróide de polígonos

Continue navegando