Gerador de Coordenadas GPS
Sorteia coordenadas (latitude/longitude) dentro de uma caixa delimitadora (bbox). Útil para testes de mapas.
Gerador de coordenadas por bounding box e fluxos geoespaciais
Essa variante do gerador de coordenadas aleatórias permite fixar a saída em um bounding box arbitrário — quatro números (latMin, latMax, lngMin, lngMax) que descrevem um retângulo no globo. O padrão cobre a região metropolitana de São Paulo. Bounding boxes são o filtro mais barato em qualquer pipeline geoespacial: o teste é O(1) e pré-filtra um conjunto grande antes de checagens mais caras de "ponto em polígono".
Geocodificação e geocodificação reversa
Coordenadas aleatórias se encaixam naturalmente em duas operações cotidianas de GIS:
- Geocodificação — transforma um endereço ("Av. Paulista, 1000") em lat/lng. Provedores comuns: Nominatim (OpenStreetMap, grátis), Google Maps Geocoding API, Mapbox e stacks brasileiros como ViaCEP+georreferenciamento.
- Geocodificação reversa — volta de lat/lng para endereço ou unidade administrativa. Útil para enriquecer pontos aleatórios com nomes de rua mock durante seed de testes.
De bounding box a polígono: ray casting
Um bounding box sempre contém mais área que o polígono que cerca — o bbox do Brasil cobre pedaços do Peru, Colômbia e Atlântico. Para restringir pontos ao contorno real, use ray casting: gere um candidato no bbox, dispare um raio horizontal, conte arestas do polígono cruzadas; contagem ímpar = dentro, par = fora. Rejeite candidatos fora do polígono e re-amostre. Os polígonos vêm de datasets abertos:
- Natural Earth — polígonos de país e admin-1 nas escalas 1:10m, 1:50m, 1:110m.
- IBGE Malhas — estados e municípios brasileiros em shapefile ou GeoJSON.
- OpenStreetMap via API Overpass — regiões arbitrárias por tag (parques, bairros, água).
Índices espaciais: geohash, H3, S2
Em datasets grandes você quer indexar pontos para consultas de vizinhança serem rápidas. Três esquemas populares:
- Geohash — codifica lat+lng em uma string base32; quanto mais longa, mais fina a célula. 5 chars ≈ 5 km, 6 chars ≈ 1 km, 7 chars ≈ 150 m, 8 chars ≈ 19 m. Células encolhem em direção aos polos.
- H3 (Uber) — grid hexagonal hierárquico. Hexágonos têm simetria de vizinhança uniforme (cada vizinho está a exatamente uma aresta), o que supera geohash para queries por raio e roteamento.
- S2 (Google) — quad-tree na esfera. Usado por Google Maps, Foursquare e funções geo do InfluxDB.
Uniforme aleatório não é realista — populações não são uniformes
Um ponto uniforme dentro do bbox do Brasil tem a mesma chance de cair na floresta amazônica e no centro de São Paulo — mas a cidade abriga milhões e o pixel da floresta abriga zero gente. Para mock data realista, pondere o sorteio por densidade populacional. Datasets gratuitos:
- WorldPop — rasters de população a 100 m por país e ano.
- GHSL (Global Human Settlement Layer) — rasters de assentamento e área construída do JRC.
- Facebook High Resolution Population Density — grids de 30 m derivados de imagens de satélite.
Para sortear um ponto ponderado por população, trate o raster como distribuição 2D de probabilidade: amostre um pixel proporcionalmente ao valor, depois sorteie um ponto uniforme dentro do pixel.
Precisão de GPS no mundo real
Um GPS de smartphone a céu aberto entrega ±3-10 m. Em ambiente interno ou cânions urbanos densos, o erro sobe para ±50 m ou pior — Wi-Fi positioning e triangulação de torre passam a bater o GPS. RTK GNSS de topografia chega a 1-2 cm após correção de fase de portadora. A saída deste gerador usa 4-6 casas; essa resolução é mais fina do que qualquer GPS de consumidor consegue garantir, então não interprete os dígitos finais como "milímetros de verdade".
Perguntas frequentes
Posso restringir pontos a um país específico? O bounding box já leva você quase lá — use um bbox bem ajustado ao território. Para pontos só dentro do polígono (sem vazar para países vizinhos), combine o bbox com ray casting contra um polígono de país do Natural Earth ou IBGE.
Os pontos vão evitar o oceano? Não por padrão — um bbox sobre o Brasil vai produzir alguns pontos atlânticos. É preciso um raster máscara de terra/água (ex.: Natural Earth ne_10m_land) e uma etapa de rejeição para filtrar acertos no mar.
Posso gerar pontos que imitem tráfego real? Saída uniforme não faz isso. Misture com densidade populacional (WorldPop) para realismo, ou semeie a partir de POIs reais do OSM se quer locais de negócio plausíveis.
Como esta variante difere do gerador mundial? A outra variante expõe regiões pré-definidas (mundo / Brasil / Portugal / EUA); esta deixa você especificar qualquer retângulo. Use esta quando o alvo é cidade, bairro ou área de pesquisa arbitrária; use a variante preset para amostragem cross-country.
Ferramentas Relacionadas
Gerador de Hora Aleatória
Sorteia horários (HH:MM:SS) dentro de uma janela informada. Útil para preencher escalas e testes.
Gerador de Emojis Aleatórios
Gera uma sequência de emojis aleatórios — escolha tema (geral, comida, animais, esportes) e quantidade. Útil para design, mockups e mensagens.
Gerador de Timestamp Aleatório
Sorteia timestamps Unix dentro de um intervalo de datas. Útil para popular tabelas de teste.