Jak odwrócić georeferencję za pomocą QGIS?

16

Mam mapę z „dziwną” projekcją (jest w zasadzie ręcznie malowana, a nie dokładna). Mogę z łatwością georeferencję w QGIS za pomocą wtyczki Georeferencer i transformacji cienkiego splajnu z zestawem około 2000-3000 punktów kontrolnych w prostym „dłuższym” rzucie WGS 84 (EPSG: 4326) i przetwarzać / ulepszać go z innymi danymi, jak z Natural Earth lub OpenStreetMap.

Teraz chciałbym wykonać odwrotną operację: przekształć jedną z tych warstw rastrowych (lub warstw rasteryzowanych wektorów) z powrotem w ręcznie malowaną quasi-projekcję, najlepiej używając tego samego zestawu punktów kontrolnych, aby obrazy pasowały do ​​siebie po nałożeniu edytor graficzny. Jak mam to zrobić?

Martin Sojka
źródło
8
ciekawa sytuacja. Może wcale nie georeferencyjnie ręcznie malowanej mapy. Użyj ręcznie malowanej mapy jako „prawdy naziemnej” i uzyskaj punkty kontrolne na podstawie lokalnego układu współrzędnych (powiedzmy, lewy górny róg ręcznie malowanej mapy to 0,0, a każdy piksel to jednostka). Następnie „georeferencyjnie” swoje rastry do tego lokalnego układu współrzędnych.
przemyślenia przestrzenne
1
@ przestrzenne przemyślenia: To działałoby dość dobrze dla rastrów, ale straciłbym również precyzję warstw wektorowych i możliwość wykonywania z nimi obliczeń (obszar cechy, długość segmentu i tak dalej). Oczywiście nie jest to problem nie do pokonania. Możliwość odwrócenia georeferencji po prostu nie miałaby tych ograniczeń.
Martin Sojka
@Martin Czy chcesz obliczenia wektorowe w WGS84 lub ręcznie malowane współrzędne obrazu? Jeśli to pierwsze, brzmi jak potrzeba transformacji wektorów na ręcznie malowane współrzędne, to jest całkowicie oddzielone od potrzeby wykonywania obliczeń na wektorze - a ja bym podpowiedział sugestie przestrzenne. Oznacza to, że musisz wykonywać te zadania w oddzielnych projektach QGIS.
Jeff G
1
Zasadniczo nie ma gwarancji, że dla wszystkich transformacji istnieje odwrotność. W przypadku transformacji wielomianowej, jeśli można uzyskać wtyczkę do rejestrowania używanych współczynników, można obliczyć matematycznie odwrotność. Przy cienkim splajnie płyty może być również możliwe odwrotność: funkcja GDALCreateTPSTransformer przyjmuje argument „bReversed”: gdal.org/gdal__alg_8h.html#a245802b88a8126c138d24febe6c9822a
Jeff G

Odpowiedzi:

1

Jeśli korzystasz z ArcGIS, korzystasz z paska narzędzi dopasowania przestrzennego. Jednak QGIS oferuje podobną funkcjonalność poprzez wtyczki.

Przejdź do menedżera wtyczek i zainstaluj „Affine Transformations”

Zainstaluj także „Vector Bender”

Strona internetowa: https://github.com/trenneman/qgsAffine ;

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

Ponieważ masz już punkty kontrolne, powinieneś być w stanie przekształcić swoje dane z powrotem do oryginalnej „projekcji”. Załaduj punkty kontrolne do wtyczki i przeprowadź transformację. Nie próbowałem tego jeszcze, więc być może będziesz musiał grać z punktami kontrolnymi. Wtyczka przekształceń afinicznych używa stałych do przeprowadzenia transformacji. Ponieważ masz już punkty kontrolne, możesz użyć giętarki wektorowej, aby wykonać „arkusz gumy”.
Vector bender nie znajduje się w repozytorium wtyczek, więc musisz zainstalować go ręcznie, dodając go do C: \ Users.qgis2 \ python \ plugins \ VectorBender.


Druga opcja (może działać tylko w przypadku rastrów, nie testowano z wektorami) - W georeferencji możesz zapisać punkty kontrolne w pliku. Możesz również załadować punkty kontrolne z pliku.

Oto, co musisz zrobić:

Zapisz plik cpg. Zmień rozszerzenie na .csv. Otwórz plik w programie Excel. Zamień wartości w kolumnach do / z. Zapisać. Zmień rozszerzenie z powrotem na .points.

Po skonfigurowaniu punktów kontrolnych możesz przeprowadzać transformację tam iz powrotem za pomocą punktów kontrolnych i preferowanej metody transformacji.

jbalk
źródło
Czy pasek narzędzi dostosowywania przestrzennego nie jest częścią Arcgis Desktop? Nie jestem pewien, czy w QGIS jest coś podobnego.
AndreJ
@AndreJ Proszę zobaczyć moje zmiany.
jbalk
0

Musiałem to zrobić sam raz dla warstwy rastrowej i zajęło mi trochę czasu, aby przekonać się, że nie potrzebuję odwrotności. Aby dopasować obrazy do oryginalnej dziwnej projekcji, napisz skrypt, aby utworzyć siatkę odpowiadającą pikselom w edytorze graficznym. Przekształć do przodu dla każdego punktu na siatce, aby podnieść wartość warstwy, którą masz w WGS 84. (podobnie do komentarza do myśli przestrzennych )

Nick Mulgan
źródło