Message posté par : Tonio
----------------------------------------
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
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=322445#p322445
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net