Anzeigen von Weltland-Shapefiles mit Schwerpunkt auf dem Pazifischen Ozean mit Robinson- oder Miller-Zylinderprojektion in QGIS?

20

Ich möchte eine Karte in QGIS (World Country Shapefiles) anzeigen, die alle Länder zeigt, die sich jedoch auf den pazifischen Raum konzentrieren.

Ich bin nicht mit Proj4 vertraut. Gibt es eine Möglichkeit, dies in QGIS zu tun?

user21658
quelle
Nach vielen Problemen fand ich heraus, dass es besser ist, Nr; WKT 1; POLYGON ((30.01 90, 29.99 90, 29.99 -90, 30.01 -90, 30.01 90)) zu verwenden. Diederik

Antworten:

26

Nicht so einfach, da QGIS nicht mit vordefinierten Robinson- oder Miller-Projektionen geliefert wird.

Also habe ich ein Custom CRS ausprobiert und folgendes Bild bekommen (nicht im ersten Durchgang!):

Bildbeschreibung hier eingeben

Für einen Mittelmeridian bei 150 ° West ist es erforderlich, das Shapefile der Weltgrenzen bei 30 ° Ost zu teilen (genauer gesagt bei 29,9 und 30,1, um Schnittpunkte zu vermeiden).

Das sind also die Schritte:

  1. Laden Sie das Shapefile Natural Earth World Boundaries herunter und laden Sie es in QGIS
  2. Save As ... in WGS84, und fügen Sie das der Zeichenfläche hinzu
  3. Löschen Sie die Ebene aus Schritt 1
  4. Deaktivieren On-the-fly-projection
  5. Erstellen Sie die folgende Textdatei:

Nr. WKT

1; POLYGON ((30,1 89, 29,9 89, 29,9 -89, 30,1 -89, 30,1 89))

  1. Füge diese Datei unter Text delimited layerVerwendung von Semikolon als Trennzeichen und WGS84 als CRS hinzu (du erhältst ein sehr dünnes Polygon um 30 ° O)
  2. Speichern Sie die Ebene als Shapefile, fügen Sie sie der Zeichenfläche hinzu und löschen Sie die Ebene aus Schritt 6
  3. Verwendung Vector -> Geoprocessing -> Differencemit den beiden Polygonebenen
  4. Erstellen Sie ein benutzerdefiniertes CRS mit dem Namen Robinson mit dieser Proj-Zeichenfolge:

+proj=robin +lon_0=-150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs

  1. Aktivieren Sie On-the-fly projectionund wählen Sie Robinson als Projekt CRS

Für die Miller-Projektion können Sie dasselbe vorgeschnittene Shapefile verwenden. In Proj hat Miller einige Probleme mit dem Ellipsoid, daher nehmen wir stattdessen eine Kugel (Sie werden keinen Unterschied sehen):

+proj=mill +lon_0=-150 +lat_0=0 +R=6371000 +units=m +no_defs

Wenn On-the-Fly aktiviert ist, sieht es nicht so gut aus, Neuseeland fehlt in vollem Umfang, kehrt aber beim Vergrößern zurück. Wir müssen also Save As ...das Shapefile in Miller-Projektion anzeigen und nur das, ohne On-the-Fly-Reprojektion :

Bildbeschreibung hier eingeben

AndreJ
quelle
3
Ist das etwas , dass QGIS sollte umgehen? Ich meine, es ist nicht so, dass der 180. Meridian etwas Physisches ist ... Gibt es einen Bug / Feature Request dafür?
naught101
2
Weil es mir eine peinliche lange gedauert , es zu finden, kann man eine benutzerdefinierte CRS unter hinzufügenSettings > Custom CRS...
alphabetasoup
3

QGIS wird fertig mit allem geliefert, was Sie brauchen (dh es behandelt Proj4 für Sie unter der Haube). Befinden sich Ihre Daten bereits in der gewünschten Projektion, klicken Sie mit der rechten Maustaste auf die Ebene und wählen Sie "Projekt-CRS aus Ebene festlegen". Dadurch wird die Datenansicht in dieselbe Projektion wie Ihre Daten versetzt. Sie müssen wahrscheinlich auch mit der rechten Maustaste auf Ihre Ebene klicken und "Zoom to Layer Extent" auswählen.

Wenn sich Ihre Daten in einer anderen Projektion befinden, können Sie sie entweder direkt (in den Projekteigenschaften) oder selbst neu projizieren, indem Sie mit der rechten Maustaste auf Ihre Ebene klicken und "Speichern unter" wählen. Wenn das Dialogfeld zum Speichern geöffnet wird, wählen Sie das CRS für das Ausgabe-Dataset aus und verwenden Sie dann das neue neu projizierte Dataset.

MappaGnosis
quelle