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 !.
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é ?

#1 Mon 05 January 2026 12:34

Lahie
Participant occasionnel
Date d'inscription: 24 Jan 2022
Messages: 16

Différence entre la longueur caculé sur qgis et dans geopackage

Bonjour,

J'ai une couche "câbles" dans la projection 2154 ouvert dans qgis que j'importais dans la même projection dans mon geopackage.
J'ai utilisé $length de qgis pour le calcul de la longueur pendant la numérisation de la couche que j'avais importé. Mais on manipulant les données de geopackage avec la gestionnaire de BD de QGIS, quand j'utilise st_length(geom) ça me donne de résultat complètement différent de la longeur que j'ai obtenu de QGIS.

Quelqu'un saurait me dire ce que j'ai mal fait ou saurait me dire la cause de cela?

NB : J'ai mis en pièce joint le resultat que j'ai eu depuis qgis et dans gpkg.

Merci d'avance pour votre aide.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Mon 05 January 2026 14:06

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

Re: Différence entre la longueur caculé sur qgis et dans geopackage

Se pourrait-il que votre couche câbles ait des données Z ? (altitude)
Essayer avec ST_Length3D(geom) pour voir si vous obtenez la valeur calculée par QGis ?

Sinon, vu qu'il n'y a qu'une entité dans la couche, pouvez-vous nous donner le résultat de ST_AsText(geom), pour voir ce qui cloche ?


Sylvain M.

Hors ligne

 

#3 Mon 05 January 2026 15:01

Lahie
Participant occasionnel
Date d'inscription: 24 Jan 2022
Messages: 16

Re: Différence entre la longueur caculé sur qgis et dans geopackage

Sylvain M. a écrit:

Se pourrait-il que votre couche câbles ait des données Z ? (altitude)
Essayer avec ST_Length3D(geom) pour voir si vous obtenez la valeur calculée par QGis ?

Sinon, vu qu'il n'y a qu'une entité dans la couche, pouvez-vous nous donner le résultat de ST_AsText(geom), pour voir ce qui cloche ?


En testant st_3Dlength(geom), j’obtiens le même résultat que dans le fichier GPKG. En revanche, lorsque j’utilise st_astext(geom), la géométrie retournée est de type MULTILINESTRING.

Vous trouverez en pièce jointe le résultat que j’ai obtenu.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#4 Mon 05 January 2026 21:10

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

Re: Différence entre la longueur caculé sur qgis et dans geopackage

