Entendendo o que você realmente precisa
A gente conversa muito sobre mapa cidades do maranhão e a maior parte das pessoas procura uma coisa diferente da outra. Uns querem um SVG para pintar no QGIS com os dados do IBGE. Outros precisam de uma imagem estática pra colocar num relatório. E tem quem só queira baixar um shapefile pronto porque o prazo de entrega é pra amanhã. Começar entendendo o que exatamente você precisa já te poupa duas horas de pesquisa e mais duas de adaptação. O Maranhão tem 217 municípios. Se você for fazer importação manual de qualquer coisa, isso vira um dia inteiro de trabalho. Se alguém te vender isso como "rápido", provavelmente vai entregar algo incompleto ou desatualizado.
Onde baixar um mapa cidades do maranhão de verdade
O lugar certo pra começar é o site do IBGE, divisão de geoestatística. Eles mantêm uma pasta com shapefiles atualizados todo ano, geralmente em setembro, quando saem os dados do Censo ou as estimativas anuales. A URL é sempre a mesma: ibge.gov.br/eng/cartografia/mapas-municipais. Dentro dali você baixa o shape completo do estado, com geometry poligonal de cada município, código do município, nome completo e até a região administrativa se quiser cruzar depois. O arquivo que você vai baixar tem entre 8 e 15 megabytes, dependendo se quer só a linha de contorno ou o preenchimento poligonal. Também dá pra puxar direto do GeoSUS, que é a plataforma do governo federal pra dados espaciais. O GeoSUS costuma ter versão mais recente do que o IBGE publica no site principal, às vezes com algumas semanas de antecedência. A versão que eu uso atualmente é a de 2024, com os limites municipais consolidados após as alterações de 2023.
Como montar o mapa no QGIS sem perder a cabeça
Abre o QGIS, vai em Camada, Adicionar Camada, Camada Vetorial. Seleciona o shapefile que você baixou. Ele já vem com sistema de coordenadas geográficas em WGS84, que é o EPSG 4326. Se o seu projeto precisar de um sistema projetado, usa o PROJ.4 padrão do Brasil: SAD69, UTM zona 22S, EPSG 29189. O QGIS faz a transformação automaticamente se você configurar a projeção do projeto. Depois de carregar, clica com o direito no layer, vai em Propriedades, Símbolo, e troca de "Símbolo único" para "Preenchimento graduado". No campo de classificação, usa o campo "NM_MUNIC" se quiser alfabético, ou "CODMUN" se quiser algum mapeamento por código IBGE. A paleta mais limpa pra estudo é a viridis ou a RdYlGn invertida, dependendo do que você está visualizando. Foge de vermelhopor padrão se não quiser que todo mundo ache que é mapa de perigo ou criminalidade.
Se precisar dos nomes dos municípios dentro dos polígonos, ativa a camada de pontos de sede municipal também no mesmo shapefile, ou separa numa camada de texto com label automático. O tamanho da fonte ideal pra leitura em tela é 7 a 9 pontos, dependendo da densidade. Maranhão é um estado largo, com alguns municípios grandes como São Luís, Benedito Leite e Codó que ocupam boa parte da visualização, então o overlapping de rótulo é real. Ativa o modo de prevenção de colisão nas configurações de label e define um offset mínimo de 1,5 mm entre textos.
Problema real que eu tive e como resolvi
Eu precisei fazer um mapa cidades do maranhão pra um laudo técnico de zoneamento ambiental em 2023. O shapefile do IBGE vinha com o polígono do município de Trizidela do Vale cortado em duas partes isoladas por causa de uma disputa de limites com Tocantins que ainda estava em análise na Justiça Federal na época. Quando você carrega isso num software GIS padrão, ele renderiza os dois pedaços separados como se fossem cidades distintas, o que era um erro gráfico grave pra apresentação. A solução que funcionou foi usar a ferramenta "Dissolve" do QGIS, agrupando pelo código do município, e depois rodar um "Merge Dissolved Layers" pra juntar as geometrias fragmentadas do mesmo município. Antes disso, executei um "Check Geometries" no Processing Toolbox, que apontou 3 polígonos com auto-interseção e 7 com vértices duplicados. Removi os duplicados e fechei as auto-interseções com o plugin "Fix Geometries". O processo todo levou uns 40 minutos num computador médio, mas evitou que eu entregasse um mapa com municípios erroneamente divididos.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Outra coisa que muita gente não entende: o shapefile do IBGE vem em geográficas (graus) e a precisão horizontal pode variar dependendo da data da atualização cartográfica. Municípios do litoral maranhense, como São Luís e Paço do Lumiar, têm limites bem definidos por cursos d'água e linha de costa, mas áreas do oeste, perto de Balsas e Buriticupu, sofrem com a resolução mais baixa do satélite usado no mapeamento, o que gera polígonos mais "quadrados" e menos fiéis ao terreno real. Se o seu trabalho exige precisão alta de área, considere cruzar com dados do SRTM ou do Sentinel-2 pra validar contornos em áreas críticas.
O que o mapa não te conta (e isso importa)
Um shapefile de municípios não inclui a população, a área exata em hectares, nem dados socioeconômicos. Ele é só geometria pura com um atributo de nome. Se você quer cruzar com dados do IBGE, precisa baixar separadamente a tabela do Censo Demográfico 2022 ou a Estimativa Populacional 2024. O código de cruzamento é o mesmo CODMUN que tá no shapefile, então o JOIN no QGIS é direto: tabela à esquerda, geometria à direita, campo chave CODMUN. O ponto fraco que ninguém fala é que muitos mapas prontos que circulam na internet são cópias antigas do shapefile do IBGE, às vezes de 2018 ou 2020, com municípios que mudaram de nome ou tiveram alteração de área. Em 2023, por exemplo, o município de Alto Alegre do Pindaré teve mudança de denominação e ajuste de limite com Grajaú. Se você baixar um mapa "pronto" de algum site aleatório sem verificar a data de atualização, pode estar usando uma versão desatualizada. Sempre checa o ano de referência no atributo do shapefile ou na legenda.
Alternativas quando o QGIS não é viável
Se você não tem paciência pra mexer com GIS e só precisa de um mapa rápido pra uma apresentação, dá pra usar o plotly em Python. Com duas linhas de código você carrega o GeoJSON do IBGE e gera um mapa interativo em segundos. O código é basicamente: carregar o GeoJSON, fazer um groupby por município, plotar com folium ou altair. Pra quem conhece Python, esse caminho leva cerca de 15 minutos do zero até o mapa pronto, enquanto o QGIS pede configuração inicial de projetos, projeções e styling que podem tomar 1h a 2h na primeira vez. A desvantagem do plotly é que a saída é interativa, não serve pra impressão em alta resolução. Se seu requisito é gerar um PDF A3 pra imprimir em cartaz, o QGIS continua sendo a opção certa. O plotly exporta em PNG ou HTML, e a qualidade de impressão fica aquém do necessário para materiais técnicos formais.
Dica prática que poupa tempo
Antes de começar qualquer trabalho com mapa cidades do maranhão, baixa logo o shapefile e guarda numa pasta com data no nome, tipo "MA_municipios_2024". Assim, quando precisar refazer ou comparar com dados de outro ano, você já sabe onde procurar. E faz um backup em GeoPackage também. Shapefile tem limitação de 2GB por arquivo e campos com nome limitado a 10 caracteres, o que pode causar perda de dados em tabelas grandes. GeoPackage é formato aberto, suporta campos longos e não quebra com frequência. Se o seu objetivo é só consultar visualmente os municípios, sem análise espacial pesada, o Google Earth Engine também carrega a camada de municípios brasileiros do IBGE gratuitamente. Você não precisa instalar nada, só acessar o interface web. Mas a interatividade é limitada: você não consegue exportar geometrias individuais de um município específico sem escrever JavaScript no editor do GEE.
Resumindo o fluxo que eu recomendo: baixa o shapefile do IBGE com data recente, abre no QGIS, verifica geometrias, dissolve fragmentações, cruza com tabela do Censo se precisar de dados, exporta pra PDF ou GeoPackage conforme a necessidade. Esse caminho leva de 40 minutos a 2 horas dependendo da familiaridade, e evita os erros mais comuns que vejo em mapas prontos por aí.