banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 24 September 2019 17:18

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 995

[PostGis] [QGis] Lenteur d'affichage du contenu d'un schéma

Bonjour à tous,

J'ai intégré récemment dans mon serveur PostGreSQL local la Bd-Topo v3, France entière.
Pas de souci pour y accéder depuis PGAdmin, et y exécuter mes requêtes SQL.

Par contre, quand je passe par QGis pour charger les données, le logiciel mets plusieurs minutes à afficher le contenu du schéma correspondant.
Non pas à charger les données (ça, bien sûr que c'est long), mais à scanner les tables du schéma lorsque je fait :
"Ajouter une couche PostGis > Connecter (à la Bdd de la Bd Topo) > ..."

A ce moment là, QGis affiche en barre d'état en bas :
"Balayage colonne schema.table.geometrie..."
Et c'est ça qui prend plusieurs minutes (toutes les tables sont scannées et ça prend bcp de temps par table)

Par contre, je n'ai pas de souci de lenteur quand je passe par le gestionnaire de BDD (mais qui n'affiche que les données ayant une géométrie).

Vous rencontrez aussi ce problème ?

Merci pour votre aide.


Sylvain M.

Hors ligne

 

#2 Tue 24 September 2019 17:34

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1160

Re: [PostGis] [QGis] Lenteur d'affichage du contenu d'un schéma

Salut,

je dis peut être des bêtises mais peut être
que les colonnes géométriques ne sont pas explicitement typées,
çàd :

Code:

the_geom geometry('TypeDeLaGeom', SRID)

Du coup QGIS est obligé de scanner les tables pour déterminer SCR
et type de géométrie ?

Hors ligne

 

#3 Fri 04 October 2019 16:09

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 995

Re: [PostGis] [QGis] Lenteur d'affichage du contenu d'un schéma

Pardon, je n'avais pas vu ta réponse ! (j'ai oublié de m'abonner en postant*)

Voici comment sont typées les colonnes géométriques :

Code:

geometrie geometry(Geometry,2154)

