Wohin gingen die Polygone, nachdem sie eine Karte in QGIS projiziert hatten?


12

Ich bin ziemlich neu im GIS-Know-how, aber ich bin auf ein Problem mit der Projektion einer Weltkarte gestoßen. Ich habe ein Shapefile aller Länder, die ich von Natural Earth heruntergeladen habe. Nachdem ich es wie in dieser anderen Frage vorgeschlagen in eine Orthographie projiziert hatte , änderte ich den Lat / Long, so dass der Atlantik etwas in der Mitte wäre.

Nach der Änderung verschwinden jedoch die USA, Mexiko und Kanada von der Karte, wie Sie hier sehen können: Bildbeschreibung hier eingeben

Wenn ich die Karte auf eine lange Strecke über den USA projiziere, erscheinen die Polygone wieder. Irgendwelche Vorschläge?


2
Beachten Sie, dass Russland, Kasachstan, der Iran und einige kleinere Länder des Nahen Ostens ebenfalls nicht auftauchen und auch kein Teil der Antarktis. Offensichtlich schneidet die Software die Polygone, die nur teilweise ausgeblendet sind, nicht korrekt aus.
whuber

Welche Version von Qgis? Können Sie auch einen direkten Link zu der Ebene bereitstellen, die Sie von Natural Earth heruntergeladen haben? Dann können wir versuchen, Ihr Problem zu reproduzieren. Vielen Dank!
Stéphane Henriod

Das ist eine sehr merkwürdige Vorwürfe. Stellen Sie den Link bereit, damit wir ihn herunterladen und testen können.
Ger

Ok, ich habe es mir angesehen und meinen vorherigen Kommentar gelöscht, da sie eindeutig da sind. Wie es aussieht, wird es in einem CRS von WGS 84 als auf einen Globus projiziert, daher ist die Hälfte der Welt in einem CRS von WGS84 Pseudo Mercator nicht sichtbar. Es wird korrekt angezeigt. Wie bei jedem anderen CRS werden alle Landmassen angezeigt.
Ger

Antworten:


12

Der einfache Grund, warum QGIS diese Polygone nicht zeichnen kann, ist, dass sich einige der Scheitelpunkte auf der Rückseite des Globus befinden und QGIS mit dem Rest kein geschlossenes Polygon zeichnen kann. Die GDAL-Funktion ogr2ogr im Hintergrund ist so programmiert, dass bei Auftreten eines solchen Fehlers die gesamte Funktion aktiviert wird.

Sie haben also zwei Lösungen:


Lösung 1: Befestigen Sie Ihre Polygone auf der Halbkugel

Du brauchst Numerical Digitizeund CAD ToolsPlugin dafür.

  • Stellen Sie das Projekt CRS auf Orthoprojektion ein
  • Erstellen Sie eine neue Punktebene in derselben Projektion
  • Erstellen Sie mit dem Numerical Digitize-Plugin die folgenden Punkte:
x y
6370000 0
0 6370000
-6370000 0
0 -6370000

(sollte auch funktionieren mit Add delimited text layer)

  • Aktivieren Sie das Fangen auf der Punktebene
  • Wählen Sie mit den CAD-Werkzeugen die ersten drei Punkte aus und erstellen Sie daraus einen Bogen
  • Machen Sie dasselbe mit den Punkten 3 - 4 - 1 für die südliche Hemisphäre
  • Ändern Sie das Projekt CRS in WGS84
  • Speichern Sie die CAD-Ebene als WGS84 und fügen Sie sie der Zeichenfläche hinzu
  • Speichern Sie Ihre Grenzfläche auch als WGS84 und fügen Sie sie der Zeichenfläche hinzu
  • Konvertieren Sie die CAD-Linien in eine neue Polygonebene
  • entfernen Sie alle außer den Polygonebenen
  • Schneiden Sie die Weltgrenzen auf die CAD-Polygonebene
  • setze project CRS wieder auf ortho

Sie sollten dieses Bild bekommen: Weltvektor in Orthoprojektion


