Poprawiasz wyniki georeferencji? [Zamknięte]

13

Kontekst To jest moje drugie pytanie związane z georeferencjami nagich map rastrowych w celu ponownej wizualizacji ich na różnych układach współrzędnych i w połączeniu z innymi warstwami danych. Poprzednie pytanie dotyczy Konwertuj dowolny obraz mapy bez metadanych na projekt QGIS

Problem Moim celem jest georeferencja tej mapy:

Step eurazjatycki, Encyc.  Brit.?

To nie wydaje się być Plate-Carrée. Tak więc w QGIS stworzyłem kilka rozsądnych punktów kontrolnych, które dla kompletności załączyłem na dole [ref: 1]. Zapewniam QGIS Georeferencer ten sam docelowy SRS, co mój plik projektu, EPSG: 4326. Z Helmertem i transformacją wielomianową uzyskuję wyjątkowo słabe wyniki, ale uzyskuję rozsądny obraz z cienkim splajnem płytkowym (co powoduje, że wynik geoestymulacji przechodzi przez moje punkty kontrolne). Jednak nawet ten wynik jest słaby, np. Na wyższych szerokościach geograficznych (patrz rosyjskie wybrzeże na północ od Japonii). To jest zrzut ekranu mojego ekranu QGIS z wykorzystaniem naturalnego tła Ziemi.

Wynik georeferencji QGIS, cienki wypust płyty

Alternatywna ścieżka Próbowałem podobnego ćwiczenia z dużo łatwiejszym w użyciu narzędziem w MapWarper: zobacz wyniki i punkty kontrolne na http://mapwarper.net/maps/758#Preview_Map_tab, gdzie otrzymuję gorsze wyniki (prawdopodobnie ze względu na fakt dodałem mniej punktów kontrolnych).

Pytania w skrócie

  1. Czy brakuje mi sztuczek, aby uzyskać dobrą georeferencję?
  2. Czy ta projekcja jest natychmiast rozpoznawalna?
  3. Na Unknown układ współrzędnych na starym rysunku , gdaltransformsugeruje się, aby przekształcić kilka współrzędnych punktów w ciągu kilku SRS docelowych, z celem faktycznie odkrywając parametry projekcji wykorzystywane do generowania oryginalną mapę. Próbowałem coś takiego: po zapisaniu QGIS moją listę punktów, zrobiłem pewien ciąg przetwarzania w celu uzyskania listy przestrzeni oddzielonych długo / łata poprzez cat eurasian-steppe-gcp.points | tail -n+2 | cut -d, -f1-2 | sed 's/,/ /'> tmp.txti wprowadzania plik wynikowy do gdaltransform: gdaltransform -s_srs EPSG:3785 -t_srs EPSG:4326 < tmp.txti przełączającego s_srsit_srsflagi (projekt wykorzystuje EPSG: 4326). Wiem, że strzelam w ciemności, mając nadzieję na szczęście, więc nie zdziwiłem się, gdy nie mogłem zrozumieć wyjściowych rezultatów. Czy ktoś może rozwinąć sposób, w jaki użyłbym tej metody, aby znaleźć najlepsze oszacowanie prognozy mapy źródłowej i parametrów projekcji? Uważam, że kryje się za tym to, że zamiast mieszać się z rozmieszczaniem niezliczonych punktów kontrolnych w celu uzyskania dobrej georeferencji, czy łatwiej byłoby uzyskać prawie idealną georeferencję z mniejszą liczbą punktów kontrolnych, po prostu przechodząc przez wszystkie wspólne układy współrzędnych? Czy wiąże się to z wzajemną weryfikacją każdego punktu względem wszystkich pozostałych, dla każdego testowanego CRS?

Chciałbym zrozumieć ten algorytm lub georeferencje, aby móc zautomatyzować ten proces - cały czas spotykam się z tym problemem i dopóki twórcy treści nie przestaną traktować swoich map jako jednorazowych kreacji, które nigdy nie zostaną zintegrowane z innymi treściami nie oczekuję, że przestanę.

Bibliografia

[ref: 1] Plik QGIS GCP:

