#1 Tue 18 June 2019 23:09
- Tonio
- Juste Inscrit !
- Date d'inscription: 5 Feb 2019
- Messages: 6
Postgis: optimiser une requete ST_intersect
Bonsoir à tous,
Je manie de nombreux polygones dans une table disposant des colonnes id, surface et geometry. Je souhaiterais réaliser des opérations d'intersection dans le but de classer mes polygones par département.
Le problème c'est que lorsque j'exécute cette requête:
Code:
SELECT region.nom AS region, sum(data.surface) AS surface_polygone, count(data.id) AS nb_polygone FROM departement JOIN data ON ST_intersects(data.geom, departement.geom) GROUP BY departement
Postgis se lance dans un calcul de requête interminable. J'ai donc supposé que classer 9 millions de polygones dans des départements pourrait se simplifier.
Je suis parti de l'hypothèse suivante: Si je symbolise tous mes polygones par des points issus de la fonction ST_PointOnSurface, alors je disposerais d'une table qui me permettra de réaliser une requête rapide pour faire une intersection de ces points avec mes départements.
Code:
SELECT AddGeometryColumn ('public','data','point_on_surface',2154,'POINT',2);
J’obtiens bien une nouvelle table avec un point pour représenter chacun de mes polygones, cependant surprise lorsque je tente à nouveau ma requête pour intersecter mes points avec mes départements je n’ai pas l’impression d’avoir gagné en temps, on est toujours sur un calcul interminable, et pire encore je m’aperçois que projeter mes points sur qgis prend un temps plus long que charger mes polygones.
Je tourne un peu en rond et je dois passer à côté de quelque chose j'imagine.
Est-ce que quelqu’un pourrait me conseiller ?
Je vous remercie d’avance pour votre aide
Hors ligne
#2 Wed 19 June 2019 10:19
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Postgis: optimiser une requete ST_intersect
Bonjour,
Avez-vous créé des index spatiaux sur les tables que vous utilisez ?
Nicolas
Hors ligne
#3 Wed 19 June 2019 12:44
- Tonio
- Juste Inscrit !
- Date d'inscription: 5 Feb 2019
- Messages: 6
Re: Postgis: optimiser une requete ST_intersect
Bonjour,
J'avais oublié de créer un index spatial sur la nouvelle table.... effectivement ça va beaucoup mieux maintenant !
merci
Dernière modification par Tonio (Wed 19 June 2019 12:45)
Hors ligne