2
respostas

[Dúvida] O mapa ficou totalmente desconfigurado.

Código utilizado:

base = spm.plot(color='white', edgecolor='black', figsize = (15,10))
p_culturais.plot(ax=base, alpha=0.2, figsize = (15,10))
metro.plot(ax=base, edgecolor='black', color='red', figsize = (15,10))

Mapa gerado: ![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

Qual o erro?

2 respostas

Olá, Wiliam! Como vai? :)

Testei o seu código e ele funcionou normalmente. Notei que a falta do código sp = sp.to_crs('+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs') pode gerar um erro semelhante ao seu. Por isso, recomendo que você verifique se executou todas as células de código corretamente antes de gerar o gráfico. Para ajudar você de imediato, vou deixar abaixo o código completo que usei, com a resolução do instrutor e com a sua resolução.

url = 'https://github.com/alura-cursos/curso_geopandas/raw/main/dados/Estado_SP.shp'
!pip install geopandas
import geopandas as gpd
sp = gpd.read_file(url)
sp = sp[sp['NM_MUN']=='São Paulo']
url_m = 'https://github.com/alura-cursos/curso_geopandas/raw/main/dados/SIRGAS_SHP_estacaometro_point.shp'
metro = gpd.read_file(url_m)
url_c = 'https://github.com/alura-cursos/curso_geopandas/raw/main/dados/SIRGAS_SHP_TEMA_-_CULTURA_TEATRO-CINEMA-SHOW.shp'
cultura = gpd.read_file(url_c)
sp = sp.to_crs('+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs')
sp.crs
metro = metro.set_crs('+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs')
metro.crs
cultura = cultura.set_crs('+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs')
# Resolução do instrutor:

linha_vermelha = metro[metro['emt_linha']=='VERMELHA']

import matplotlib.pyplot as plt

base = sp.plot(color='white', edgecolor='black',figsize=(15,10))
cultura.plot(ax=base, color='#e39802',markersize=10,figsize=(15,10))
metro.plot(ax=base,markersize=10,figsize=(15,10))
linha_vermelha.plot(ax=base,color='red',markersize=10,figsize=(15,10))

plt.xlabel('UTM')
plt.ylabel('UTM')

base.legend(['Cultura','Metrô','Linha Vermelha'],loc='upper right')
# Sua resolução:

base = sp.plot(color='white', edgecolor='black', figsize = (15,10))
cultura.plot(ax=base, figsize = (15,10))
metro.plot(ax=base, edgecolor='black', color='red', figsize = (15,10))

Espero ter contribuído para a sua compreensão sobre esse assunto!

Desejo sucesso! Continue firme nos estudos! ✨✨

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

OK. Obrigado. Deu certo aqui. ![](![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade ))