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

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 Thu 20 June 2019 15:57

JB Richet
Participant occasionnel
Date d'inscription: 3 Nov 2016
Messages: 27
Site web

QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

Bonjour,

La fonction de recherche ne semble pas fonctionner sur l'interface du forum, je n'ai donc pas pu vérifier si le problème était connu ou résolu... Désolé si c'est une redite.

Une couche produite dans qgis avec une fonction grass ne se projette pas au même endroit selon que je la charge avec qgis ou avec saga. Il y a un décalage d'un demi pixel vers l'est et le sud.

Projet Qgis en mode raster, un peu complexe. Croisement de nombreuses cartes, avec des pondérations issues de tableaux, pour créer de l'information. Par exemple érodibilité, surface drainée et pente, chacun de ces paramètres classées avec un petit nombre de classes, le croisement de ces trois indices donne un indice de sévérité de l'aléa érosion en talweg. J'utilise des fonctions gdal (comme rasterisation), grass (notamment r.reclass) et qgis (calculatrice raster), en prenant soin de bien préciser toujours le même raster comme référence d'emprise. Les couches produites sont au format TIFF.

Tout allait bien jusqu'à ce que j'ai besoin d'une fonction SAGA pour une étape utlérieure. En l'occurrence la fonction "catchment area (flow tracing)" car je ne trouve pas d'autre fonction pour déterminer une surface amont tenant compte d'une couche de pondération. La fonction échoue. Je tente de faire la même chose directement dans SAGA, et je me rend compte que mes couches n'ont pas la même emprise, selon SAGA ! SAGA ne me laisse donc pas exécuter la fonction. Lorsque je charge les couches, dans une même carte, il indique une erreur "systèmes de coordonnées différents". Les emprises que SAGA donne sont différentes de celles données pour les même couches par qgis, avec un décalage d'un demi pixel vers l'est et le sud dans SAGA par rapport à qgis.

Comment se fait-il que SAGA et Qgis n'interprètent pas de la même façon un même fichier tif ? Y aurait-il une précaution que j'ai négligé de prendre ?

A défaut, comment me passer de SAGA ? Je cherche une fonction qui me donne un flow accumulation qui tienne compte d'une couche de pondération en plus du MNT.

Merci de votre aide, Bien sincèrement, Jean-Baptiste

Hors ligne

 

#2 Thu 20 June 2019 16:09

JB Richet
Participant occasionnel
Date d'inscription: 3 Nov 2016
Messages: 27
Site web

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

note : je constate le même décalage dans arcgis 9.3

Hors ligne

 

#3 Thu 20 June 2019 16:50

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

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

Est ce que c'est un geotiff ou un tiff + tfw ?

Lorsque je charge les couches, dans une même carte, il indique une erreur "systèmes de coordonnées différents"


Est ce que vous êtes sûr d'avoir défini le bon système de coordonnées ?
Le tiff+tfw ne vous permet pas d'enregistrer le SCR.

Il y a un décalage d'un demi pixel vers l'est et le sud.


Comment se fait-il que SAGA et Qgis n'interprètent pas de la même façon un même fichier tif ? Y aurait-il une précaution que j'ai négligé de prendre ?


Vraisemblablement, QGIS géoreference le coin supérieur gauche du pixel et SAGA/ArcGIS le centre du pixel.
A noter que si vous générez un geotiff, il existe deux modes de représentations possibles : PixelAsArea ou PixelAsPoint
Peut être que le décalage vient de là....

Hors ligne

 

#4 Thu 20 June 2019 17:07

JB Richet
Participant occasionnel
Date d'inscription: 3 Nov 2016
Messages: 27
Site web

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

Bonjour tumasgiu,
Là, on tient une piste !
Pour enregistrer les résultats, j'ai laissé l'extension par défaut tel que proposée par l'interface, soit tif, et effectivement dans le répertoire il y a un fichier frère en tfw. Si le SCR n'est pas enregistré, tout s'explique.
Je vais essayer d'autres formats. Une suggestion, pour un format ouvert, portable, et complet ?
Je teste et vous tiens au courant

Hors ligne

 

#5 Thu 20 June 2019 17:15

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

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

Ca dépend du type de raster que vous voulez produire,
mais GeoTiff me semble très bien convenir.

Pour la liste des formats ->
https://gdal.org/drivers/raster/index.html

Hors ligne

 

#6 Thu 20 June 2019 17:25

carteq
Participant assidu
Date d'inscription: 8 Mar 2008
Messages: 829

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

Je cherche une fonction qui me donne un flow accumulation qui tienne compte d'une couche de pondération en plus du MNT.


Taudem pour ArcGIS (sans frais)

Hors ligne

 

#7 Thu 20 June 2019 17:59

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

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

J'ai effectué le test suivant :