Si les données ne sont pas confidentielles (le tracé des câbles en question), ce serait plus la valeur en format texte qui serait intéressante, à copier/coller ici (non sous forme de capture d'écran).

Le problème vient peut-être au moment de l'import dans le GPKG ? Avez-vous refait le calcul QGis sur la table du GPKG, pour voir le résultat ?


Sylvain M.

Hors ligne

 

#5 Tue 06 January 2026 08:39

Lahie
Participant occasionnel
Date d'inscription: 24 Jan 2022
Messages: 16

Re: Différence entre la longueur caculé sur qgis et dans geopackage

Bonjour,

Sylvain M. a écrit:

Si les données ne sont pas confidentielles (le tracé des câbles en question), ce serait plus la valeur en format texte qui serait intéressante, à copier/coller ici (non sous forme de capture d'écran).


Voici le résultat pour format st_astext(geom) :
MULTILINESTRING((8704998.000061 -3610.887634, 8705081.395687 -3596.992558, 8705156.962435 -3559.203103, 8705233.407667 -3537.020395, 8705275.10925 -3562.938865, 8705260.576973 -3613.60296, 8705183.841896 -3620.130785, 8705169.213725 -3642.503452, 8705186.198171 -3692.39996, 8705242.699469 -3758.876977, 8705274.366426 -3779.839778))

Sylvain M. a écrit:

Le problème vient peut-être au moment de l'import dans le GPKG ? Avez-vous refait le calcul QGIS sur la table du GPKG, pour voir le résultat ?


Oui, j'ai déjà recalculé et le résultat est toujours le même côté qgis : 351,0690900026144
mais avec st_length(geom) sur le gpkg : 632,1116561124612.

Hors ligne

 

#6 Tue 06 January 2026 16:15

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

Re: Différence entre la longueur caculé sur qgis et dans geopackage

Je viens de charger cette géométrie via cette requête :

Code:

SELECT 'cable' as nom,
        geom_from_wkt('MULTILINESTRING((8704998.000061 -3610.887634, 8705081.395687 -3596.992558, 8705156.962435 -3559.203103, 8705233.407667 -3537.020395, 8705275.10925 -3562.938865, 8705260.576973 -3613.60296, 8705183.841896 -3620.130785, 8705169.213725 -3642.503452, 8705186.198171 -3692.39996, 8705242.699469 -3758.876977, 8705274.366426 -3779.839778))') as geom,
        st_length(geom_from_wkt('MULTILINESTRING((8704998.000061 -3610.887634, 8705081.395687 -3596.992558, 8705156.962435 -3559.203103, 8705233.407667 -3537.020395, 8705275.10925 -3562.938865, 8705260.576973 -3613.60296, 8705183.841896 -3620.130785, 8705169.213725 -3642.503452, 8705186.198171 -3692.39996, 8705242.699469 -3758.876977, 8705274.366426 -3779.839778))')) as st_length

Et je confirme que la longueur calculée via st_length est de 632.11m

Par contre, je constate que cette ligne se situe au niveau de Madagascar/Antananarivo si je la charge dans QGis, en projection 2154.

Hors, la projection EPSG:2154 (Lambert 93) n'est pas du tout adaptée à ce territoire.
Je pense que le problème initial vient de là, et que la donnée source est dans un autre système de projection, adapté à Madagascar : cela expliquerait la différence de longueur calculée.

Dernière modification par Sylvain M. (Tue 06 January 2026 16:16)


Sylvain M.

Hors ligne

 

#7 Hier 12:42

Lahie
Participant occasionnel
Date d'inscription: 24 Jan 2022
Messages: 16

Re: Différence entre la longueur caculé sur qgis et dans geopackage

Bonjour,

En effet, la projection adapté pour Madagascar n'est pas 2154. Mais ayant eu des demandes pour cette projection, j'avais donc voulu tester. Quand j'ai créé la couche, la projection que j'ai utilisé c'était tout de suite 2154 pour la couche et ensuite je l'importais dans un gpkg et le résultat était comme celui que j'ai partagé.

Mais peut-être que je vais alors rester sur la projection adapté pour Madagascar et c'est quand je vais exporter les données que je le mettrai en 2154 comme demandé.

Merci beaucoup pour votre aide.

Hors ligne

 

#8 Hier 13:22

Yves Egels
Participant assidu
Lieu: Paris
Date d'inscription: 29 Sep 2011
Messages: 275
Site web

Re: Différence entre la longueur caculé sur qgis et dans geopackage

Bonjour,
Il me semble totalement aberrant de livrer quelque donnée que ce soit sur Madagascar dans une projection prévue pour le territoire de France métropolitaine. Il faut prévenir le client que c'est une ineptie, et choisir une projection compatible,  de préférence Laborde Tananarive, ou UTM 38 ou 39 par exemple.


Ingénieur géographe honoraire
École nationale des sciences géographiques
Société française de photogrammétrie et télédétection

Hors ligne

 

#9 Hier 14:37

Lahie
Participant occasionnel
Date d'inscription: 24 Jan 2022
Messages: 16

Re: Différence entre la longueur caculé sur qgis et dans geopackage

Bonjour Yves,

Je crois que vous avez raison. J'en prendrai note.

Merci pour vos retours.

Hors ligne

 

#10 Hier 15:09

Lahie
Participant occasionnel
Date d'inscription: 24 Jan 2022
Messages: 16

Re: Différence entre la longueur caculé sur qgis et dans geopackage

Re,

Après vérification en utilisant la projection 29702,  on obtient une distance similaire à celle calculée dans QGIS sur GPKG.

Merci à vous tous.

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo