1001Ferramentas
🌐Validadores

Validador de Coordenadas GPS

Valida coordenadas geográficas (latitude entre −90 e +90, longitude entre −180 e +180). Aceita formatos decimal e DMS simples.

Coordenadas GPS, WGS84 e a geometria de localizar qualquer ponto da Terra

Um par de coordenadas GPS é formado por dois números — latitude e longitude — que juntos identificam uma posição única na superfície da Terra. Os números só fazem sentido no contexto de um datum (elipsoide de referência que aproxima a forma do planeta) e um sistema de coordenadas (unidades e convenções para expressá-las). Receptores GPS modernos, mapas web e APIs de smartphone usam, quase universalmente, o datum WGS84 (World Geodetic System 1984), definido e mantido pela U.S. National Geospatial-Intelligence Agency e padrão global desde o lançamento da constelação GPS no fim dos anos 1980.

No WGS84 a latitude varia de -90 a +90 graus medidos a partir do Equador, valores positivos no Norte e negativos no Sul. A longitude varia de -180 a +180 graus medidos a partir do meridiano de Greenwich, positivos a leste e negativos a oeste. O Equador é latitude 0, Greenwich é longitude 0, o Polo Norte fica em +90, o Polo Sul em -90 e a linha de mudança de data cruza ±180. São Paulo está em aproximadamente -23.5505, -46.6333 — ao sul do Equador, a oeste de Greenwich.

Três notações: DD, DMS e DDM

Coordenadas podem ser expressas em três formatos equivalentes:

  • Graus Decimais (DD) — um único decimal com sinal por eixo: -23.5505, -46.6333. Preferido por software e APIs.
  • Graus, Minutos, Segundos (DMS) — usado em cartas náuticas e aviação: 23°33'01.8"S 46°37'59.9"W.
  • Graus e Minutos Decimais (DDM) — comum em GPS marítimos: 23°33.030'S 46°37.998'W.

A conversão é puramente aritmética: DD = grau + min/60 + seg/3600, multiplicado por -1 quando a letra cardinal for S ou W. Um validador robusto aceita qualquer dos três formatos, normaliza para DD internamente e depois confere a faixa numérica.

Precisão importa. Cada casa decimal adicional divide a resolução por dez: 5 casas dão ~1 m no equador, 6 casas dão ~10 cm, 7 casas dão ~1 cm. Guardar latitude/longitude como double de 64 bits é exagero para precisão de rua, mas é prática padrão; truncar para 4 casas (~11 m) basta para endereços de entrega e protege a privacidade em datasets compartilhados.

Além do WGS84: SIRGAS 2000 e outros datums regionais

O Brasil mantém seu próprio datum oficial, o SIRGAS 2000 (Sistema de Referência Geocêntrico para as Américas), adotado pelo IBGE em 2005 e consolidado em 2015 como único datum legal para cartografia nacional. O SIRGAS 2000 é alinhado ao ITRF2000 e, na prática, indistinguível do WGS84 no nível do metro — mas para trabalho cadastral ou geodésico o datum legal precisa ser o oficial. O datum anterior, SAD69 (South American Datum 1969), ainda aparece em mapas legados e pode diferir do SIRGAS em até 65 m; coordenadas marcadas como SAD69 precisam ser transformadas antes de serem misturadas com dados modernos.

No mundo o cenário é parecido: NAD83 na América do Norte, ETRS89 na Europa, GDA2020 na Austrália, JGD2011 no Japão. Todos esses datums são fortemente alinhados ao ITRF da época, então para mapeamento de consumidor a diferença para WGS84 é desprezível.

Validação: padrão regex + range

Um pipeline completo de validação faz três coisas em sequência: parseia a string contra uma regex permissiva o bastante para aceitar DD, DMS e DDM; converte para graus decimais; verifica que a latitude está em [-90, +90] e a longitude em [-180, +180]. Sempre rejeite NaN, infinitos e valores fora do range explicitamente.

function isValidLatLng(lat, lng) {
  const a = Number(lat), b = Number(lng)
  if (!Number.isFinite(a) || !Number.isFinite(b)) return false
  return a >= -90 && a <= 90 && b >= -180 && b <= 180
}

Constelações GNSS, precisão e privacidade

GPS é tecnicamente apenas a constelação norte-americana. Receptores modernos fundem sinais de vários sistemas globais de navegação por satélite: GLONASS (Rússia, 24 satélites), Galileo (UE, 28+), BeiDou (China, 35+), QZSS (Japão, augmentação regional) e NavIC (Índia, regional). Combinar constelações é o que faz um celular travar em 3-5 m entre os prédios de São Paulo. Com RTK (Real-Time Kinematics) e uma base nas proximidades, receptores profissionais atingem precisão centimétrica; em ambientes fechados, dispositivos recorrem a Wi-Fi, triangulação de torres celulares e beacons Bluetooth.

Privacidade: metadados EXIF de fotos frequentemente embutem as coordenadas exatas onde a foto foi tirada. Postar um JPEG sem sanitização em site público é vazamento OSINT clássico — remova os tags GPSLatitude e GPSLongitude antes de publicar, ou use um gerenciador de fotos que faça isso. Apps de delivery (iFood, Rappi, Uber), geofencing, trackers esportivos (heatmaps do Strava) e rastreadores de pet vivem de streams contínuos de coordenadas e trazem seus próprios trade-offs de vigilância.

FAQ

Devo guardar coordenadas em WGS84 ou SIRGAS 2000? Mapas web, apps mobile e as APIs do Google/Bing/Apple esperam WGS84. Para trabalho cadastral, geodésico ou de registro fundiário no Brasil, o datum legalmente exigido é o SIRGAS 2000 — na precisão de metros os valores são praticamente idênticos, mas juridicamente distintos.

Latitude exatamente ±90 é válida? Sim. Polo Norte é +90.0, Polo Sul é -90.0. Nesses pontos a longitude é indefinida (todo meridiano converge), mas o validador deve aceitar qualquer longitude numérica.

Qual a precisão do GPS de consumidor? A céu aberto, 3 a 10 m em smartphones modernos com multi-GNSS. Cânions urbanos e mata densa pioram para 15 a 30 m. Em interiores cai para fingerprinting de Wi-Fi entre 5 e 50 m.

O que é o antimeridiano e por que causa bug? A linha em ±180° de longitude é onde +180 encontra -180. Calcular distância ou interpolar ingênua mente atravessa o lado errado do planeta. Use bibliotecas geoespaciais (turf.js, geolib, PostGIS) para matemática em grande círculo, em vez de subtrair longitudes diretamente.

O que é o what3words? Codificação comercial alternativa que mapeia cada quadrado de 3 m × 3 m da Terra para um trio único de palavras (ex.: ///filled.count.soap). Conveniente para troca verbal, mas não é padrão aberto e não substitui WGS84 em software.

Ferramentas Relacionadas