🛠️ Comando para Regeocodar Endereço do Player
Documentação KOLOS

🛠️ Comando para Regeocodar Endereço do Player

Contexto

Alguns cadastros podem ter latitude/longitude incorretos quando o geocoding forward retorna um ponto impreciso.

Também existe o caso do cache DB-first persistir um resultado ruim para a mesma query.

Decisão

Criar um comando de console para:

  • Recalcular latitude/longitude do endereço do Player via OpenCage.
  • Permitir limpar o cache daquele endereço e/ou forçar uma nova chamada ao OpenCage.

Como usar

  • Por ID:

    • ./vendor/bin/sail artisan player:regeocode-address 123 --force --clear-cache
  • Por email:

    • ./vendor/bin/sail artisan player:regeocode-address --email=bruno@example.com --force --clear-cache

Opções:

  • --force: ignora cache e chama o OpenCage.
  • --clear-cache: remove o cache DB-first do OpenCage para aquela query.

Troubleshooting:

  • --inspect: mostra um resumo dos resultados (HTTP/status/primeiros matches) sem salvar.
  • --min-confidence=5: override do limiar mínimo de confidence apenas para esta execução.
  • --allow-low-confidence: desativa o guardrail de confidence (equivalente a min_confidence=0).

Ajustes de query (quando o match vem só em nível de cidade):

  • --omit-neighborhood: monta a query sem bairro.
  • --omit-number: monta a query sem número.
  • --query="...": override completo da query enviada ao OpenCage.

Validação

  • Rode o comando e confira a saída Lat,Lng.
  • Abra no Google Maps: https://www.google.com/maps?q=LAT,LNG.

Impacto

  • Adiciona comando em routes/console.php.
  • Ajusta OpenCageGeocodingClient para suportar forceRefresh e expor helpers de hash.