Annonce
Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).
En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.
#1 Sun 24 April 2016 16:03
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
[POSTGIS] st_difference vs difference dans QGIS
Bonjour,
Je bloque depuis hier soir sur st_difference! Je veux obtenir les données qui sont la difference de deux couches de polygones.
Je pense que st_difference est adaptée à ce problème, mais je n'obtiens aucuns résultats et surtout postgis plante (traitement très long).
Voici ma commande :
Code:
select distinct t1.*, st_difference (t1.geom, t2.geom) from "7123_POINT_TOUCHE_TRIANGLEleft_modif" t1, "union_sondesjoin_netouchepas" t2
j'ai réalisé un test sur QGIS avec un petit jeu de données et ça fonctionne !
POurquoi POSTGIS ne veut pas me renvoyer le résultat? Peut-être qu'il y a une commande plus rapide?
d'avance merci
Ted
Hors ligne
#2 Thu 28 April 2016 12:14
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1534
Re: [POSTGIS] st_difference vs difference dans QGIS
Bonjour,
Aie ! ne faites jamais (ou alors en faisant très attention) de requetes de ce type sans lier les deux tables intervenant dans la requete.
En faisant:
select t1.id, t2.id
from t1, t2;
Vous demander la combinatoire de toutes les lignes de t1 x toutes celles de t2 (30 000 lignes dans une table, 1000 dans l'autre et hop: 30 millions de lignes générées, 30 millions de fois st_difference !!)
Il faut ajouter une jointure entre les deux tables: ici, une jointure spatiale: vous ne voulez faire la différence de deux objets que si ceux-si sont en relation spatiale:
select distinct t1.*, st_difference (t1.geom, t2.geom)
from
"7123_POINT_TOUCHE_TRIANGLEleft_modif" t1 JOIN "union_sondesjoin_netouchepas" t2 ON st_intersects(t1.geom, t2.geom)
Il faut alors créer des index spatiaux sur les colonnes geom des deux tables (puis analyse dessus).
Nicolas
Hors ligne
#3 Thu 28 April 2016 12:27
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
Re: [POSTGIS] st_difference vs difference dans QGIS
Merci Nicolas,
je teste ça dans la journée normalement
Hors ligne
#4 Tue 03 May 2016 12:05
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
Re: [POSTGIS] st_difference vs difference dans QGIS
Bonjour,
J'ai réussi en traitant les informations par différence d'Id ce qui m'a facilité le travail.
Je n'ai toujours pas réussi à faire fonctionner le st_difference, mais je ne me décourage pas. Sachant, que j'ai réussi à obtenir ce que je voulais, il fallait juste que je structure correctement mes données.
Tes
Hors ligne