mapX,mapY,pixelX,pixelY,enable
142.632649100000009,54.453595900000003,505.941176470588232,-95.220588235293974,1
154.934252200000003,59.559921699999997,536.411764705882206,-52.779411764705742,1
80.080158100000006,9.657192300000000,291.558823529411711,-322.661764705882206,1
10.448442600000000,57.819128900000003,21.676470588235190,-103.926470588235134,1
34.007173000000002,27.761438299999998,101.117647058823422,-244.852941176470466,1
50.950890399999999,11.862196600000001,171.852941176470495,-313.955882352941046,1
29.713217199999999,60.024133200000001,90.779411764705799,-92.499999999999829,1
60.000000000000000,0.000000000000000,208.308823529411683,-362.382352941176350,1
69.867506500000005,66.639146199999999,224.088235294117567,-33.191176470588061,1
27.276107100000001,71.049154799999997,89.147058823529306,-21.764705882352814,1
140.000000000000000,0.000000000000000,536.955882352941217,-362.926470588235190,1
20.000000000000000,0.000000000000000,43.441176470588132,-362.926470588235190,1
20.196882700000000,31.243024100000000,47.249999999999901,-231.794117647058698,1
9.171861099999999,42.848309999999998,8.073529411764603,-175.205882352941046,1
131.955786100000012,43.196468600000003,481.999999999999943,-162.691176470588090,1
73.813303700000006,45.169367200000003,256.735294117646959,-161.602941176470438,1
50.602731800000001,44.589102900000000,168.044117647058727,-167.588235294117510,1
121.394975900000006,18.941421099999999,455.882352941176407,-284.029411764705742,1
103.987047000000004,1.417439300000000,389.499999999999943,-357.485294117646959,1
109.325478599999997,55.962283100000001,380.249999999999943,-98.485294117646902,1
31.454010100000001,46.562001500000001,95.132352941176379,-158.882352941176322,1
43.639560299999999,68.844150499999998,137.573529411764611,-40.264705882352814,1

Brak aktualizacji

Analiza van der Grintena Napisałem narzędzie Python do dopasowania GCP do dowolnej projekcji obsługiwanej przez Proj4 (przez Pyproj) i zastosowałem je do kilku prognoz sugerowanych w odpowiedziach. Kod źródłowy (nieco niechlujny, z góry przepraszam), a także zaktualizowane CPG są dostępne na https://github.com/fasiha/steppe-map

Van der Grinten ma tylko 1 parametr do dostrojenia, a oto wynikowy obraz (używając najnowszego obrazu z Britannicy, wiele dzięki za udostępnienie tak wysokiej rozdzielczości i zaktualizowanej mapy (choć nadal brakuje danych projekcji)).

Dopasowanie Van der Grinten

Van der Grinten ma błąd względny wynoszący 0,035 między punktami GCP i punktami najlepiej dopasowanymi, co jest najgorszym z zestawu, którego próbowałem, a nakładka na wybrzeże wykazuje to jakościowo.

(Może to pomóc, jeśli otworzysz ten obraz na własnej karcie, ma on dość wysoką rozdzielczość. Zobaczysz także zielone strzałki wskazujące punkty georeferencyjne (powinny pasować do znaczących punktów orientacyjnych na obrazie), a także czerwone strzałki wskazujące, gdzie te punkty są dopasowane do (powinny pasować do tych samych punktów orientacyjnych na nakładce linii brzegowej) - odchylenie między nimi może pomóc oku zobaczyć różnice między obrazem a dopasowaniem.)

Analiza równego obszaru Albersa Próbowanie tego samego z projekcją równego obszaru Albersa (co jest tym samym co „stożkowa konformacja Albersa? Przepraszam za moją ignorancję). To dopasowanie, obejmujące 4-wymiarowe dopasowanie parametru, jest lepsze, z błędem względnym wynoszącym 0,025, ale mimo to wygląda dość słabo.

Równe dopasowanie Albers

Analiza rzutów Robinsona i Eckerta V. Dopasowałem kilka pseudocylindrycznych rzutów obsługiwanych przez Pyproj (wszystko, co mogłem znaleźć, które miały jeden wolny parametr) i stwierdziłem, że rzuty Robinsona i Eckerta V były „najlepsze” pod względem błędu względnego między GCP i dopasowane punkty, oba z błędami względnymi 0,015.

Oto Robinson:

