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?
Réponses:
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:
la source
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 av.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 leVector Bender
plugin - 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):
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.
la source