Georeferenzierungsergebnisse verbessern? [geschlossen]

13

Hintergrund Dies ist meine zweite Frage zum Georeferenzieren nackter Rasterkarten, um sie auf verschiedenen Koordinatensystemen und in Verbindung mit anderen Datenebenen erneut zu visualisieren. Die vorherige Frage lautet: Konvertieren Sie ein beliebiges metadatenfreies Kartenbild in ein QGIS-Projekt

Problem Mein Ziel ist es, diese Karte zu georeferenzieren:

Eurasische Steppe, Encyc.  Brit.

Dies scheint nicht Plate-Carrée zu sein. Deshalb habe ich in QGIS mehrere sinnvolle Kontrollpunkte erstellt, die ich der Vollständigkeit halber unten angefügt habe [ref: 1]. Ich biete QGIS Georeferencer das gleiche Ziel-SRS an wie meine Projektdatei, EPSG: 4326. Ich erhalte außergewöhnlich schlechte Ergebnisse mit Helmert und den Polynomtransformationen, erhalte jedoch ein vernünftiges Bild mit dünnem Plattenspline (wodurch die resultierende geografische Schätzung meine Kontrollpunkte durchläuft). Selbst dieses Ergebnis ist jedoch schlecht, z. B. in höheren Breiten (siehe die russische Küste nördlich von Japan). Dies ist ein Screenshot meines QGIS-Bildschirms mit einem natürlichen Erdhintergrund.

QGIS-Georeferenzergebnis, dünner Plattenspline

Alternativer Weg Ich habe eine ähnliche Übung mit dem viel einfacher zu verwendenden Tool von MapWarper versucht: Sehen Sie sich das Ergebnis und die Kontrollpunkte unter http://mapwarper.net/maps/758#Preview_Map_tab an, wo ich schlechtere Ergebnisse erhalte (wahrscheinlich aufgrund der Tatsache) dass ich weniger Kontrollpunkte hinzugefügt habe).

Fragen auf den Punkt gebracht

  1. Gibt es irgendwelche Tricks, die ich für eine gute Georeferenzierung vermisse?
  2. Ist diese Projektion sofort erkennbar?
  3. Bei unbekanntem Koordinatensystem auf alte Zeichnung , wird gdaltransformvorgeschlagen, mehrere Koordinatenpunkte in ein mehr Ziel SRS zu verwandeln, mit dem Ziel , tatsächlich die Projektionsparameter Aufdecken verwendet , um die Original - Karte zu erzeugen. Ich habe versucht , so etwas wie dies: nach meiner QGIS Liste von Punkten zu speichern, ich einige Zeichenfolge tat Verarbeitung eine Liste von bekommen Leerzeichen getrennten lang / Lats über cat eurasian-steppe-gcp.points | tail -n+2 | cut -d, -f1-2 | sed 's/,/ /'> tmp.txtund die resultierende Datei in gdaltransform Eingabe: gdaltransform -s_srs EPSG:3785 -t_srs EPSG:4326 < tmp.txtund Schalt das s_srsundt_srsFlags (das Projekt verwendet EPSG: 4326). Ich weiß, dass ich im Dunkeln fotografiere, in der Hoffnung, Glück zu haben, also war ich nicht überrascht, als ich die Ergebnisse nicht verstehen konnte. Kann jemand erläutern, wie ich diese Methode verwenden würde, um die beste Schätzung der Projektion und der Projektionsparameter der Quellkarte zu ermitteln? Ich denke dahinter, dass es vielleicht einfacher ist, eine nahezu perfekte Georeferenz mit weniger Kontrollpunkten zu erhalten, anstatt unzählige Kontrollpunkte für eine gute Georeferenz zu platzieren, indem man einfach alle gängigen Koordinatensysteme durchläuft? Umfasst es eine Kreuzvalidierung jedes Punktes mit allen anderen Punkten für jedes zu testende CRS?

Ich möchte mich mit diesem Algorithmus oder der Georeferenzierung vertraut machen, damit ich den Prozess automatisieren kann. Dieses Problem tritt ständig auf, und bis die Ersteller von Inhalten aufhören, ihre Karten als einmalige Kreationen zu behandeln, die niemals integriert werden Bei anderen Inhalten erwarte ich nicht, dass ich damit aufhöre.

Verweise

[Ref: 1] QGIS GCP-Datei:

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

Nicht aktualisieren

Analyse von van der Grinten Ich habe ein Python-Tool geschrieben, um GCPs an jede Projektion anzupassen, die Proj4 unterstützt (über Pyproj), und es auf die beiden in den Antworten vorgeschlagenen Projektionen angewendet. Der Quellcode (etwas schlampig, ich entschuldige mich im Voraus) sowie aktualisierte GCPs stehen unter https://github.com/fasiha/steppe-map zur Verfügung

Der van der Grinten muss nur 1 Parameter einstellen, und hier ist das resultierende Bild (unter Verwendung des neuesten Bildes von Britannica, vielen Dank für die Bereitstellung einer so hochauflösenden und aktualisierten Karte (obwohl es immer noch keine Projektionsdaten gibt)).

Van der Grinten fit

