feat: Gestion des secteurs et migration v3.0.4+304
- Ajout système complet de gestion des secteurs avec contours géographiques - Import des contours départementaux depuis GeoJSON - API REST pour la gestion des secteurs (/api/sectors) - Service de géolocalisation pour déterminer les secteurs - Migration base de données avec tables x_departements_contours et sectors_adresses - Interface Flutter pour visualisation et gestion des secteurs - Ajout thème sombre dans l'application - Corrections diverses et optimisations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
37
api/scripts/fix_geometry_for_spatial_index.sql
Normal file
37
api/scripts/fix_geometry_for_spatial_index.sql
Normal file
@@ -0,0 +1,37 @@
|
||||
-- Script pour diagnostiquer et corriger les problèmes d'index spatial
|
||||
|
||||
-- 1. Vérifier s'il y a des géométries vides
|
||||
SELECT 'Géométries vides:' as diagnostic;
|
||||
SELECT code, libelle
|
||||
FROM x_departements
|
||||
WHERE contour IS NOT NULL AND ST_IsEmpty(contour) = 1;
|
||||
|
||||
-- 2. Essayer de créer un index spatial sur une copie de la table pour tester
|
||||
CREATE TABLE x_departements_test LIKE x_departements;
|
||||
|
||||
-- 3. Copier uniquement les départements métropolitains avec contours
|
||||
INSERT INTO x_departements_test
|
||||
SELECT * FROM x_departements
|
||||
WHERE contour IS NOT NULL
|
||||
AND code NOT IN ('20', '971', '972', '973', '974', '975', '976');
|
||||
|
||||
-- 4. Tenter de créer l'index spatial sur la table de test
|
||||
ALTER TABLE x_departements_test ADD SPATIAL INDEX idx_contour_test (contour);
|
||||
|
||||
-- Si ça fonctionne, le problème vient des départements spécifiques
|
||||
-- Si ça ne fonctionne pas, il y a un problème avec les données géométriques
|
||||
|
||||
-- 5. Alternative : recréer les géométries à partir du texte WKT
|
||||
-- Cela peut corriger certains problèmes de format
|
||||
UPDATE x_departements d
|
||||
INNER JOIN x_departements_contours dc ON d.code = dc.code_dept
|
||||
SET d.contour = ST_GeomFromText(ST_AsText(dc.contour))
|
||||
WHERE dc.contour IS NOT NULL
|
||||
AND d.code IN (SELECT code FROM x_departements WHERE contour IS NOT NULL LIMIT 1);
|
||||
|
||||
-- 6. Nettoyer
|
||||
DROP TABLE IF EXISTS x_departements_test;
|
||||
|
||||
-- Note : Pour l'instant, l'index normal créé avec contour(32) permettra
|
||||
-- le fonctionnement de l'API, même si les performances seront moindres
|
||||
-- qu'avec un vrai index spatial.
|
||||
Reference in New Issue
Block a user