Dopasowanie Robinsona

A oto Eckert V.

Eckert V. pasuje

Zwróć uwagę na odchylenia dopasowanej linii brzegowej od linii brzegowej obrazu. Myślę, że dzięki temu mogę stwierdzić, że mapa nie jest żadna z powyższych?

Winkel tripel: możliwe rozwiązanie?

Po kolejnych próbach każdej projekcji w tym podręczniku Proj z 1990 roku (aktualizacja 2003) ftp://ftp.remotesensing.org/proj/OF90-284.pdf W końcu doszedłem do projekcji tripel Winkel. Powoduje to najniższe błędy ilościowe (0,011), a linia brzegowa jest jednolicie całkiem dobra (lub równoważnie, jednakowo nieznacznie zła). Czytałem, że jest to projekcja National Geographic Society, co oznacza, że ​​jest znana, a to zwiększa wagę kandydatury tej projekcji na mapę Britannicy. Dopasowanego SRS: +units=m +lon_0=47.0257707403 +proj=wintri.

Winkel tripel fit

(Przepraszamy za zmianę koloru linii brzegowej na szary. Jeśli to kogoś obraża, mogę stworzyć wersję niebieską).

Spróbuję ulepszyć moje CPG, aby obniżyć błąd.

Ahmed Fasih
źródło
To powinna być projekcja Mercatora (podobieństwa nie są jednakowo odległe).
bhel
1
Myliłem się: Merkator oczywiście powinien mieć równoległe południki. Może van der Grinten ?
bhel
Czy próbowałeś dodać punkty kontrolne na dalekiej północy? Każde inne miejsce wygląda dobrze, ale wygląda na to, że brakuje mu więcej informacji.
podmrok
1
@bhell Van der Grinten jest doskonałym przypuszczeniem, ale nie do końca pasuje. Projekcja wydaje się być taka sama jak na tej mapie (która zawiera siatkę), również ostatnio wykonanej przez Encyclopedia Britannica. To jakaś pseudopolikoniczna projekcja w aspekcie równikowym skoncentrowana na Pierwszym Południku, ale ja tego nie rozpoznaję. Zapytanie w Encyklopedii Britannica to dobry pomysł.
whuber
2
Ach, więc obrazu nie można przekonwertować na projekcję Van der Grintena (którą znam, ponieważ jest używana na mapie „odwróconej” na mojej ścianie :) za pomocą dowolnej transformacji afinicznej. Dobrze wiedzieć!
Ahmed Fasih,

Odpowiedzi:

3

Z pierwszej analizy wynika, że ​​tylko równik i środkowy południk (przechodzący w przybliżeniu przez Moskwę, około 37,36 E długości geograficznej) są liniami prostymi, podczas gdy wszystkie inne równoległe i południki są liniami krzywych. Wśród prognoz globalnych te cechy sugerują wypróbowanie modelu Van der Grinten (jak to zrobiono w komentarzu do pytania), tj. Standardowej projekcji mapy świata National Geographic Society.

Więc ustawiłem projekt SR w QGIS jako niestandardowy SRS World_Van_der_Grinten_I (Moscow):

+proj=vandg +lon_0=37.36 +x_0=0 +y_0=0 +R_A +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs

wyprowadzony bezpośrednio z EPSG:54029( World_Van_der_Grinten_I), zmieniając tylko długość geograficzną południka środkowego. Następnie próbowałem georeferencję obrazu przy użyciu transformacji rzutowej z następującymi GCP wybranymi na urojonej siatce przechodzącej przez dostępne znaczniki:

mapX,mapY,pixelX,pixelY,enable
-1930600.82502013398334384,-91.97837987072125543,43.52016129032256231,-362.54032258064518146,1
11412132.24015056900680065,-91.97837987233651802,537.54173867127497033,-362.73421498975926625,1
11804723.15208163484930992,8693410.00194966979324818,551.40707210100163138,-43.85864138853239069,1
-1651013.74878141912631691,7637895.72632359713315964,54.16126727366525984,-80.84230997717837397,1

Jest to wynik niestandardowy World_Van_der_Grinten_I (Moscow)z CPG (granica administracyjna kraju na świecie na czerwono):

wprowadź opis zdjęcia tutaj

