Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
#1 Tue 26 November 2024 20:42
- Jules-Yann
- Juste Inscrit !
- Date d'inscription: 8 Feb 2024
- Messages: 2
QGIS: Table multi-geometrie et performance
Bonjour !
Je poste pour la première fois donc n'hésitez pas à me faire signe si je ne suis pas au bon endroit.
Voici mon problème : je travaille avec une base de données contenant une grosse quantité de données et ces données peuvent être des points, lignes, polygones.
Pour pouvoir travailler avec les données de cette table dans QGIS j'ai créé des vues qui filtrent la table sur deux paramètres : le type de géométrie et un type de données.
La table de référence des données (celle qui me permet la création des vues) à été créé manuellement en SQL peut être mal ?
Tout fonctionne, mais côté performance c'est une vraie catastrophe, par exemple prêt d'une minute de chargement lorsque je tente de sélectionner des entités avec l'outil QGIS, pareil quand je récupère des infos sur une entité.
Peut être un première piste du côté de la vue geometry_columns qui me donne le SRID de mes table à 0 (au lieu de 2154 alors que les entités ont toutes un SRID = 2154 et un type de géométrie = GEOMETRY alors qu'elle sont filtrés par type).
Malgré mes recherches je n'ai rien trouvé sur le sujet ou pas compris (peut être mal cherché ?).
Pour info je suis développeur et pas géomaticien donc j'ai de bonne base en BDD mais moins en ce qui s'agit de géomatique !
J'espère que ma requête et clair et je reste à votre disposition pour apporter des précisions !
Hors ligne
#2 Wed 27 November 2024 09:22
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1166
Re: QGIS: Table multi-geometrie et performance
La table de référence des données (celle qui me permet la création des vues) à été créé manuellement en SQL peut être mal ?
à ma connaissance non.
Tout fonctionne, mais côté performance c'est une vraie catastrophe, par exemple prêt d'une minute de chargement lorsque je tente de sélectionner des entités avec l'outil QGIS, pareil quand je récupère des infos sur une entité.
Comment filtrez vous votre table de réference pour créer vos vues ? Un index améliorerait peut être les performances.
Peut être un première piste du côté de la vue geometry_columns qui me donne le SRID de mes table à 0 (au lieu de 2154 alors que les entités ont toutes un SRID = 2154 et un type de géométrie = GEOMETRY alors qu'elle sont filtrés par type).
C'est dans la définition de votre table que vous indiquez le SRID de voter colonne géometrique. Peut être que cela peut avoir un impact sur les performances également, Qgis étant obligé de vérifier le SRID de la géomètrie de chaque entité avant de l'afficher mais je ne connais pas assez Qgis pour en être sûr.
En supposant que vous utilisez postgresql, la définition de votre table doit être comme suit :
Code:
CREATE TABLE table_reference(..., geom GEOMETRY('GEOMETRY', 2154), ... );
Dernière modification par tumasgiu (Wed 27 November 2024 10:30)
Hors ligne
#3 Thu 28 November 2024 15:43
- Jules-Yann
- Juste Inscrit !
- Date d'inscription: 8 Feb 2024
- Messages: 2
Re: QGIS: Table multi-geometrie et performance
Merci pour votre réponse,
J'ai ajouté un SRID à ma colonne et effectivement le problème de SRID venait bien de là. Maintenant ma vue geometry_columns à bien un srid correct.
Pour ce qui est de la performance c'était effectivement juste un problème d'indexation (j'avais raté le plus important)..
Merci pour la piste !
Hors ligne