Dans les fichiers SQL originaux officiels de la BD-TOPOv3 SQL (que j'ai utilisés), voici comment sont créées les colonnes géométrioues :

Code:

SELECT AddGeometryColumn('table','geometrie',2154,'GEOMETRY',2);
CREATE INDEX "table_geometrie_geom_idx" ON "table" USING GIST ("geometrie");

Le type de géométrie n'est donc pas précisé, on est d'accord ?

Ce serait à remonter à l'IGN ?

(d'ailleurs, il me semblait que les conventions actuelles étaient nommer les colonnes de géométrie "geom"... Ça aurait été plus simple pour moi !)

* Ce serait bien qu'on soit abonné d'office aux sujets qu'on ouvre : ne serait-ce pas possible au niveau de l'administration de GeoRezo)

Dernière modification par Sylvain M. (Fri 04 October 2019 16:10)


Sylvain M.

Hors ligne

 

#4 Fri 04 October 2019 21:28

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1160

Re: [PostGis] [QGis] Lenteur d'affichage du contenu d'un schéma

Le type de géométrie n'est donc pas précisé, on est d'accord ?


Oui, seul le SRID est présent, du coup QGIS doit scanner votre table
pour en connaitre le(s) type(s) exact(s).

Ce serait à remonter à l'IGN ?


A voir. peut être est ce à dessein parceque la table peut contenir
des géométries de tout type ?

(d'ailleurs, il me semblait que les conventions actuelles étaient nommer les colonnes de géométrie "geom"... Ça aurait été plus simple pour moi !)


Pourquoi plus simple ? Je sais pas si l'OGC a une recommandation la dessus,
j'ai vu (et déclaré) de tout : the_geom, g, geom, the_point, geometry., the_poly, the_polygon..
l’appellation de l'attribut geometrique d'ogr est wkb_geometry...

Dernière modification par tumasgiu (Fri 04 October 2019 21:29)

Hors ligne

 

#5 Mon 07 October 2019 13:04

Edouard Hyvernat
Participant occasionnel
Lieu: Vernon
Date d'inscription: 24 Jan 2011
Messages: 46

Re: [PostGis] [QGis] Lenteur d'affichage du contenu d'un schéma

Hello,

Une piste complémentaire serait, dans QGIS, de pensez à désactiver l'option "Lister les tables sans géométries" (en bas de la fenêtre) dans le gestionnaire de données PostgreSQL. Sinon, QGIS scannera toutes les tables de tous les schémas y compris celles sans géométries, les tables systèmes et il peut y en avoir beaucoup si vous avez d'autres extensions que Postgis d'installées pour votre BD et bcp de volume si votre BD est importante

Sinon, passez directement par l'extension officielle "DB Manager" ; Pour ma part, je trouve qu'elle a bien plus d'avantage car on peut y insérer des requêtes spécifiques, créer/modifier les tables... Bref administrer sa base assez facilement et charger les résultats d'un SELECT en tant que nouvelle couche par exemple.

Hors ligne

 

#6 Mon 07 October 2019 13:43

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 995

Re: [PostGis] [QGis] Lenteur d'affichage du contenu d'un schéma

tumasgiu a écrit:

Le type de géométrie n'est donc pas précisé [...]


peut être est ce à dessein parceque la table peut contenir des géométries de tout type ? [...]


J'ai inspecté les tables - avec SELECT ST_GeometryType(geometrie) - et ce n'est pas le cas : chaque table a son propre type de géométrie.
(ce qui me parait logique d'ailleurs, puisque la BD-Topo était livrée en SHP précédemment)

Du coup, le problème est bien identifié, et je pense le résoudre en faisant des requêtes de ce type :

Code:

ALTER TABLE france_2019.batiment ALTER COLUMN geometrie type geometry(MultiPolygon, 2154);

(mais je vais devoir le faire manuellement, car je ne connais pas de moyen pour le faire pour toutes les tables de tous les types...)

Du coup, ça me semblerait quand même plus pratique, pour les prochaines livraisons, que le type soit précisé dans le champ geometrie.
Êtes-vous d'accord là dessus ?


Edouard Hyvernat a écrit:

Sinon, passez directement par l'extension officielle "DB Manager"


En effet, c'est le plus simple : il suffit de changer mon habitude smile


Sylvain M.

Hors ligne

 

#7 Mon 07 October 2019 14:40

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1160

Re: [PostGis] [QGis] Lenteur d'affichage du contenu d'un schéma

Sylvain M. a écrit:

(mais je vais devoir le faire manuellement, car je ne connais pas de moyen pour le faire pour toutes les tables de tous les types...)


Il y a un moyen avec l'outil en ligne de commande psql, en utilisant la méta-commande \gexec.

Sylvain M. a écrit:

Du coup, ça me semblerait quand même plus pratique, pour les prochaines livraisons, que le type soit précisé dans le champ geometrie.
Êtes-vous d'accord là dessus ?


Encore une fois à voir avec l'IGN, mais oui apparemment.
Peut être est ce aussi votre import shape vers postgis qui n'est pas
correctement paramétré (simple supposition...)

Edouard Hyvernat a écrit:

Sinon, passez directement par l'extension officielle "DB Manager" ; Pour ma part, je trouve qu'elle a bien plus d'avantage car on peut y insérer des requêtes spécifiques, créer/modifier les tables... Bref administrer sa base assez facilement et charger les résultats d'un SELECT en tant que nouvelle couche par exemple.


Completement d'accord

Dernière modification par tumasgiu (Mon 07 October 2019 14:50)

Hors ligne

 

#8 Mon 07 October 2019 15:11

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 995

Re: [PostGis] [QGis] Lenteur d'affichage du contenu d'un schéma

Peut être est ce aussi votre import shape vers postgis qui n'est pas
correctement paramétré (simple supposition...)


Non, je ne suis pas parti des SHP !
Je suis parti de la livraison de la Bd-Topo au format SQL : c'est beaucoup plus pratique maintenant, et France Entière !
(pour moi qui travaille sur 4 départements et 2 régions, plus besoin d'assembler les SHP : j'importe le SQL national, que je découpe juste par mon territoire)
Et c'est bien ces fichiers SQL originaux qui définissent toutes les géométries de cette manière :

SELECT AddGeometryColumn('table','geometrie',2154,'GEOMETRY',2);


Merci pour vos retours qui m'ont encore fait progresser dans l'apprentissage de PGSQL ! big_smile


Sylvain M.

Hors ligne

 

#9 Fri 23 October 2020 11:29

Julien81
Participant assidu
Lieu: Giroussens
Date d'inscription: 14 Jan 2019
Messages: 181

Re: [PostGis] [QGis] Lenteur d'affichage du contenu d'un schéma

Je plusoie,

j'ai le même problème après avoir tout importé (millésime 2020) grâce aux riches ressources du réseau et ign, je me rend compte que les fichiers sql originaux sont typé de façon générique en type geometry pour chaque.

D'ailleurs Sylvain si vous avez trouvé une solution pour effectuer le typage pour chaque table autrement qu'une à une je suis vraiment intéressé!

Cordialement

Hors ligne

 

Pied de page des forums

Powered by FluxBB