fix: 3 bugs introduits lors du refactoring DriftSimulation/--force
1. DriftSimulationService : suppression ST_Buffer(::geography) — produisait des géométries invalides/dégénérées sur grand MULTIPOLYGON → ST_Distance retournait 652 029km. Remplacé par ST_Translate + ST_SimplifyPreserveTopology uniquement. 2. ImpactScoreService : filtre MAX_RELEVANT_M (300km) — une observation distante ne remplace plus le score d'un spot proche. Les scores existants sont préservés si l'observation est hors zone pertinente. 3. ComputeForecastsCommand --force : suppression du DELETE FROM impact_score. On ne purge plus les scores existants ; computeForObservation ajoute les nouveaux scores, les anciens restent valides pour les spots éloignés. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -70,8 +70,9 @@ class ComputeForecastsCommand extends Command
|
||||
['ids' => $ids],
|
||||
['ids' => \Doctrine\DBAL\ArrayParameterType::STRING]
|
||||
);
|
||||
// ImpactScore n'a pas de FK vers l'observation — on purge tout et on recalcule
|
||||
$this->em->getConnection()->executeStatement('DELETE FROM impact_score');
|
||||
// Note : on ne supprime PAS les impact_scores existants.
|
||||
// computeForObservation créera de nouveaux scores ; les anciens restent
|
||||
// pour les spots où cette observation est trop loin (MAX_RELEVANT_M).
|
||||
$this->em->clear();
|
||||
|
||||
// Recharge les observations détachées
|
||||
|
||||
Reference in New Issue
Block a user