Van der Grinten weist einen relativen Fehler von 0,035 zwischen den GCPs und den Best-Fit-Punkten auf. Dies ist der schlechteste Wert der Gruppe, die ich ausprobiert habe, und die Überlagerung an der Küste bestätigt dies qualitativ.

(Es kann hilfreich sein, wenn Sie dieses Bild in einem eigenen Tab öffnen. Es ist ziemlich hochauflösend. Außerdem werden grüne Pfeile angezeigt, die die georeferenzierten Punkte angeben (sie sollten mit wichtigen Orientierungspunkten auf dem Bild übereinstimmen) sowie rote Pfeile, die angeben, wo diese Punkte liegen angepasst werden (sie sollten mit den gleichen Orientierungspunkten auf der Küstenlinie übereinstimmen) --- Die Abweichung zwischen den beiden kann dem Auge helfen, die Unterschiede zwischen dem Bild und der Anpassung zu erkennen.)

Analyse der Albers-Flächengleichheit Das Gleiche mit der Albers -Flächengleichheitsprojektion versuchen (das ist dasselbe wie "Albers-konformer Kegel"? Entschuldigen Sie meine Unkenntnis). Diese Anpassung, die eine 4-dimensionale Parameteranpassung beinhaltet, ist mit einem relativen Fehler von 0,025 besser, sieht aber trotzdem ziemlich schlecht aus.

Albers flächengleiche Passform

Analyse der Robinson- und Eckert-V-Projektionen Ich passe eine Reihe von pseudozylinderförmigen Projektionen an, die von Pyproj unterstützt werden (alles, was ich finden konnte, hatte einen freien Parameter), und fand heraus, dass die Robinson- und die Eckert-V-Projektion hinsichtlich des relativen Fehlers zwischen "am besten" waren die GCPs und die angepassten Punkte, beide mit relativen Fehlern von 0,015.

Hier ist der Robinson:

Robinson fit

Und hier ist der Eckert V.

Eckert V fit

Beachten Sie die Abweichungen der angepassten Küstenlinie von der Küstenlinie des Bildes. Ich denke damit kann ich schließen, dass die Karte keine der oben genannten ist?

Winkel Tripel: mögliche Lösung?

Nachdem ich nacheinander jede Projektion in diesem Proj-Handbuch aus dem Jahr 1990 (Stand 2003) ausprobiert hatte, kam ich schließlich zur Winkel-Tripel-Projektion. Dies erzeugt die geringsten quantitativen Fehler (0,011) und die Küstenlinie ist gleichmäßig recht gut (oder gleichwertig gleichmäßig leicht schlecht). Ich habe gelesen, dass dies die Projektion der National Geographic Society ist, was bedeutet, dass sie berühmt ist, und dies verstärkt die Kandidatur dieser Projektion für die Karte von Britannica. Der Einbau SRS: +units=m +lon_0=47.0257707403 +proj=wintri.

Winkel tripel fit

(Entschuldigung, dass Sie die Farbe der Küste in Grau geändert haben. Wenn dies jemanden beleidigt, kann ich eine blaue Version erstellen.)

Ich werde versuchen, meine GCPs zu optimieren, um den Fehler zu verringern.

Ahmed Fasih
quelle
Das sollte eine Mercator-Projektion sein (die Parallelen sind nicht äquidistant).
Bhell
1
Ich liege falsch: Mercator sollte natürlich parallele Meridiane haben. Vielleicht van der Grinten ?
Bhell
Haben Sie versucht, einige Kontrollpunkte im hohen Norden hinzuzufügen? Jeder andere Ort sieht gut aus, aber dort fehlen anscheinend weitere Informationen.
Underdunkel
1
@bhell Van der Grinten ist eine ausgezeichnete Vermutung, aber es passt nicht ganz. Die Projektion scheint dieselbe zu sein wie auf dieser Karte (die mit einem Raster versehen ist), die ebenfalls kürzlich von Encyclopedia Britannica erstellt wurde. Es ist eine Art pseudopolykonische Projektion in äquatorialer Hinsicht, die auf den Nullmeridian zentriert ist, aber ich erkenne es nicht. Bei Encyclopedia Britannica nachzufragen ist eine gute Idee.
whuber
2
Ah, das Bild kann also nicht in eine Van der Grinten-Projektion konvertiert werden (mit der ich vertraut bin, weil sie in einer verkehrten Karte an meiner Wand verwendet wird), und zwar über eine affine Transformation. Gut zu wissen!
Ahmed Fasih

Antworten:

3

Aus einer ersten Analyse können wir erkennen, dass nur der Äquator und der Mittelmeridian (ungefähr durch Moskau verlaufend, ungefähr 37,36 östlich der Länge) gerade Linien sind, während alle anderen Parallelen und Meridiane Kurvenlinien sind. Unter den globalen Projektionen deuten diese Merkmale darauf hin, den Van der Grinten zu probieren ( wie es in einem Kommentar zur Frage der Fall war ), dh die Standard-Weltkartenprojektion der National Geographic Society.

Deshalb habe ich das Projekt SR in QGIS als benutzerdefiniertes SRS festgelegt 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

