Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GeoRezo est partenaire média de la Conférence Francophone SIG 2017 organisée par ESRI.

Les bénévoles de l'association seront présents les 11 et 12 Octobre aux Docks de Paris.

Le programme est riche, mais vous trouverez bien un  moment pour venir faire une pause au stand GeoRezo, et rencontrer les animateurs du portail francophone de la géomatique.

Nous serons à votre écoute pour partager avec vous notre passion pour l’animation du portail GeoRezo.

L'équipe GeoRezo

#1 mer. 13 septembre 2017 15:28

Tititatatoto
Membre
Date d'inscription: 26 juil. 2017
Messages: 9

Opération qui n'en finit pas

Bonjour,

Sous pgAdmin 4, j'ai certaines opérations qui fonctionnent dans un temps limité avec un nombre limité d'enregistrement, mais ne terminent jamais avec un plus grand nombre d'enregistrements.

Exemple avec une table contenant 300 000 multipolygones.
ST_SnapToGrid fonctionne en 3 secondes, sur 50000 enregistrements (quelle que soit la tranche de 50000), mais ne termine pas sur les 300 000 enregistrements (alors qu'on pourrait imaginer que le temps de calcul total est juste la somme des temps unitaires).

Y a t-il quelque chose à faire au niveau de la configuration ? Ou une autre astuce ?

Merci par avance

Hors ligne

 

#2 mer. 13 septembre 2017 22:43

Loic_GR
Moderateur
Lieu: besancon
Date d'inscription: 12 mai 2011
Messages: 807
Site web

Re: Opération qui n'en finit pas

Bonsoir,

Tout est bien indexé spatialement ?

Les géométries sont valides ?

Dernière modification par Loic_GR (mer. 13 septembre 2017 22:50)


Site perso ~ www.partir-en-vtt.com Site pro ~ www.sigogne.org
Freelance traitements ETL FME : www.sitdi-france.fr Twitter : @sitdifrance

Hors ligne

 

#3 jeu. 14 septembre 2017 10:41

Tititatatoto
Membre
Date d'inscription: 26 juil. 2017
Messages: 9

Re: Opération qui n'en finit pas

La table est trop grande, ST_MakeValid finit par échouer.
Et du coup j'essaye de simplifier les géométries pour ensuite appliquer ST_MakeValid.

Mais je devrais peut-être effectivement d'abord traiter les géométries invalides.

L''invalidité est quasi exclusivement de type "Ring Self-intersection".
Il y a peut-être un autre moyen de traiter des grandes tables (ici 300 000 multipolygones dont 5000 invalides) ?

Hors ligne

 

#4 jeu. 14 septembre 2017 11:12

Loic_GR
Moderateur
Lieu: besancon
Date d'inscription: 12 mai 2011
Messages: 807
Site web

Re: Opération qui n'en finit pas

Hello tu as tenté de faire un update des géom non valides ?

Code:

UPDATE ta_table
SET the_geom = ST_MakeValid(the_geomy)
WHERE NOT ST_IsValid(the_geom)

Site perso ~ www.partir-en-vtt.com Site pro ~ www.sigogne.org
Freelance traitements ETL FME : www.sitdi-france.fr Twitter : @sitdifrance

Hors ligne

 

#5 jeu. 14 septembre 2017 11:51

Tititatatoto
Membre
Date d'inscription: 26 juil. 2017
Messages: 9

Re: Opération qui n'en finit pas

Oui j'utilise :

Code:

UPDATE table
SET geom = St_CollectionExtract(St_ForceCollection(St_MakeValid(geom)),3)
WHERE NOT St_IsValid(geom);

Mais le traitement ne termine jamais.
Dans ce document, il est conseillé de passer sur Openjump ?

Hors ligne

 

#6 jeu. 14 septembre 2017 12:29

Loic_GR
Moderateur
Lieu: besancon
Date d'inscription: 12 mai 2011
Messages: 807
Site web

Re: Opération qui n'en finit pas

Merci pour le partage du document. Et si tu extraits sur une table les données en erreur et que tu lances le traitement sur cette table réduite ?


Site perso ~ www.partir-en-vtt.com Site pro ~ www.sigogne.org
Freelance traitements ETL FME : www.sitdi-france.fr Twitter : @sitdifrance

Hors ligne

 

#7 jeu. 14 septembre 2017 14:08

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 juil. 2010
Messages: 427

Re: Opération qui n'en finit pas

Salut,

la version de postgres/postgis que vous utilisez serait la bienvenue.

Hors ligne

 

#8 jeu. 14 septembre 2017 14:37

Tititatatoto
Membre
Date d'inscription: 26 juil. 2017
Messages: 9

Re: Opération qui n'en finit pas

Versions :
PostgreSQL : 9.6
Postgis : 2.3.3

Finalement j'ai un succès après plusieurs essais. Avec la table entière, j'ai pu reprendre la main après 3h, alors qu'il affiche que le traitement a duré 40 min. C'est bizarre non ?

J'ai lancé le traitement avec la table réduite pour voir si c'est mieux.

Hors ligne

 

#9 jeu. 14 septembre 2017 17:02

Nicolas Ribot
Moderateur
Lieu: Toulouse
Date d'inscription: 9 sept. 2005
Messages: 1007

Re: Opération qui n'en finit pas

Bonjour,

Je serais vous, je n'utiliserais plus PgAdmin 4: trop buggé:
soit PgAdmin III LTS de BigSQL, qui supporte PG <= 10.0, soit datagrip ou autre editeur puissant.

Nicolas

Hors ligne

 

#10 lun. 18 septembre 2017 09:01

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2337
Site web

Re: Opération qui n'en finit pas

Bonjour

Je serais vous, je n'utiliserais plus PgAdmin 4: trop buggé:

+ 1000

Et sous windows 64 c'est plus de buggs c'est une horreur !


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#11 lun. 18 septembre 2017 11:37

Sylvain M.
Membre
Lieu: Carrouges, Orne (61)
Date d'inscription: 8 sept. 2005
Messages: 132

Re: Opération qui n'en finit pas

Intéressants vos retours sur PgAdmin 4 : j'en avais le sentiment, mais je me demandais si ça ne venait pas de moi wink
Du coup, j'ai voulu installer PgAdmin III LTS de BigSQL, mais je ne trouve que le téléchargement de PostGreSQL complet : https://www.openscg.com/bigsql/postgresql/
Est-on obligé de mettre à jour l'ensemble de PostGreSQL pour utiliser cette version de PgAdmin ? (je suis sur PgAdmin III v1.22.1 de février 2016, avec un serveur PostGreSQL 9.3 en local) Et si oui, est-ce une procédure de routine (simple) sur Windows 7 64bit ?

Hors ligne

 

#12 lun. 18 septembre 2017 11:55

Tititatatoto
Membre
Date d'inscription: 26 juil. 2017
Messages: 9

Re: Opération qui n'en finit pas

J'ai fait le test sur la table réduite aux lignes invalides : même problème, le traitement dure environ 30 min mais je reprends la main au bout de plusieurs heures.

J'ai installé PgAdmin III LTS de BigSQL.
Avec le package complet, j'ai juste installé PgAdminIII et administré la même base que celle que j'utilisais auparavant (cela ne pose pas de problème ?).
Le problème semble persistant (2h que ça tourne, et je n'ai pas repris la main).

Hors ligne

 

#13 mar. 19 septembre 2017 12:38

Tititatatoto
Membre
Date d'inscription: 26 juil. 2017
Messages: 9

Re: Opération qui n'en finit pas

Finalement le calcul a duré 8 heures sous PgAdminIII...

Hors ligne

 

#14 mar. 19 septembre 2017 14:31

Loic_GR
Moderateur
Lieu: besancon
Date d'inscription: 12 mai 2011
Messages: 807
Site web

Re: Opération qui n'en finit pas

Salut,

Il faut parfois être un peu (beaucoup) patient !


Site perso ~ www.partir-en-vtt.com Site pro ~ www.sigogne.org
Freelance traitements ETL FME : www.sitdi-france.fr Twitter : @sitdifrance

Hors ligne

 

#15 Hier 18:25

Nicolas Ribot
Moderateur
Lieu: Toulouse
Date d'inscription: 9 sept. 2005
Messages: 1007

Re: Opération qui n'en finit pas

Bonsoir,

Une petite précision concernant ces pb de perf:
Ni pgAdmin III ni le 4 ne realisent le moindre calcul: ils envoient (en tant que client), une requete SQL au serveur qui retourne le résultat au client.

Pour savoir ce qui se passe dans une requete, il faut les infos suivantes:
versions de PG, postgis, os et disques.
Structure de la ou les tables
et surtout, analyser le plan de la requete, la seule information qui dit pkoi une requete est lente.
EXPLAIN <requete> montre le plan sans executer la requete
EXPLAIN ANALYZE <requete> montre le plan ET execute la requete, indiquant le timing et les blocs de données accédés.

Donc, ici, on aimerait connaitre le plan de la requete pour voir ce qu'a compris PG.

Nicolas

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |