Comment inverser la géoréférence avec QGIS?


16

J'ai une carte avec une projection "étrange" (elle est essentiellement peinte à la main, pas exacte). Je peux facilement le géoréférencer dans QGIS en utilisant le plugin Georeferencer et la transformation Thin Plate Spline avec un ensemble de quelques 2000 à 3000 points de contrôle en une simple projection "latlong" WGS 84 (EPSG: 4326) et la traiter / l'améliorer davantage avec d'autres données, comme depuis Natural Earth ou OpenStreetMap.

Maintenant , je voudrais effectuer l' inverse opération: Transformer l' une de ces couches raster (ou couches vectorielles tramée) de retour dans la quasi-projection peinte à la main, en utilisant idéalement le même ensemble de points de contrôle, de sorte que les images correspondent à quand superposées dans un éditeur graphique. Comment fait-on ça?


8
situation intéressante. Vous ne gérez peut-être pas du tout la carte peinte à la main. Utilisez la carte peinte à la main comme `` vérité de terrain '' et obtenez vos points de contrôle en fonction du système de coordonnées local (par exemple, le coin supérieur gauche de la carte peinte à la main est 0,0 et chaque pixel est une unité). Ensuite, géolocalisez vos rasters avec ce système de coordonnées local.
spatialoughtts

1
@spatialoughtts: Cela fonctionnerait plutôt bien pour les rasters, mais je perdrais également la précision des couches vectorielles et la possibilité de faire des calculs avec elles (surface d'une entité, longueur d'un segment, etc.). Ce n'est pas un problème insurmontable, bien sûr. Pouvoir inverser le géoréférencement n'aurait tout simplement pas ces limites.
Martin Sojka

@Martin Voulez-vous les calculs vectoriels en WGS84 ou en coordonnées d'image peintes à la main? Dans le premier cas, il semble que votre besoin de transformer des vecteurs en coordonnées peintes à la main soit totalement distinct de votre besoin de faire des calculs sur le vecteur - et j'appuierais la suggestion des pensées spatiales. Signifie simplement que vous devez effectuer ces tâches dans des projets QGIS distincts.
Jeff G

1
En général, il n'est pas garanti qu'un inverse existe pour toutes les transformations. Avec les transformations polynomiales, si vous pouviez obtenir le plugin pour enregistrer les coefficients qu'il a utilisés, vous pourriez calculer l'inverse mathématiquement. Avec une spline en plaque mince, un inverse est peut-être également possible: la fonction GDALCreateTPSTransformer prend un argument "bReversed": gdal.org/gdal__alg_8h.html#a245802b88a8126c138d24febe6c9822a
Jeff G

Réponses:


1

Si vous utilisiez ArcGIS, vous utilisez la barre d'outils d'ajustement spatial. Cependant, QGIS offre une fonctionnalité similaire via des plugins.

Accédez au gestionnaire de plugins et installez «Affine Transformations»

Installez également «Vector Bender»

Page d'accueil: https://github.com/trenneman/qgsAffine ;

https://plugins.qgis.org/plugins/VectorBender/

Étant donné que vous disposez déjà des points de contrôle, vous devriez pouvoir reconvertir vos données à la "projection" d'origine. Chargez vos points de contrôle dans le plugin et effectuez la transformation. Je n'ai pas encore essayé cela, alors vous devrez peut-être jouer avec les points de contrôle. Le plugin affine transformations utilise des constantes pour effectuer la transformation. Puisque vous avez déjà des points de contrôle, vous voudrez utiliser la cintreuse vectorielle pour effectuer une «feuille de caoutchouc».
Vector bender n'est pas dans le référentiel de plugins, vous devrez donc l'installer manuellement en l'ajoutant à C: \ Users.qgis2 \ python \ plugins \ VectorBender.


Deuxième option (peut uniquement fonctionner pour les rasters, n'a pas été testée avec des vecteurs) - Dans le géoréférenceur, vous pouvez enregistrer vos points de contrôle dans un fichier. Vous pouvez également charger des points de contrôle à partir d'un fichier.

Voici ce que tu dois faire:

Enregistrez le fichier cpg. Modifiez l'extension en .csv. Ouvrez le fichier dans Excel. Échangez les valeurs dans les colonnes de / vers. Sauvegarder. Remplacez l'extension par .points.

Une fois les points de contrôle configurés, vous pouvez effectuer des transformations dans les deux sens à l'aide des points de contrôle et de votre méthode de transformation préférée.


La barre d'outils d'ajustement spatial ne fait-elle pas partie d'Arcgis Desktop? Je ne suis pas sûr qu'il y ait quelque chose de similaire dans QGIS.
AndreJ

@AndreJ Veuillez voir mes modifications.
jbalk

0

J'ai dû le faire moi-même une fois pour une couche raster et il m'a fallu un certain temps pour voir que je n'avais pas besoin de l'inverse. Pour faire correspondre les images dans la projection étrange d'origine, écrivez un script pour créer une grille dans cette projection, correspondant aux pixels de votre éditeur graphique. Transformez en avant pour chaque point de la grille pour récupérer la valeur de la couche que vous avez dans WGS 84. (similaire au commentaire de pensées spatiales )

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.