direkt von EPSG:54029( World_Van_der_Grinten_I) abgeleitet, wobei nur die Länge des Mittelmeridians geändert wird. Dann habe ich versucht, das Bild mithilfe der projektiven Transformation mit den folgenden GCPs zu georeferenzieren, die auf einem imaginären Raster ausgewählt wurden, das durch die verfügbaren Häkchen verläuft:

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

Dies ist das Ergebnis im Brauch World_Van_der_Grinten_I (Moscow)mit GCPs (World Country Admin Grenze in rot):

Bildbeschreibung hier eingeben

Diese Georeferenzierung könnte durch die Auswahl genauerer GCPs weiter verbessert werden (die größte Schwierigkeit ist das Fehlen von Häkchen oder eines Rasters). Es scheint jedoch, dass die Karte einige Artefakte enthält, insbesondere in Mittel- und Nordeuropa. Betrachten Sie zum Beispiel Deutschland, das in Bezug auf Italien oder die relative Position der Kolguyev-Insel (die recht gut passt) und der russischen Küste (die überhaupt nicht passt) zusammengebrochen zu sein scheint.

Das gleiche Ergebnis wie in WGS84( EPSG:4326):

Bildbeschreibung hier eingeben

Antonio Falciano
quelle
Vielen Dank für Ihren Rat und Ihre Initiative. Ich bin nicht mit projektiven Transformationen vertraut, daher werde ich mehr über sie erfahren. Ich habe den Hauptbeitrag mit einem Parameteranpassungsansatz aktualisiert, der versucht, die Van der Grinten-Projektion zu finden, die am besten zu den GCPs passt (sie lag ziemlich nahe bei 37,36), und war mit dieser Anpassung ziemlich unzufrieden. Bitte werfen Sie einen Blick darauf und lassen Sie es mich wissen.
Ahmed Fasih
Oh, ich sehe, dass projektive Transformation in QGIS eine Rotation + Übersetzung ist, die mit meinen GCPs leicht zu testen sein sollte.
Ahmed Fasih
Generell (und auch in QGIS) ist projektive Transformation keine Roto-Übersetzung. IMHO QGIS Benutzerhandbuch ist in diesem Punkt falsch. Berücksichtigen Sie außerdem die Möglichkeit, dass die niedrig aufgelöste Karte handgefertigte (?) Artefakte enthält, wie es nach meiner Georeferenzierung scheint. SO SCHNELL WIE MÖGLICH werde ich versuchen, die hochauflösende zu georeferenzieren.
Antonio Falciano
Vielen Dank für die Informationen, ich werde mein QGIS aktualisieren und die projektive Transformations-Georeferenzierung ausprobieren. (Ich werde auch versuchen, den QGIS-Quellcode zu überprüfen, um zu sehen, was er möglicherweise bewirkt.) Wenn Sie Zeit sparen und meine GCPs verwenden möchten, finden Sie sie unter github.com/fasiha/steppe-map/blob /master/gcp.txt (von QGIS gespeichert).
Ahmed Fasih
Eine mögliche Lösung finden Sie im aktualisierten Beitrag: Winkel tripel.
Ahmed Fasih
1

Es gibt eine starke Verzerrung im Osten ("aufwärts"): Ich vermute, es handelt sich um einen Albers-konformen Kegel. Dann scheint der vertikale Meridian bei 40 ° (-> Ihr Mittelmeridian) und der horizontale Parallele wahrscheinlich bei 40 ° N zu liegen. Sie sollten dann Ihre XY-Koordinate von der Achse am Schnittpunkt von Meridian 40 und Parallele 40 messen und dann versuchen ...

Hinweis: Die Parallelen sind nicht parallel, daher können Sie zylindrische (Mercator) und pseudozylinderförmige Projektionen (sinusförmig, Eckert) ausschließen.

radouxju
quelle
Das Fehlen abgewinkelter Tic-Markierungen auf der E- und W-Seite der Karte lässt darauf schließen, dass es sich nicht um eine Kegelform handelt.
Martin F
Dies ist eine gute Beobachtung, aber es gibt etwas Merkwürdiges, wenn Sie die Häkchen betrachten: Sie sind nicht abgewinkelt, aber wenn Sie sie mit einer geraden Linie verbinden, sind sie weder parallele noch horizontale Linien. Daher sollten sie gekrümmt sein und die Zecken sollten abgewinkelt sein. Wenn es konform ist, ist es wahrscheinlich nicht Lambert, da die Konvergenz zum Pol sehr starke Verzerrungen hervorrufen würde. Vielleicht Albers.
Radouxju
Vielen Dank für den Rat, und es tut mir leid, dass ich so lange gebraucht habe, um ihn umzusetzen. Ich habe den Hauptbeitrag aktualisiert, indem ich versucht habe, die Daten an die GCPs anzupassen, die ich extrahiert habe. Ich bin mit der Anpassung nicht zufrieden und habe ein paar andere pseudozylinderförmige Projektionen gefunden (Eckert V und Robinson), die (quantitativ) einiges besser sind, aber immer noch nicht nah genug für die Analyse des Karteninhalts sind. Ihre Gedanken?
Ahmed Fasih