17.6. SCR. Reprojection

Note

Dans cette leçon, nous discuterons de comment les Traitements utilisent les SCR. Nous verrons également un algorithme très utile : la reprojection.

Les SCR sont une grande source de confusion pour les utilisateurs de Traitements QGIS, alors voici quelques règles générales sur la façon dont ils sont traités par les géoalgorithmes lors de la création d’une nouvelle couche.

  • S’il y a des couches d’entrée, le SCR de la première couche sera utilisé. Celui-ci est supposé être le SCR de toutes les couches d’entrée, car ils devraient avoir le même. Si vous utilisez des couches avec des SCR non correspondants, QGIS vous en avertira. Notez que le SCR des couches d’entrées est affiché avec son nom dans la boîte de dialogue des paramètres.

../../../_images/crs_layer.png
  • S’il n’y a pas de couche d’entrée, il utilisera le SCR du projet, sauf si l’algorithme contient un champ SCR spécifique (comme cela s’est produit dans la dernière leçon avec l’algorithme du réticule)

Ouvrez le projet correspondant à cette leçon et vous verrez deux couches nommées 23030 et 4326. Elles contiennent toutes les deux les mêmes points, mais dans des SCR différents (EPSG:23030 and EPSG:4326). Elles apparaissent à la même place parce que QGIS reprojecte à la volée le SCR du projet (EPSG:4326), mais elles ne sont pas réellement la même couche.

Ouvrez l’algorithme Exporter/ajouter des colonnes de géométrie.

../../../_images/add_geom.png

Cet algorithme ajoute des nouvelles colonnes aux tables attributaires d’une couche vectorielle. Le contenu des colonnes dépend du type de géométrie de la couche. Dans le cas des points, de nouvelles colonnes avec les coordonnées X et Y de chaque point sont ajoutées.

Dans la liste des couches disponibles que vous pouvez trouver dans le champ de couche d’entrée, vous verrez chacune avec son SCR. Cela signifie que, bien qu’elles apparaissent à la même place dans votre canevas, elles seront traitées différemment. Sélectionnez la couche 4326.

L’autre paramètre de l’algorithme permet de définir la manière dont l’algorithme utilise des coordonnées pour calculer la nouvelle valeur qu’il ajoute aux couches résultantes. La plupart des algorithmes n’ont pas d’option comme celle-ci, et il suffit d’utiliser directement les coordonnées. Sélectionnez l’option SCR de la couche pour simplement utiliser des coordonnées telles qu’elles sont. Voilà comment presque tous les géoalgorithmes sont.

Vous devriez obtenir une nouvelle couche avec exactement les mêmes points comme les deux autres couches. Si c’est le cas, cliquez sur le nom de la couche et ouvrez ses propriétés, vous verrez qu’elle partage le même SCR que la couche d’entrée, qui est EPSG:4326. Lorsque la couche est chargée dans QGIS, il ne vous sera pas demandé d’entrer le SCR de la couche, dès lors que QGIS sait déjà lequel c’est.

Si vous ouvrez la table attributaire de la nouvelle couche, vous verrez qu’elle contient deux nouveaux champs avec les coordonnées X et Y de chaque point.

../../../_images/attribs2.png

Ces valeurs de coordonnées sont données dans le SCR de la couche, puisque nous avons choisi cette option. Cependant, même si vous choisissez une autre option, le SCR en sortie de la couche aurait été le même, car le SCR d’entrée est utilisé pour définir le SCR de la couche de sortie. Si vous choisissez une autre option, les valeurs seront différentes, mais pas le point résultant à modifier ou le SCR de la couche en sortie différent du SCR de la couche en entrée.

Faites maintenant le même calcul en utilisant l’autre couche. Vous devriez trouver la couche résultante exactement à la même place que les autres, et elle aura le SCR EPSG:23030, dès lors que c’était celui de la couche d’entrée.

Si vous vous rendez à sa table attributaire, vous verrez des valeurs qui sont différentes de celles dans la première couche que nous avons créée.

../../../_images/attribs.png

Cela est dû au fait que les données originales sont différentes (elles utilisent un SCR différent), et ces coordonnées sont prises de lui.

Que devons-nous en tirer ? L’idée principale derrière ces exemples est que les géoalgorithmes utilisent la couche telle qu’elle est dans sa source originale de données, et ignorent complètement les reprojections que QGIS pourrait faire avant le rendu. En d’autres termes, ne vous fiez pas à ce que vous voyez dans le canevas, mais gardez toujours en tête que les données originales seront utilisées. Ce n’est pas si important dans ce cas, car nous n’utilisons qu’une seule couche à la fois, mais dans un algorithme qui a besoin de plusieurs d’entre elles (comme un algorithme de découpage), des couches qui semblent correspondre ou se superposer pourraient être très loin l’une de l’autre, car elles pourraient avoir des SCR différents.

Les algorithmes n’effectuent aucune reprojection (excepté dans l’algorithme de reprojection que nous verrons plus tard), c’est donc à vous de vous assurez que les couches ont des SCR correspondants.

Un module intéressant qui travaille avec les SCR est celui de reprojection. Il représente un cas particulier, car il a une couche d’entrée (celle à reprojeter), mais il n’utilise pas son SCR pour la couche de sortie.

Ouvrez l’algorithme Reprojection de couche.

../../../_images/reprojection.png

Sélectionnez une des couches en entrée, et sélectionnez EPSG:23029 comme le SCR de destination. Lancez l’algorithme et vous obtiendrez une nouvelle couche, identique à celle d’entrée, mais avec un SCR différent. Elle apparaîtra dans la même région du canevas, comme les autres, tant que QGIS reprojette à la volée, mais ses coordonnées originales sont différentes. Vous pouvez voir cela en lançant l’algorithme Exporter/Ajouter des colonnes géométriques en utilisant cette nouvelle couche comme entrée, et en vérifiant que les coordonnées ajoutées sont différentes que celles dans les tables des attributs des deux couches que nous avons calculées avant.