*création d'un raster geotiff de 100x100 pixels, 100x100 mètres,
à l'aide de la calculatrice raster dont l'origine est (0,0) en mode PixelAsArea
  ->le coin supérieur gauche du raster est aux coordonnées (0,0), en conformité avec la spec

*copie du raster, suppression des métadonnées de georef et création d'un fichier tfw associé à la copie [1]
  ->le coin supérieur gauche du raster est également aux coordonnées (0,0)

Ma conclusion : QGIS interprète correctement les deux dernières lignes du tfw
comme les coordonnées x et y du centroïde du pixel sup. gauche du raster.

Pour SagaGis passe encore, mais ça serait quand même un comble
qu'ESRI ne respecte pas la signification d'un  format qu'il a lui même créé,
et prendrait les deux dernières lignes comme les
coordonnées du coin gauche du pixel sup. gauche du raster...

[1] Contenu du fichier tfw

Code:

1.0
0.0
0.0
-1.0
0.5
-0.5

Dernière modification par tumasgiu (Thu 20 June 2019 21:17)

Hors ligne

 

#8 Fri 21 June 2019 17:49

JB Richet
Participant occasionnel
Date d'inscription: 3 Nov 2016
Messages: 27
Site web

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

Bon, j'y ai passé beaucoup de temps et je n'ai toujours pas réussi à résoudre ce problème.
1) du fait de la présence des fichiers tfw, j'ai eu un doute si c'était tiff ou geotiff. Du coup j'ai utilisé le format HDR (extension en .img).
2) en regardant du côté du gestionnaire d'extensions, j'ai vu des choses pas nettes comme des extensions corrompues, dont gdalTools, j'ai donc refait une installation fraîche et à jour de Qgis, et recommencé les calculs. Le problème persiste : emprise et affichage correct dans qgis, mais décalage d'un demi pixel dans SAGA.
3) j'ai réalisé que la fonction r.reclass laisse un raster sans SCR propre. J'ai précisé "à la main" (c'est-à-dire clic droit / définir le SCR) dans l'interface QGis, puis chargé la couche dans SAGA, le décalage persiste.
4) j'enregistre sous un autre format les rasters calculés, depuis le menu contextuel, je choisi geotiff, je vérifie que le SCR renseigné et l'emprise sont bonnes. Je charge le geotiff dans SAGA, il est décalé d'un demi pixel. Idem avec le format de raster de SAGA.

Je n'y comprends rien... Mais j'ai trouvé un palliatif : comme les seules couches qui sont chargées avec la même emprise entre les deux logiciels sont celles dérivées du MNT (préparées antérieurement), j'enregistre depuis Qgis ces couches au format SAGA, je les ouvre sous SAGA et elles présentent le même décalage que les autres (au moins toutes les couches sont au même endroit), je fais le traitement sous SAGA, et lorsque j'ouvre le raster produit par SAGA dans Qgis, il est bien calé par rapport aux autres sous Qgis !!! C'est à n'y rien comprendre, mais au moins je peux avancer.

Ce n'est quand même pas très satisfaisant, ne serait-ce que parce cela m'empêche d'automatiser, et de transférer la routine au client. Si quelqu'un est capable de m'expliquer, voire d'indiquer comment corriger, je suis preneur. Que faudrait-il que je vous donne pour décrire mon système ? Je suis sous windows 7, Qgis installé via OSGeo4W, SAGA à jour installé par ailleurs, les fichiers de MNT ont été traité il y a quelques temps sous arcgis 9.3 sur un autre poste du réseau local. Je peux décrire ma chaine de traitements si nécessaire, mais cela risque d'être fastidieux...

Merci de votre aide, Jean-Baptiste

Hors ligne

 

#9 Mon 24 June 2019 09:44

JB Richet
Participant occasionnel
Date d'inscription: 3 Nov 2016
Messages: 27
Site web

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

Est-ce que cela pourrait provenir du fait que la bibliothèque SAGA disponible dans Qgis est la version 2.3.2,
tandis que la version actuelle de SAGA installée par ailleurs sur mon poste est la version 7.2 ?

Hors ligne

 

#10 Mon 24 June 2019 15:59

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

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

Je n'y comprends rien... Mais j'ai trouvé un palliatif : comme les seules couches qui sont chargées avec la même emprise entre les deux logiciels sont celles dérivées du MNT (préparées antérieurement), j'enregistre depuis Qgis ces couches au format SAGA, je les ouvre sous SAGA et elles présentent le même décalage que les autres (au moins toutes les couches sont au même endroit), je fais le traitement sous SAGA, et lorsque j'ouvre le raster produit par SAGA dans Qgis, il est bien calé par rapport aux autres sous Qgis !!! C'est à n'y rien comprendre, mais au moins je peux avancer.