Tę georeferencję można jeszcze ulepszyć wybierając dokładniejsze GCP (wielkim trudem jest brak znaczników lub siatki), jednak wydaje się, że mapa zawiera pewne artefakty, szczególnie w Europie Środkowej i Północnej. Weźmy na przykład Niemcy, które wydają się załamane w związku z Włochami lub względną pozycją wyspy Kolguyev (która całkiem dobrze pasuje) i rosyjskim wybrzeżem (która w ogóle nie pasuje).

Ten sam wynik powtórzony w WGS84( EPSG:4326):

wprowadź opis zdjęcia tutaj

Antonio Falciano
źródło
Bardzo dziękuję za radę i inicjatywę. Nie znam transformacji rzutowych, więc dowiem się o nich więcej. Zaktualizowałem główny post za pomocą metody dopasowania parametrów, która próbuje znaleźć projekcję Van der Grintena, która najlepiej pasuje do GCP (była dość zbliżona do 37,36) i była dość niezadowolona z tego dopasowania. Proszę spojrzeć i dać mi znać.
Ahmed Fasih
Och, widzę, że transformacja rzutowa w QGIS jest rotacją + tłumaczeniem, które powinno być łatwe do wypróbowania z moimi GCP.
Ahmed Fasih
Ogólnie rzecz biorąc (a także w QGIS) transformacja rzutowa nie jest tłumaczeniem rotacyjnym. Podręcznik użytkownika IMHO QGIS jest błędny w tym punkcie. Ponadto rozważ możliwość, że na mapie w niskiej rozdzielczości mogą znajdować się ręcznie wykonane (?) Artefakty, jak się wydaje po mojej georeferencji. JAK NAJSZYBCIEJ Spróbuję georeferencję hi-res.
Antonio Falciano
Dzięki za informację, zaktualizuję mój QGIS i spróbuję georeferencji z projekcją transformacyjną. (Spróbuję również spojrzeć na kod źródłowy QGIS, aby zobaczyć, co on może robić.) Jeśli chcesz zaoszczędzić trochę czasu i skorzystać z moich GCP, są one na stronie github.com/fasiha/steppe-map/blob /master/gcp.txt (zapisany przez QGIS).
Ahmed Fasih
Zobacz zaktualizowane stanowisko, aby znaleźć możliwe rozwiązanie: tripel Winkel.
Ahmed Fasih
1

na wschodzie występuje silne zniekształcenie („wzrost”): domyślam się, że jest to stożek konformalny Albersa. Wtedy południk pionowy wydaje się mieć 40 ° (-> twój środkowy południk), a pozioma równoległa prawdopodobnie około 40 ° N. Następnie należy zmierzyć współrzędną XY od osi na przecięciu południka 40 i równoległości 40, a następnie spróbować ...

Uwaga: podobieństwa nie są równoległe, więc można wykluczyć występy cylindryczne (Mercator) i pseudo-cylindryczne (sinusoidalne, Eckert)

radouxju
źródło
Brak kątowych znaków tikowych po bokach E i W mapy sugeruje, że nie jest stożkowy.
Martin F
To dobra obserwacja, ale jest coś dziwnego, jeśli spojrzysz na znaki kleszcza: nie są one ustawione pod kątem, ale kiedy połączysz je z linią prostą, nie będą one liniami równoległymi ani poziomymi. Dlatego powinny być zakrzywione, a kleszcze powinny być ustawione pod kątem. W każdym razie, jeśli jest zgodny, prawdopodobnie nie jest to Lambert, ponieważ zbieżność z biegunem spowodowałaby bardzo silne zniekształcenia. Może Albers.
radouxju
Bardzo dziękuję za radę i przepraszam, że tyle czasu zajęło mi jej wdrożenie. Zaktualizowałem główny post, próbując dopasować dane do 4-wymiarowej projekcji Albersa o równej powierzchni (czy to jest to, o czym mówisz?), Do wyodrębnionych GCP. Nie jestem zadowolony z dopasowania i znalazłem kilka innych pseudocylindrycznych projekcji (Eckert V i Robinson), które robią (ilościowo) nieco lepiej, ale wciąż nie są wystarczająco blisko do analizy przedmiotu mapy. Twoje myśli?
Ahmed Fasih