getDatabaseConfig()); $db = Database::getInstance(); $boundaryService = new DepartmentBoundaryService(); // Exemple 1 : Secteur entièrement dans les Côtes-d'Armor (22) echo "1. Test d'un secteur dans le 22 (Saint-Brieuc):\n"; $sector1 = [ [48.5144, -2.7597], // Saint-Brieuc [48.5044, -2.7397], [48.4944, -2.7597], [48.5044, -2.7797], [48.5144, -2.7597] // Fermer le polygone ]; $result1 = $boundaryService->checkSectorInDepartment($sector1, '22'); echo " - Est contenu : " . ($result1['is_contained'] ? 'OUI' : 'NON') . "\n"; echo " - Message : " . $result1['message'] . "\n"; echo " - Départements touchés :\n"; foreach ($result1['intersecting_departments'] as $dept) { echo " * {$dept['nom_dept']} ({$dept['code_dept']}) : " . number_format($dept['percentage_overlap'] ?? 100, 1) . "%\n"; } // Exemple 2 : Secteur à cheval sur 22 et 29 echo "\n2. Test d'un secteur à cheval 22/29 (Morlaix):\n"; $sector2 = [ [48.5778, -3.8280], // Morlaix (29) [48.5778, -3.7280], // Vers l'est (22) [48.4778, -3.7280], [48.4778, -3.8280], [48.5778, -3.8280] ]; // Vérifier par rapport au département 22 $result2 = $boundaryService->checkSectorInDepartment($sector2, '22'); echo " - Est contenu dans le 22 : " . ($result2['is_contained'] ? 'OUI' : 'NON') . "\n"; echo " - Message : " . $result2['message'] . "\n"; // Obtenir tous les départements touchés echo "\n - Analyse complète du secteur :\n"; $allDepts = $boundaryService->getDepartmentsForSector($sector2); foreach ($allDepts as $dept) { echo " * {$dept['nom_dept']} ({$dept['code_dept']}) : " . number_format($dept['percentage_overlap'], 1) . "%\n"; } // Exemple 3 : Secteur sur 3 départements echo "\n3. Test d'un grand secteur (22/29/56):\n"; $sector3 = [ [48.2000, -3.5000], // Centre Bretagne [48.2000, -2.5000], [47.8000, -2.5000], [47.8000, -3.5000], [48.2000, -3.5000] ]; $allDepts3 = $boundaryService->getDepartmentsForSector($sector3); echo " - Départements touchés :\n"; foreach ($allDepts3 as $dept) { echo " * {$dept['nom_dept']} ({$dept['code_dept']}) : " . number_format($dept['percentage_overlap'], 1) . "%\n"; } // Calculer les adresses potentielles echo "\n - Si on récupérait les adresses, il faudrait interroger :\n"; foreach ($allDepts3 as $dept) { echo " * Table cp{$dept['code_dept']} pour {$dept['nom_dept']}\n"; } } catch (Exception $e) { echo "✗ Erreur : " . $e->getMessage() . "\n"; } echo "\n";