I`m versucht , einen kugelähnliche Ansicht mit qgis zu schaffen und die „Welt aus dem Weltraum“ -Projektion http://spatialreference.org/ref/sr-org/6980/ (essentialy eine ortho-Projektion). ArcGIS bricht die Formen korrekt um, QGIS (2.01) erzeugt jedoch unangenehme Artefakte.
Ich muss die Globen regelmäßig mit verschiedenen Winkeln herstellen. Hat jemand eine Idee, wie man dieses Problem beheben kann?
qgis
arcgis-desktop
shapefile
coordinate-system
user1523709
quelle
quelle
Antworten:
Wie Andre sagte, damit dies funktioniert, müssen Sie Ihre Ebene beschneiden, bevor Sie sie projizieren. Andre beschreibt eine manuelle Methode , die in vielen Fällen gut funktioniert: Projizieren Sie Ihr Shapefile auf eine azimutale äquidistante Projektion mit denselben Parametern wie die orthografische Projektion, erstellen Sie einen Beschneidungskreis, der die Halbkugel bedeckt, die in der orthografischen Projektion sichtbar sein wird, und Clip das Shapefile damit. Diese Methode erfordert jedoch ein wenig manuellen Aufwand und funktioniert nicht bei allen Projektionsparametern, da die Projektion auf eine azimutale Projektion mit gleichem Abstand zu ähnlichen Problemen führen kann wie die Projektion auf eine orthografische Projektion.
Hier ist ein Skript (jetzt auch als Clip-to-Hemisphere-QGIS-Plug-in verfügbar ), das einen etwas anderen Ansatz verfolgt: Im Koordinatenreferenzsystem des ursprünglichen Shapefiles wird eine Clipping-Ebene erstellt, indem ein Kreis vom orthografischen zum Quell-CRS projiziert wird Stellen Sie sicher, dass die gesamte sichtbare Hemisphäre, einschließlich des sichtbaren Pfostens, bedeckt ist.
So sieht die Clipping-Ebene für eine orthografische Projektion aus, die auf 30 ° N und 110 ° E zentriert ist:
Das Skript schneidet dann die aktuell ausgewählte Ebene mit der Schnittebene ab und fügt die resultierende Ebene dem Projekt hinzu. Diese Ebene kann dann direkt oder durch Speichern in der orthografischen CRS auf die orthografische Projektion projiziert werden:
Hier ist das Drehbuch. Stellen Sie sicher, dass Sie es in Ihrem Python-Pfad speichern, zum Beispiel als 'cliportho.py'. Anschließend können Sie es mit in die QGIS Python-Konsole importieren
import cliportho
. Um eine Ebene auszuschneiden, rufen Sie aufcliportho.doClip(iface, lat=30, lon=110, filename='A.shp')
.quelle
Sie müssen Ihre Polygondaten auf die sichtbare Hälfte des Globus zuschneiden, da QGIS dies nicht alleine tut.
Ich habe hier ein Tutorial geschrieben:
Wohin gingen die Polygone, nachdem sie eine Karte in QGIS projiziert hatten?
BEARBEITEN
Das Bild, das Sie zeigen, ist eigentlich keine Orthoprojektion, da es die ganze Welt zeigt und nicht nur die sichtbare Hälfte aus dem Weltraum. Für Weltkarten ist das Schneiden etwas einfacher, wie hier beschrieben:
QGIS zeigt mit Robinson, Miller Cylindrical oder einer anderen Projektion weltweite Formdateien an, die auf den Pazifischen Ozean ausgerichtet sind
quelle