Internamente, os workers que calculam os dados avançados (ET0, geada, AQI) operam sobre uma entidade City — um ponto no mapa com um identificador estável. Ao criar um Campo, o sistema precisa associá-lo a uma City para que esses workers possam rodar para o seu Campo.
Como funciona a associação
Ao criar o Campo, o backend busca:
- Há alguma City existente no banco dentro de 5 km das coordenadas do Campo? Se sim, associa essa. Pronto.
- Se não encontrar nenhuma dentro de 5 km, cria uma nova City satélite com o nome do Campo + sufixo "(campo)", as coordenadas do Campo, e a associa ao país correto
Por que 5 km?
É um raio escolhido empiricamente:
- Menos de 5 km — os dados meteorológicos (temperatura, chuva, vento) são praticamente idênticos. Associar a uma City existente é eficiente porque já temos dados históricos e workers rodando para ela
- Mais de 5 km — podem existir diferenças significativas (microclima, sombras orográficas). Melhor criar uma City própria
Isso me afeta?
Quase nunca. A cidade âncora é completamente transparente para você:
- O nome do Campo no seletor é o que VOCÊ deu, não o da City
- O push do Vigía diz "Geada no Vinhedo Norte", não "Geada em Caxias-satélite-3"
- Os Dados Avançados são exibidos como dados do Campo, não da cidade âncora
Quando você veria isso?
Apenas em dois casos extremos:
- Se abrir o buscador de cidades (Configurações → Buscar cidade) e aparecer uma City com nome estranho tipo "Vinhedo Norte (campo)" — essa é uma City satélite criada para o seu Campo
- Se nossa equipe de suporte pedir o City ID associado a um Campo para depurar algo
As Cities satélites se acumulam?
Não. Ao excluir um Campo:
- Se a cidade âncora tinha outras associações (outros Campos de outros usuários, ou referências em dados históricos), ela é mantida
- Se era uma City satélite exclusiva do Campo excluído, fica órfã — uma varredura periódica do backend a reassocia à City mais próxima ou a arquiva
E se eu editar um Campo e mudar as coordenadas?
A busca roda novamente: se as novas coordenadas estiverem dentro de 5 km de uma City existente, é reancorando nela. Se não, mantém a City anterior (mudar a cidade âncora quebraria o histórico). Se o Campo se moveu muito, vale mais criar um novo Campo — para começar do zero.