Konvertieren Sie ein beliebiges metadatenfreies Kartenbild in ein QGIS-Projekt

9

Mein Hintergrund: erfahrener Programmierer, Amateurhistoriker, absoluter Anfänger in GIS (also benutze ich QGIS). Ich habe jedoch gelernt, das QGIS-Georeferencer-Tool zu verwenden.

Die Eingabe: Angenommen, ich habe ein Bild wie dieses Wikipedia: Datei: VoyagesOfRabbanBarSauma.jpg . Angenommen, es handelt sich um eine "nackte" JPG-Datei ohne geografische Metadaten, und der Autor kann keine solchen Informationen bereitstellen. Das Eingabebild ist unter GNU FDL lizenziert, unter dem ich gerne meine abgeleiteten Werke veröffentlichen kann.

Das Ziel: Importieren Sie den in der Wikipedia-Karte angezeigten Pfad in QGIS, damit ich die Projektion ändern, die Höhe überlagern, Beschriftungen für die physische Geografie hinzufügen usw. kann.

Die Einschränkung: Eine Problemumgehung besteht möglicherweise darin, die Breite / Länge der Positionen auf der Karte in ein neues GIS-Projekt einzugeben. Ich möchte diesen Weg nicht gehen, weil ich die Schätzung des jeweiligen Autors der geografischen Informationen aufzeichnen möchte.

Was ich versucht habe: Ich habe den QGIS Georeferencer auf die Raster-JPG-Datei mit einer Reihe von Punkten an den Rändern der Kontinente angewendet. Die Ausrichtung der Punkte im Inneren des Kontinents ist mittelmäßig.

Was ich gerne wissen würde: Die Verzerrungen dieser speziellen Karte sind am nördlichen Rand Eurasiens ziemlich auffällig, und es scheint, als wäre es eine ziemlich normale Projektion. Es scheint mir, dass es einen algorithmischen Weg geben sollte, um die Projektions- und Projektionsparameter zu identifizieren, die diese Karte erzeugt haben, und eine genaue Nichtinterpolationskonvertierung zwischen Bildpixeln und Lat / Long wiederherzustellen?

Ich sehe zwei Fragen dazu:

  1. Identifizieren des Koordinatensystems von Shapefile, wenn unbekannt?
  2. Unbekanntes Koordinatensystem auf alter Zeichnung

Diese scheinen über eine Brute-Force-Methode mit GDAL oder QGIS zu sprechen, und für einen GIS-Anfänger scheinen sie etwas arbeitsintensiv zu sein (im Grunde genommen Georeferenzierung und Anpassung an bekannte Projektionen), aber ich bin bereit, sie auszuprobieren und zu sehen, ob ich kann automatisieren sie.

Die Anweisungen auf diesen beiden GIS.SE sind etwas höher als es meine Erfahrung zulässt, und alle Hinweise, wie genau diese Brute-Force-Methode durchzuführen ist, wären sehr willkommen. Beispiel 2 oben zeigt, wie mit gdaltransform eine Liste von Koordinaten in lat / long konvertiert wird. Sind die Eingabekoordinaten xy Pixelpositionen?

Ahmed Fasih
quelle

Antworten:

7

Wie bereits erwähnt, ist Ihre Beispielkarte Plate Carree, in QGIS WGS84 / lat lon, EPSG: 4326. Es georeferenziert gut in QGIS unter Verwendung der Helmert-Linear-Methode mit nur zwei Punkten. In meinem Fall habe ich einen Punkt nahe links oben im Bild und einen anderen Punkt nahe rechts unten im Bild verwendet. Die für die Georeferenzierung verwendeten Lat / Lon-Koordinaten wurden von Google Earth erhalten. Denken Sie daran, dass bei der Georeferenzierung der Breitengrad "y" und der Längengrad "x" ist.

Nur zum Spaß habe ich dann das georeferenzierte Raster in QGIS geladen und die Route schnell nachverfolgt und als Linien-Shapefile gespeichert. Ich habe dann ein Rasterbild von Natural Earth geladen und dieses mit der Route überlagert (siehe das beigefügte Bild für einen Teil der resultierenden Karte).

Natürliche Erdrasterbilder sind georeferenziert (nach EPSG: 4326), schön und kostenlos. Sie können sie hier herunterladen:

Natürliche Erde

Sie eignen sich ideal als Basiskarten zum Zeichnen historischer Daten.

Später hinzugefügt:

Ich weiß so gut wie nichts über Kartierungen im Weltmaßstab, aber ich habe Ihre Kommentare zu den offensichtlichen Verzerrungen in der ursprünglichen WGS84 Lat / Lon-Karte (EPSG: 4326) zur Kenntnis genommen. QGIS verfügt über eine Reihe guter Tools zum Neuprojektieren von Vektor- und Rasterdaten. Daher dachte ich (teilweise für meine eigene Selbstbildung!), Ich würde versuchen, ein CRS zu finden, das die Karte auf "natürlichere" Weise darstellt.

Das beigefügte Bild zeigt ein abgeschnittenes Natural Earth-Raster, das in eine benutzerdefinierte Albers-Projektion mit gleicher Fläche umgewandelt wurde. Die Vektordaten auf der Karte wurden von WGS84 lat / lon on the fly transformiert. Warum Albers? Nun, es schien eine vernünftige Sache zu sein, es zu versuchen. Offensichtlich würde man in einer fertigen Karte das Vektorgitter (ebenfalls mit freundlicher Genehmigung von Natural Earth) am Bild befestigen. Trotzdem denke ich, dass die Formen auf der Karte einigermaßen naturalistisch sind und dass die Karte auch die Tatsache hervorhebt, dass Bar Saumas bemerkenswerte Reise auf einem Globus gemacht wurde.

