# Renderizador de mapas SVG estáticos OpenStreetMap Nominatim / GeoJSON (ícones POI + sobreposição de rota)

Renderiza um GeoJSON FeatureCollection como mapa SVG estático incorporável sem dependência de tiles: água/verdes/prédios/estradas por classe ao estilo OSM Carto, alfinetes POI rotulados classificados por tags amenity/shop/tourism, rotas LineString destacadas com setas de rumo geodésico por segmento, barra de escala, retícula e atribuição OSM completa (© OpenStreetMap contributors, ODbL); geocodificação Nominatim opcional (≤5 consultas, ritmo e User-Agent identificador conforme a política oficial).

> Página canônica: https://elysiatools.com/pt/tools/openstreetmap-nominatim-geojson-static-svg-map-renderer-with-styled-poi-icons-and-route-overlay

- **Categoria:** Geography

- **Palavras-chave:** geojson para svg, mapa estático, estilo osm carto, ícones poi, sobreposição de rota, setas de rumo, geocodificação nominatim, atribuição openstreetmap, odbl, web mercator, mapa sem tiles, mapa de trilha, mapa para blog de viagem, mapa offline

## Visão geral

Projeção Web Mercator (matemática slippy EPSG:3857) ajustada à bbox dos dados; paleta clássica do OSM Carto (água #aad3df, verdes #add19e/#c8facc, residencial #e0dfdf, prédios #d9d0c9, autoestrada #e892a2, trunk #f9b29c, primária #fcd6a4, secundária #f7fabf, vias residenciais brancas com contorno). POIs são coloridos por tags amenity (restaurant/cafe/bar/parking/information), tourism (hotel/viewpoint/attraction/museum) e shop, com símbolos e rótulos com halo branco (paint-order). Rotas LineString destacadas em azul com setas de rumo geodésico por segmento (θ = atan2(sin Δλ·cos φ₂, cos φ₁·sin φ₂ − sin φ₁·cos φ₂·cos Δλ); Mercator é conforme, rotação na tela = rumo − 90°). A barra de escala deriva dos metros/pixel na latitude central da bbox. A atribuição OSM é embutida no SVG com link para openstreetmap.org/copyright (diretrizes OSMF: © OpenStreetMap contributors + ODbL). Nominatim: a política oficial exige máx. 1 requisição/s e um User-Agent identificador — a ferramenta limita a ≤5 consultas com 1,1 s de intervalo e User-Agent elysia-tools; falhas aparecem como avisos.

## Entradas

- **GeoJSON FeatureCollection** (textarea): {"type":"FeatureCollection","features":\[…\]}
- **Consultas de locais Nominatim (máx. 5, separadas por ;)** (text): Brandenburg Gate; Eiffel Tower (leave empty for offline)
- **Largura SVG (px)** (number)
- **Altura SVG (px)** (number)
- **Etiquetas POI** (checkbox)
- **Setas de rumo da rota** (checkbox)
- **Barra de escala** (checkbox)
- **Retícula lat/lon** (checkbox)
- **Gerar arquivo .svg para download** (checkbox)

## Quando usar

- Quando precisar gerar mapas vetoriais leves em SVG para ilustrar artigos de blogs, relatórios ou apresentações sem carregar bibliotecas de mapas pesadas.
- Quando quiser visualizar rotas GPX convertidas em GeoJSON com indicação clara da direção de deslocamento e pontos de interesse ao longo do trajeto.
- Quando necessitar de um mapa-base estático offline em alta resolução com a estética clássica do OpenStreetMap e atribuição ODbL embutida.

## Como funciona

- O utilitário calcula a caixa delimitadora (bounding box) do GeoJSON fornecido e aplica a projeção Web Mercator (EPSG:3857) ajustada às dimensões SVG configuradas.
- Camadas cartográficas são desenhadas na ordem estrutural padrão: áreas de água e vegetação, zonas residenciais, edifícios e rodovias estilizadas por classe viária.
- Elementos do tipo LineString recebem setas direcionais baseadas no cálculo de rumo geodésico de cada segmento, enquanto pontos de interesse (POIs) ganham ícones temáticos e rótulos com halo de legibilidade.
- Opcionalmente, consultas Nominatim adicionais são geocodificadas e adicionadas ao mapa, finalizando com a inserção de escala métrica, retícula e créditos OSM.

## Casos de uso

- Criadores de conteúdo e blogueiros de viagem que precisam de ilustrações vetoriais nítidas de itinerários de caminhada ou viagens rodoviárias.
- Pesquisadores urbanos e analistas geoespaciais que necessitam de figuras estáticas publicáveis com escala gráfica precisa e marcação de equipamentos públicos.
- Desenvolvedores de software que desejam gerar miniaturas de mapas ou prévias de áreas geográficas em formato SVG sem custos de API de tiles.

## Perguntas frequentes

### O renderizador precisa de conexão com a internet para gerar o mapa?

Não para o processamento de dados GeoJSON locais. A conexão só é utilizada se você preencher o campo de consultas de geocodificação Nominatim.

### Como os pontos de interesse (POIs) são categorizados e estilizados?

O sistema reconhece tags padrão do OpenStreetMap como amenity, tourism e shop, aplicando ícones específicos e cores distintas para categorias como restaurantes, cafés, hotéis e mirantes.

### Qual é a precisão das setas de direção ao longo das rotas?

As setas são calculadas com base no rumo geodésico exato de cada segmento do LineString e rotacionadas de acordo com as propriedades conformes da projeção Web Mercator.

### Como funciona o limite de requisições ao serviço Nominatim?

O limite é de até 5 consultas por execução com intervalo de 1,1 segundo entre elas, respeitando estritamente a política de uso da OpenStreetMap Foundation com User-Agent identificado.

### O arquivo SVG exportado inclui a atribuição de direitos autorais do OSM?

Sim, todos os mapas gerados incluem a atribuição oficial © OpenStreetMap contributors sob a licença ODbL, com link para a página de direitos autorais.

## Ferramentas relacionadas

- [Extrator de contorno melódico de áudio](https://elysiatools.com/pt/tools/audio-melody-contour-extractor): Extrai a melodia dominante e reúne MIDI, eventos de notas, contorno de altura, SVG e JSON em um ZIP.
- [Gerador de Data URI](https://elysiatools.com/pt/tools/data-uri-generator): Converte arquivos em Data URIs (Base64 ou porcentagem-codificada) para incorporar imagens, fontes e recursos diretamente em HTML, CSS ou Markdown
- [Estúdio de gráficos CSV: histograma, dispersão e boxplot](https://elysiatools.com/pt/tools/csv-histogram-scatter-box-plot-chart-studio): Envie ou cole um CSV e grafique na hora: histogramas com as regras Sturges / Freedman-Diaconis / Scott, dispersão com r de Pearson e reta de mínimos quadrados, e boxplots de Tukey — cada gráfico baixável em PNG e SVG.
- [Extrator de tokens de tema ECharts](https://elysiatools.com/pt/tools/echarts-theme-token-extractor): Extrai design tokens — cores, números, tamanhos de fonte e strings — de um JSON de tema ECharts e os exporta direto no seu design system. Cole um objeto de tema (o registrado e passado a echarts.init(dom, themeName)) e a ferramenta percorre cada folha, marcando cada cor (com normalização opcional nomeada/rgb → hex), número de espaçamento, tamanho de fonte e string, depois emite variáveis CSS limpas, um config theme.extend do Tailwind, tokens.json do Style Dictionary ou variáveis SCSS. Faz a ponte entre um tema de visualização ECharts e os tokens de design Figma/CSS/Tailwind sem copiar cada valor à mão.
- [Ponte de PDF (OCR) para JSON estruturado](https://elysiatools.com/pt/tools/ocr-pdf-to-structured-json-bridge): Extrai a camada de texto do PDF com geometria (linhas por posição y, tabelas por vaos de coluna, títulos por tamanho de fonte, pares chave-valor com dois pontos) e preenche campo a campo um JSON Schema do usuário — rótulos pareados por chaves normalizadas, valores coagidos aos tipos declarados e validados com ajv.
- [Gerador de Pictograma](https://elysiatools.com/pt/tools/pictograph-generator): Crie pictogramas usando ícones/símbolos para representar quantidades com ícones, cores e layouts personalizáveis
- [Gerador de marcadores de capítulos de podcast (ID3 / Podcasting 2.0)](https://elysiatools.com/pt/tools/podcast-chapter-marker-builder): Cole uma lista de capítulos com timecodes e gere de uma vez todos os formatos de entrega: JSON de capítulos Podcasting 2.0 (v1.2.0) e tag RSS podcast:chapters, gravação opcional dos frames ID3v2.4 CHAP+CTOC direto num MP3 enviado (milissegundos como uint32 big-endian simples, offsets 0xFFFFFFFF, subframe TIT2 por capítulo, frames existentes preservados), pares de comentários Vorbis CHAPTER001 (OGG/Opus), texto mp4chaps, bloco de timestamps para a descrição do YouTube e sidecar SRT, mais a matriz real de suporte dos players (Apple aceita o JSON via RSS desde 2025; Pocket Casts/Overcast leem só ID3 embutido; Spotify ignora ambos).
- [Visualizador de Plano de Execução SQL](https://elysiatools.com/pt/tools/sql-explain-plan-visualizer): Cole a saída do EXPLAIN / EXPLAIN ANALYZE (PostgreSQL/MySQL/SQLite) para renderizar uma árvore de custos, marcar divergências entre linhas estimadas e reais e sugerir índices

## Exemplos

- [Exemplos D3.js Data Visualization](https://elysiatools.com/pt/samples/d3js-data-visualization): Exemplos abrangentes de visualização de dados D3.js incluindo gráficos, mapas, animações e visualizações interativas
- [Exemplos SVG](https://elysiatools.com/pt/samples/svg-samples): Exemplos de Gráficos Vetoriais Escaláveis (SVG) demonstrando vários recursos e técnicas SVG
- [Amostras SVG](https://elysiatools.com/pt/samples/svg-viewer-samples): Gráficos vetoriais de amostra para o visualizador SVG
- [Exemplos de Visualizador GeoJSON](https://elysiatools.com/pt/samples/geojson-viewer-samples): Um exemplo GeoJSON para visualização no navegador
