Czy wyświetlasz pliki kształtów z całego świata na Oceanie Spokojnym, korzystając z projekcji Robinsona lub Millera Cylindrycznego w QGIS?

20

Chciałbym wyświetlić mapę w QGIS (pliki kształtów krajów świata) pokazującą wszystkie kraje, ale wyśrodkowane na obszarze Pacyfiku.

Nie znam Proj4, więc czy można to zrobić w QGIS?

użytkownik21658
źródło
Po wielu problemach odkryłem, że lepiej używać Nr; WKT 1; POLYGON ((30.01 90, 29,99 90, 29,99 -90, 30,01 -90, 30,01 90)) Diederik

Odpowiedzi:

26

Cóż, nie jest to takie proste, ponieważ QGIS nie ma predefiniowanych projekcji Robinsona lub Millera.

Wypróbowałem więc niestandardowy CRS i dostałem to zdjęcie (nie w pierwszym uruchomieniu!):

wprowadź opis zdjęcia tutaj

W przypadku środkowego południka na 150 ° na zachód konieczne jest podzielenie pliku kształtu granic świata na 30 ° na wschód (a dokładniej na 29,9 i 30,1, aby uniknąć skrzyżowań)

Oto te kroki:

  1. Pobierz plik kształtu granic świata Natural Earth i załaduj go do QGIS
  2. Save As ... w WGS84 i dodaj to do kanwy
  3. Usuń warstwę z kroku 1
  4. Wyłączyć On-the-fly-projection
  5. Utwórz następujący plik tekstowy:

Nr; WKT

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

  1. Dodaj ten plik jako Text delimited layer, używając średnika jako separatora i WGS84 jako CRS (otrzymasz bardzo cienki wielokąt około 30 ° E)
  2. Zapisz warstwę jako plik kształtu, dodaj ją do obszaru roboczego i usuń warstwę z kroku 6
  3. Użyj Vector -> Geoprocessing -> Differencez dwiema warstwami wielokątów
  4. Utwórz niestandardowy CRS o nazwie Robinson z tym ciągiem proj:

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

  1. Włącz On-the-fly projectioni wybierz Robinson jako CRS projektu

Do projekcji Millera można użyć tego samego wstępnie przyciętego pliku kształtu. W Proj Miller ma pewne problemy z elipsoidą, więc zamiast tego bierzemy kulę (nie zobaczysz różnicy):

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

Po włączeniu w locie nie wygląda to tak dobrze, Nowa Zelandia zaginęła w pełnym zakresie, ale powraca podczas powiększania. Musimy więc Save As ...utworzyć plik kształtu w projekcji młynarza i pokazać tylko to, bez ponownej projekcji w locie :

wprowadź opis zdjęcia tutaj

AndreJ
źródło
3
Czy to coś, z czym QGIS powinien sobie poradzić? To znaczy, to nie jest tak, że 180. południk jest czymś fizycznym ... Czy jest prośba o błąd / funkcję?
naught101
2
Ponieważ znalezienie go zajęło mi kłopotliwie dużo czasu, można dodać niestandardowy CRS podSettings > Custom CRS...
alphabetasoup
3

QGIS jest dostarczany w komplecie ze wszystkim, czego potrzebujesz (tj. Obsługuje Proj4 za Ciebie pod maską). Jeśli Twoje dane znajdują się już w żądanej projekcji, kliknij warstwę prawym przyciskiem myszy i wybierz „Ustaw projekt CRS z warstwy”. Spowoduje to umieszczenie widoku danych w tej samej projekcji co dane. Prawdopodobnie będziesz musiał także kliknąć warstwę prawym przyciskiem myszy i wybrać „Powiększ do zakresu warstwy”.

Jeśli Twoje dane są w innej projekcji, możesz albo ponownie rzutować w locie (we właściwościach projektu), albo ponownie rzutować same dane, klikając warstwę prawym przyciskiem myszy i wybierając „Zapisz jako”. Gdy otworzy się okno dialogowe zapisywania, wybierz CRS dla wyjściowego zestawu danych, a następnie użyj nowego ponownie przesłanego zestawu danych.

MappaGnosis
źródło