Lösung 2: Konvertieren Sie Ihre Vektordaten in Raster

  • in den Einstellungen deaktivieren on-the-fly-reprojection
  • Speichern Sie Ihre Grenzebene als WGS84 und fügen Sie diese der Zeichenfläche hinzu
  • Verwenden Sie Raster -> Convert -> Rasterizeauf der WGS84-Ebene x = 360 und y = 170 als Bemaßung für das Raster (oder n * 360 und n * 170).
  • Verwenden Sie Raster -> Projection -> Reprojectdie Orthoprojektion unter einem anderen Namen und fügen Sie sie der Leinwand hinzu. Es werden einige Fehler angezeigt, der Rest des Rasters ist jedoch ausreichend. Kümmere dich nicht darum, dass du ein graues Rechteck siehst
  • Klicken Sie mit der rechten Maustaste auf die Rasterebene -> Eigenschaften, Registerkarte Stil
  • wähle Pseudofarben
  • Wählen Sie auf der Registerkarte Transparenz 0 für 100% Transparenz
  • Entfernen Sie das erste Raster
  • setze project CRS auf ortho

Sie sollten das folgende Bild sehen: Bildbeschreibung hier eingeben

Die gleiche Methode funktioniert mit Rastern, wie Sie in meinem Avatar-Bild sehen können ;-)


BEARBEITEN

Um eine schöne Orthoprojektion zu erhalten, die auf einem Punkt zentriert ist, der nicht auf dem Äquator liegt, schneiden Sie in einer Aeqd-Projektion mit den gleichen Parametern wie die Orthoprojektion. Sie erhalten folgendes Ergebnis:

Bildbeschreibung hier eingeben


Muss der erste Ansatz angepasst werden, wenn die orthografische Projektion einen der Pole enthält (wie in Ihrem Avatar-Bild)? In diesem Fall habe ich Probleme, wenn ich die CAD-Ebene auf WGS84 projiziere, da das resultierende Polygon den Pol nicht abdeckt
Jake,

Du hast recht. In diesem Fall funktioniert die Verwendung einer Aeqd-Projektion anstelle von WGS84 für das Ausschneiden. Das Beschneiden einer Kugel scheint einfacher zu sein als das Ellipsoid.
AndreJ

Ah ja, das ist eine gute Idee! Es scheint jedoch immer noch nicht die Silberkugel zu sein: Ich habe versucht, diesen Ansatz mit dem Natural Earth 1: 110M- landDatensatz mit einer Projektion auf 30 ° N, 110 ° O zu verwenden, und bin auf Probleme gestoßen, wenn ich den Datensatz auf aeqd projizierte : Die großen Polygone drehen sich um und ruinieren den Ausschnitt. Irgendwelche Ideen?
Jake,

Der Antipodialpunkt des Aeqd muss im Meer liegen, um die Artefakte zu vermeiden. Das Aeqd-Zentrum muss nicht derselbe Punkt sein wie für das endgültige Ortho, sondern muss innerhalb des Beschneidungskreises liegen.
AndreJ

0

Siehe Kommentar oben, sie sind einfach auf die andere Seite der Welt gegangen. Die Polygone der Länder sind immer noch da, aber nur sichtbar, wenn der Globus gedreht wird. Ich bin nicht sicher, wie Sie den Globus in diesem Umfang drehen und die Zuordnung ist in der Regel zweidimensional (Countours usw. ausgenommen).

Ich würde Ihr CRS auf das Land einstellen, in dem Sie Daten überlagern möchten. Zum Beispiel würde ich das irische Gitter oder das OSGB-Gitter oder, wie oben angegeben, den WGS84 Pseudo Mercator verwenden.


3
Jessica wollte ein Bild der ganzen Welt als Kreis. Die Projektionen, die Sie vorschlagen, tun das nicht.
AndreJ

down vote ist ein bisschen hart, wenn du mich fragst.
Ger

Das war nicht von mir ...
AndreJ

Cool. Ich verstehe nur nicht, warum die Leute über einen Vorschlag abstimmen. Ich habe eine Biene in meiner Haube und das ist alles.
Ger

4
Eine Gegenstimme sollte nicht persönlich abgehalten werden . Das gesamte SE-Netzwerk ist auf Up- und Down-Stimmen angewiesen, um die besten Antworten auf eine Frage zu finden. Ich habe die Antwort herabgestimmt, weil "CRS auf Country ... Overlay-Daten setzen" den erklärten Wunsch des OP, den Atlantik auf der Karte zentriert zu halten, ignoriert.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.