Pages: 1
- Sujet précédent - QGIS 3.6: décalage de la projection d'un raster entre qgis et saga - Sujet suivant
#1 Thu 20 June 2019 15:57
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
#3 Thu 20 June 2019 16:50
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1144
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
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: 1144
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: 1144
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
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
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: 1144
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
Re: QGIS 3.6: décalage de la projection d'un raster entre qgis et saga
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: 1144
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)
Hors ligne
#13 Tue 25 June 2019 14:45
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: 1144
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: 1144
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
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
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
Pages: 1
- Sujet précédent - QGIS 3.6: décalage de la projection d'un raster entre qgis et saga - Sujet suivant