Vous voulez dire que le décalage "s'annule" quand vous chargez dans QGIS le raster produit dans Saga ?

Hors ligne

 

#11 Tue 25 June 2019 12:35

JB Richet
Participant occasionnel
Date d'inscription: 3 Nov 2016
Messages: 27
Site web

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

tumasgiu a écrit:

Vous voulez dire que le décalage "s'annule" quand vous chargez dans QGIS le raster produit dans Saga ?


Oui c'est bien cela.
1/ couche raster R1 créée dans qgis, coin supérieur gauche = (523640; 6932020)
2/ couche R1 chargée dans saga 7, coin supérieur gauche = (523642,5; 6932022,5)
3/ couche raster R2 créée dans saga à partir de C1, coin supérieur gauche = (523642,5; 6932022,5)
4/ couche R2 chargée dans qgis, coin supérieur gauche = (523640; 6932020)
MAIS
5/ couche shapefile V2 créée dans saga à partir de R2, coin supérieur gauche = (523642,5; 6932022,5)
6/ couche V2 chargée dans qgis, coin supérieur gauche = (523642,5; 6932022,5)

Hors ligne

 

#12 Tue 25 June 2019 14:22

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

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

Le raster geotiff ci-joint créé à l'aide de la calculatrice Qgis3.4 (install Osgeo4W),
se charge correctement dans SagaGIS 2.3.2.

Le coin sup gauche du geotiff est en (0,0)

Dernière modification par tumasgiu (Tue 25 June 2019 14:23)


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

Hors ligne

 

#13 Tue 25 June 2019 14:45

JB Richet
Participant occasionnel
Date d'inscription: 3 Nov 2016
Messages: 27
Site web

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

Merci tumasgiu pour ce fichier test. C'est intéressant... Dans qgis, j'obtiens bien la même chose que vous, mais dans saga 2.3.2 comme dans saga 7.2, l'emprise indiquée est "100x 100y; 0.5x 0.5y", soit un décalage d'un demi pixel.
Ce serait mon installation qui serait fautive ?

Hors ligne

 

#14 Tue 25 June 2019 15:19

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

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

ERRATUM:
le raster a été créé avec l'origine (0,100)


Oui, c'est pareil chez moi,
l'encart dans l'onglet THumbnail indique le centre du pixel superieur gauche et non son coin supérieur gauche.
L'emprise est identique sous QGIS et SagaGIS, vous pouvez le constatez en pointant le coin sup gauche et inf droit
du raster qui auront respectivement les coordonnées (0,100) et (100, 0).

Vous pouvez voir que les infos concernent le centres des pixels
en consultant l'onglet description qui affichera :

Code:

West
0.5
East
99.5
South
0.5
North
99.5

Dernière modification par tumasgiu (Tue 25 June 2019 15:43)

Hors ligne

 

#15 Tue 25 June 2019 15:31

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

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

Donc SagaGIS ne décale pas votre raster, mais présente les données
de manière différente.

Je pense que votre problème est que vous utilisez plusieurs SCR différents.
Vérifiez vos traitement afin de produire toutes vos couches avec le même SCR,
et veillez à utiliser GeoTiff et non pas tiff+tfw.
Vous pouvez également forcer le SCR dans SagaGIS (clic droit sur le thumbnail,
Spatial Reference).

Dernière modification par tumasgiu (Tue 25 June 2019 15:43)

Hors ligne

 

#16 Tue 25 June 2019 16:36

JB Richet
Participant occasionnel
Date d'inscription: 3 Nov 2016
Messages: 27
Site web

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

Bien vu ! Merci beaucoup tumasgiu.
Ce soir, je prendrai le temps de résumer pour que ce fil ait une chance d'être utile à d'autres...

Hors ligne

 

#17 Thu 04 July 2019 09:40

JB Richet
Participant occasionnel
Date d'inscription: 3 Nov 2016
Messages: 27
Site web

Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga

Le problème est résolu, et voici le fin mot de l'histoire, en espérant qu'il permettra à d'autres d'éviter le temps que j'ai perdu !

Le problème posé ici est parti d'un mauvais diagnostic :
1) Mes couches n'étaient pas suffisamment homogènes au départ, avec des SCR différents, parfois des emprises légèrement différentes. En homogénéisant les méthodes de productions, et prenant soin de préciser le SCR pour les couches qui étaient produites sans reprendre le SCR des couches parentes, les fonctions ont pu "tourner".
2) Il existe une différence de présentation de l'étendue d'une couche raster entre SAGA et Qgis, mais ils l'affichent bien avec les bonnes dimensions et au bon endroit ! SAGA donne une emprise entre les centres des pixels, tandis que Qgis donne une emprise sur les coins des pixels.

Merci à tumasgiu pour ses tests et ses conseils.

Hors ligne

 

Pied de page des forums

Powered by FluxBB