Mise en miroir des couches sur QGIS?

8

Je voudrais savoir s'il existe un moyen de mettre en miroir des couches sur QGIS. Mon projet actuel est un peu difficile à expliquer ... Je fouille l'intérieur d'un grand pot et, finalement, j'aurai un ensemble de plans qui correspondent aux couches successives que j'expose au fur et à mesure de la les fouilles. Cependant, pour des raisons pratiques, je dois faire ce travail à l'envers (c'est-à-dire que l'excavation a commencé au fond du pot).

Tous mes enregistrements seront ensuite édités dans QGIS donc, afin de les rendre plus compréhensibles pour les autres, je devrai les inverser. Non seulement inverser leur ordre, mais aussi les retourner horizontalement, obtenant une image miroir du plan de chaque couche.

Je sais que je pourrais le faire avec un logiciel de traitement d'image, mais je me demandais s'il y avait un moyen de le faire dans l'environnement QGIS - cela me ferait probablement gagner du temps de traitement d'image et en ferait un flux de travail plus rationalisé.

Quelqu'un a-t-il des idées à ce sujet?

TTome
la source
Vos plans sont des images? Et vous avez une image par étape? Utilisez simplement n'importe quel logiciel de dessin comme Paint de base dans Windows pour les retourner (horizontalement ou verticalement). Si vous avez beaucoup de plans, quelque chose qui peut le faire en mode batch open source GIMP ou gratuit IrfanView. L'ordre des plans dépend uniquement de la façon dont vous commandez les images (couches) dans QGIS - cela dépend entièrement de vous.
Miro

Réponses:

9

Oui, vous pouvez mettre en miroir des calques (ou des fonctionnalités individuelles). Cela nécessite QGIS> = 2.10 . Il n'est pas nécessaire de modifier réellement les données d'entrée, juste la façon dont elles sont présentées. Cela se fait en utilisant des effets de calque comme indiqué ici pour l'Alaska:

entrez la description de l'image ici

obscur
la source
Merci beaucoup pour votre réponse, mais je n'arrive pas à trouver où accéder à cette fenêtre "Propriétés de l'effet". D'après l'image que vous avez partagée, je comprends qu'il se trouve dans l'onglet Style des propriétés du calque, mais je n'arrive pas à comprendre où il se trouve. J'utilise actuellement QGIS 2.8.2.
TTome
1
Vous avez besoin de 2.10 pour pouvoir utiliser les effets.
underdark
Après avoir posté mon commentaire, je me suis demandé si ce serait le cas, désinstallé 2.8.2, installé 2.10 et voilá! Merci de votre aide!
TTome
2
Et comment pouvez-vous faire cela dans QGIS> 3.0?
sk1me
10

Comme vous le dites, vous pouvez le faire dans un logiciel de traitement d'image, mais si vous voulez le faire dans QGIS pour un flux de travail fluide (peut-être en utilisant un script ou en créant un modèle de traitement), vous pouvez retourner vos images en utilisant la fonction Grass r.flip . Cependant, c'est dans Grass 7, vous devrez donc l'installer car il n'est pas encore standard dans QGIS.

De plus, il existe l' outil d' orientation de grille de SAGA , qui offre des options de retournement, de miroir et d'inversion. La documentation semble clairsemée pour cela, mais une rapide expérience montre que «flip» retourne l'image verticalement, «mirror» retourne l'image horizontalement, mais inverser fait un «négatif» de l'image (donc pas ce que vous voulez, je suppose - mais flip et look miroir prometteur pour votre utilisation).

EDIT (re comments): Pour mettre en miroir, faire pivoter ou autrement les données vectorielles en feuille de caoutchouc, vous avez besoin d'outils affins. QGIS dispose d'un certain nombre d'outils pour cela. Il y a quelques plugins (' Affine' et ' Vector Bender') et Grass en a v.transform. Vous devez calculer votre matrice de transformation pour Affine ou v.transform. Voir ce post pour l'ancien. Alternativement, si vous êtes très familier avec les rasters de revêtement en caoutchouc (et trop paresseux pour élaborer des matrices de transformation), utilisez le Vector Benderplugin - bien que je pense qu'il serait plus difficile de définir vos lignes de miroir pour ce cas d'utilisation particulier (sinon il est brillant).

Utilisation du plugin Affine et d'une matrice de transformation de
1,0,0
0, -1,0

J'obtiens ce qui suit (bleu = avant, jaune = après): entrez la description de l'image ici

La matrice ici est en fait en train de basculer autour de l'axe Y, vous auriez donc besoin d'une transformation latérale également égale à l'étendue nord-sud de vos données pour retourner `` en place ''. Donc, dans mon cas, ma matrice réelle basée sur ce fichier de formes particulier serait
1,0,0
0, -1,964530.15

(c'est-à-dire que je bascule sur l'axe Y et que je remonte les données)

EDIT # 2 (An Afterthought):
Si vous effectuez un processus par lots, vous pouvez obtenir l'étendue via GDAL assez facilement et automatiser la création de la matrice de transformation. Cependant, si vous effectuez un processus semi-manuel, dans votre cas d'utilisation, vous pouvez simplifier les choses en réunissant un simple polygone de boîte englobante avec les données de chaque couche. De cette façon, votre matrice de transformation sera toujours la même que l'étendue totale de vos données sera toujours dans votre cadre de délimitation indépendamment de ce que vous numérisez réellement dans la couche.

MappaGnosis
la source
MappaGnosis, le vôtre est une suggestion assez intéressante (module d'orientation de la grille) - cependant, il ne fonctionne qu'avec des données raster, je cherchais quelque chose qui pourrait également être utilisé avec des données vectorielles. En ce qui concerne les scripts et les modèles de traitement, je ne connais pas bien l'art du script que de le faire de cette façon ...
TTome
Je n'ai mentionné que les rasters parce que vous avez fait référence aux images dans votre question. Cependant, si vous souhaitez également inverser les vecteurs, il est également possible d'utiliser des outils affins. Voir mes modifications ci-dessus.
MappaGnosis
Bien sûr, je comprends - c'était moi qui n'étais pas assez clair avec ce que je devais faire. Vos nouveaux ajouts à votre commentaire semblent super. Je ne pourrai le tester que dans quelques jours, car je n'ai pas accès aux données pour le moment, mais je vais certainement essayer - je vous ferai savoir comment cela s'est passé par la suite. Merci beaucoup!
TTome