Die Parameter für das benutzerdefinierte CRS waren wie folgt:

+proj=aea +lat_1=22.0 +lat_2=56.0 +lat_0=20.0 +lon_0=55.0 +x_0=0 +y_0=0 +ellps=WGS84 +units=m +no_defs

War dies eine vernünftige Projektion? Ich weiß es ehrlich gesagt nicht.

Nick.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

nhopton
quelle
Nick, danke so viel, das ist genau , wie ich die Reise sehen wollte! Wenn ich nicht gewusst hätte, dass es sich bei der Projektion um Plate Carree handelt, hätte QGIS dies herausfinden können, wie es ArcGIS zu tun scheint? Es gibt Unmengen solcher Karten auf Wikipedia ( Beispiel ), auf denen ich die geografischen Daten auf anderen Projektionen und mit unterschiedlichen Hintergründen (Höhe, NDVI, Klima) visualisieren möchte, und es scheint, als müsste man zuerst a herausfinden nackte Rasterprojektion.
Ahmed Fasih
Soweit ich weiß, kann QGIS die Projektion einer Karte nicht berechnen. Bei der Bar Sauma-Karte war es leicht zu erraten, dass es sich um EPSG: 4326 handelte, indem man die Verzerrung oben mit der auf anderen Plate Carree-Weltkarten verglich. In Bezug auf die Wikipedia Mongol Empire-Karte scheint dies weder Plate Carree noch World Mercator zu sein. Ich denke, dass einige der Leute, die Karten für Wikipedia erstellen, benutzerdefinierte gleichwinklige Lat / Lon-Projektionen verwenden, wie Plate Carree, aber nicht auf Lat 0-Grad, Lon 0-Grad zentriert. Es ist möglich, dass diese Karte eine davon ist. Ich werde ein bisschen graben.
nhopton
Ist die "Brute Force" -Technik, mit der die beiden anderen von mir verknüpften StackExchange-Fragen verknüpft sind, für QGIS nicht zugänglich? Einer von ihnen scheint GDAL mit verschiedenen Vermutungen für die zugrunde liegende Projektion zu verwenden, die innerhalb von QGIS skriptfähig sein sollte. Danke noch einmal!
Ahmed Fasih
Das Problem ist, dass bei dieser Methode davon ausgegangen wird, dass das Bild bereits georeferenziert ist, jedoch auf ein unbekanntes CRS (Projektion). Die Bilder, mit denen Sie arbeiten, werden wahrscheinlich aus Büchern gescannt oder von Orten wie Wikipedia heruntergeladen, und Sie müssen sie selbst georeferenzieren. QGIS verfügt über eine Georeferenzierungsmethode, TPS ( Thin Plate Spline ), mit der eine große Anzahl von Kontrollpunkten verwendet werden kann. Die TPS-Methode kann verwendet werden, um Rasterkarten in Form zu "ziehen" und ist sehr leistungsfähig. Es wird jedoch davon ausgegangen, dass Sie die Koordinaten für eine angemessene Anzahl von Kontrollpunkten haben. Nick.
nhopton
5

Die Karte verwendet Breiten- und Längengrade, als wären sie kartesische Koordinaten. Dies ist eine Version der gleichwinkligen oder "Plate Carree" -Projektion. Sie müssen also nur die x- und y-Koordinaten verschieben und neu skalieren, um den Längen- bzw. Breitengrad zu erhalten.

Mit dem Georeferenzierungswerkzeug in ArcGIS 10.0 können Sie in kurzer Zeit Links erstellen, um die Transformation abzuschätzen. Obwohl die Transformation nicht gemeldet wird, kann die Verknüpfungstabelle in Rdie Koeffizienten exportiert und dort geschätzt werden. Wenn Sie das mittlere Pixel in der oberen linken Ecke der hochauflösenden Version des Bildes bei (0,0) platzieren, erhalten Sie das Ergebnis

latitude = 75.71992178 + 0.0427073 * row index
longitude = -18.86514764 + 0.04275506 * column index

Die schwarzen Länderumrisse der Referenzebene (von ESRI mit früheren Versionen von ArcView bereitgestellt) zeigen, wie gut die Ebenen nach dem Anwenden einer solchen Transformation übereinstimmen. Die mittleren quadratischen Fehler betragen 6 bis 7 km entlang jeder Achse: etwa ein Pixel im Bild, fast so gut, wie man es erwarten kann.

Georeferenzierte Karte

whuber
quelle
0

Die Karte ist wahrscheinlich schematisch und die Platzierung der Städte ist möglicherweise nicht perfekt, was die Verwendung bei der Georeferenzierung riskant macht.

Der beste Ansatz könnte darin bestehen, die Karte mit einer geeigneten Basis in QGIS per Auge zu erfassen. Es stimmt nicht perfekt mit dem Original überein, aber die Routen sind wahrscheinlich indikativ, sodass Sie wahrscheinlich keine Genauigkeit verlieren.

Matthew Snape
quelle
Hervorragende Punkte, danke, ich werde tun, was Sie raten. Gibt es eine einfache Möglichkeit, die Projektion und Parameter des Bildes wiederherzustellen?
Ahmed Fasih