Internamente, los workers que computan los datos avanzados (ET0, helada, AQI) operan sobre una entidad City — un punto del mapa con un identificador estable. Cuando creás un Campo, el sistema necesita asociarlo a una City para que esos workers puedan correr para tu Campo.
Cómo funciona la asociación
Al crear el Campo, el backend busca:
- ¿Hay alguna City existente en la base dentro de 5 km de las coords del Campo? Si sí, se asocia esa. Listo
- Si no encuentra ninguna dentro de 5 km, crea una nueva City satelital con el nombre del Campo + sufijo "(campo)", las coords del Campo, y la asocia al país correcto
¿Por qué 5 km?
Es un radio elegido empíricamente:
- Menos de 5 km — los datos meteorológicos (temperatura, lluvia, viento) son prácticamente idénticos. Asociarlo a una City existente es eficiente porque ya tenemos datos históricos y workers corriendo para esa City
- Más de 5 km — puede haber diferencias significativas (microclima, sombras orográficas). Mejor crear una City propia
¿Esto me afecta a mí?
Casi nunca. La City ancla es completamente transparente para vos:
- El nombre del Campo en el selector es el que VOS le pusiste, no el de la City
- El push de Vigía dice "Helada en Finca Maipú", no "Helada en Maipú-3-porteñas"
- Los Datos Avanzados se muestran como datos del Campo, no de la City ancla
¿Cuándo lo verías?
Solo en dos situaciones edge case:
- Si entrás al buscador de ciudades (Configuración → Buscar ciudad) y aparece una City con nombre raro tipo "Finca Maipú (campo)" — esa es una City satelital creada para tu Campo
- Si nuestro equipo de soporte te pide la City ID asociada a un Campo para debuggear algo
¿Las Cities satelitales se acumulan?
No. Cuando eliminás un Campo:
- Si la City ancla tenía otras asociaciones (otros Campos de otros users, o referencias en datos históricos), se mantiene
- Si era una City satelital exclusiva del Campo eliminado, queda huérfana — un sweep periódico del backend las re-asocia a la City más cercana o las archiva
¿Y si edito un Campo y cambio las coords?
Re-corre la búsqueda: si las nuevas coords están dentro de 5 km de una City existente, se re-ancla a esa. Si no, mantiene la City anterior (porque cambiar la City ancla rompería el histórico). Si el Campo se movió mucho, vale la pena crear uno nuevo en lugar de editar — para que arranque limpio.