Como montar um mapa completo do estado de São Paulo com todas as cidades
A primeira coisa que todo mundo erra é tentar usar o mapa estático que aparece no Google ao buscar por "mapa de São Paulo". Ele mostra as grandes regiões metropolitanas e esquece praticamente tudo do interior. Se você precisa do mapa do estado de sp com as cidades para algo real — seja logística, planejamento regional, ou até um trabalho acadêmico — precisa baixar os dados vetoriais e montar o seu próprio.
O problema dos dados abertos e onde encontrar o mapa do estado de sp com as cidades
O IBGE mantém um banco de dados geográficos atualizado anualmente. O link direto é a plataforma https://www.ibge.gov.br/geociencias/organizacao-do-territorio/malhas-territoriais.html. Lá você baixa a malha municipal do estado de São Paulo em formato shapefile ou GeoJSON. O arquivo costuma ficar entre 50 e 80 megabytes, dependendo da resolução que você escolher. O problema prático é que, ao importar esse shapefile num visualizador básico, as cidades ficam todas misturadas sem legenda. Eu já perdi três horas tentando abrir isso no QGIS usando uma projeção errada. A solução mais rápida é forçar a projeção SIRGAS 2000 / UTM zone 23S, que é a projeção padrão para a maior parte do estado. Com ela, as coordenadas ficam corretas e o zoom não distorce as cidades do litoral.
Depois de carregar os dados certinhos, você ainda vai precisar do arquivo de atributos que contém o nome de cada município. O shapefile do IBGE já traz essa informação na coluna NM_MUNIC, mas o encoding original muitas vezes chega como Windows-1252 em vez de UTF-8. Se os nomes das cidades aparecerem com caracteres estranhos como "São" ou "JundiaÃ", abra o arquivo .prj e verifique a codificação. A correção simples é reexportar o shapefile com o plugin "Reproject Layer" do QGIS e selecionar a tabela de caracteres correta.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Montando o mapa final com todas as 645 cidades
O estado de São Paulo tem 645 municípios. Em um mapa impresso em A4, só é possível ler cerca de duas dúzias deles sem poluir visualmente a imagem. Para resolver isso, eu normalmente monto uma versão digital interativa usando Leaflet ou Mapbox. Você carrega o GeoJSON, define um estilo com cores separadas por região administrativa, e adiciona popups com o nome do município quando o usuário clica. Se o objetivo é apenas imprimir, o caminho mais rápido é usar o QGIS com a extensão "Label Controls" para ajustar o tamanho da fonte por nível de zoom. Cidades com mais de 100 mil habitantes recebem labels automáticos. As demais ficam ocultas até você dar zoom. Esse ajuste reduz o tempo de renderização de uns 40 minutos para pouco mais de 8.
Uma armadilha comum é não considerar a sobreposição de labels. Quando você dá zoom na região de Campinas, por exemplo, os nomes de Sumaré, Hortolândia, Americana e Santa Bárbara d'Oeste ficam todos colados. A solução prática é ativar a restrição de sobreposição no QGIS e definir um raio de exclusão de 15 pontos entre os rótulos. Isso garante que o texto nunca fique ilegível em nenhuma escala.
Alternativas quando você não quer montar o mapa do estado de sp com as cidades manualmente
Existe também a opção de usar datasets prontos no GitHub. Repositórios como o "brasil-municipios" do usuário @pedrofb trazem GeoJSONs processados e limpos, prontos para uso em projetos web. A desvantagem é que esses arquivos às vezes carregam dados desatualizados. O IBGE atualiza os limites municipais todo ano com novas divisões criadas por lei estadual. Um mapa feito em 2023 pode não considerar municípios como Araçatuba, que teve alterações de perímetro reconhecidas em 2024. Outra alternativa é usar o ArcGIS Online. Eles têm camadas prontas com os municípios paulistas, mas a licença para exportar em alta resolução não é gratuita. Se você trabalha com frequência com mapas desse tipo, vale o custo. Para uso pontual, o QGIS com os dados do IBGE resolve sem gastar nada.
O ponto que poucos levam em conta é que alguns municípios pequenos do interior, como Buri ou Campos do Jordão, aparecem com poligonais simplificadas em resoluções baixas. Se o seu mapa precisa mostrar detalhes urbanos, baixe sempre a malha na resolução 1:250.000 ou maior. A diferença no peso do arquivo é significativa, mas a precisão dos contornos justifica o esforço. Em resumo, o processo inteiro leva cerca de 25 minutos na primeira vez. Depois de dominar o fluxo de importação, reprojeção, tratamento de encoding e exportação, o tempo cai para 12 minutos. O resultado é um mapa confiável que você pode personalizar sem depender de ninguém.