QGIS에서 맵을 투영 한 후 다각형은 어디로 갔습니까?


12

저는 GIS 노하우를 처음 접했지만 세계지도를 투영 할 때 문제가 발생했습니다. Natural Earth에서 다운로드 한 모든 국가의 shapefile이 있습니다. 이 다른 질문에서 제안한 바와 같이 직교로 투영 한 후 , 나는 대서양이 다소 중심에 있도록 위도 / 경도를 변경했습니다.

그러나 변경 한 후에는 미국, 멕시코 및 캐나다가지도에서 사라집니다. 여기에 이미지 설명을 입력하십시오

지도를 미국 위로 길게 투영하면 다각형이 다시 나타납니다. 어떤 제안?


2
러시아, 카자흐스탄,이란 및 몇몇 작은 근동 국가도 나타나지 않으며 남극 대륙의 일부도 나타나지 않습니다. 소프트웨어가 부분적으로 만 숨겨져있는 다각형을 올바르게 클리핑하지 않는 것 같습니다.
— whuber

어떤 Qgi 버전이 있습니까? Natural Earth에서 다운로드 한 레이어에 대한 직접 링크를 제공 할 수 있습니까? 그런 다음 문제를 재현 할 수 있습니다. 감사!
— Stéphane Henriod

그것은 매우 이상한 재 투영입니다. 다운로드하여 확인할 수 있도록 링크를 제공하십시오.
— Ger

좋아, 나는 그것을 들여다 보았고 분명히 거기에있는 이전 의견을 삭제했다. WGS 84의 CRS에서는 지구상에있는 것으로 예상되므로 WGS84의 CRS에서는 세계의 절반이 보이지 않습니다. 다른 모든 CRS와 마찬가지로 모든 육지를 보여줍니다.
— Ger

답변:


12

QGIS가 이러한 다각형을 그릴 수없는 간단한 이유는 일부 정점이 지구의 뒷면에 있고 QGIS가 나머지와 함께 닫힌 다각형을 그릴 수 없기 때문입니다. 백그라운드에서 GDAL ogr2ogr 기능은 이러한 오류가 발생할 때 전체 기능을 시작하도록 프로그래밍되어 있습니다.

따라서 두 가지 솔루션이 있습니다.


해결 방법 1 : 다각형을 반구에 클립

당신은 필요 Numerical Digitize하고 CAD Tools그것을 위해 플러그인.

  • 프로젝트 CRS를 직교 투영으로 설정
  • 동일한 투영에서 새로운 점 레이어를 만듭니다
  • Numerical Digitize 플러그인을 사용하여 다음 사항을 작성하십시오.
x y
6370000 0
0 6370000
-6370000 0
0 -6370000

(와 함께 작동해야 함 Add delimited text layer)

  • 포인트 레이어에서 스냅 가능
  • CAD 도구를 사용하여 처음 세 점을 선택하고 그로부터 호를 만듭니다.
  • 남반구의 경우 3-4-1 점에 대해서도 동일하게 수행
  • 프로젝트 CRS를 WGS84로 변경
  • CAD 레이어를 WGS84로 저장하고 캔버스에 추가
  • 경계 레이어도 WGS84로 저장하고 캔버스에 추가하십시오
  • CAD 선을 새 다각형 레이어로 변환
  • 다각형 레이어를 제외한 모든 것을 제거
  • 세계 경계를 CAD 다각형 레이어에 클립
  • 프로젝트 CRS를 다시 직교로 설정

이 사진을 가져와야합니다. 직교 투영의 세계 벡터


해결 방법 2 : 벡터 데이터를 래스터로 변환

  • 설정에서 비활성화 on-the-fly-reprojection
  • 경계 레이어를 WGS84로 저장하고 캔버스에 추가
  • 사용 Raster -> Convert -> RasterizeWGS84 층 상에 (N 및 N * 360 * 170 이상), X = 360을 선택하고, Y는 래스터 치수로 170 =
  • Raster -> Projection -> Reproject다른 이름으로 직교 투영에 사용 하여 캔버스에 추가하십시오. 약간의 오류가 발생하지만 나머지 래스터가 발생합니다. 회색 사각형을 보더라도 귀찮게하지 마십시오
  • 래스터 레이어를 마우스 오른쪽 버튼으로 클릭-> 속성, 스타일 탭
  • 의사 색상을 선택하십시오
  • 투명도 탭에서 100 % 투명도에 대해 0을 선택하십시오.
  • 첫 번째 래스터 제거
  • 프로젝트 CRS를 직교로 설정

다음 그림을보아야합니다. 여기에 이미지 설명을 입력하십시오

내 아바타 사진에서 볼 수 있듯이 래스터와 동일한 방법으로 작동합니다. ;-)


편집하다

적도가 아닌 점을 중심으로 멋진 직교 투영을 얻으려면 직교와 동일한 매개 변수를 사용하여 등가 투영에서 클리핑을 수행하십시오. 이 결과를 얻을 수 있습니다 :

여기에 이미지 설명을 입력하십시오


직교 투영법이 (아바타 사진과 같이) 극 중 하나를 포함 할 때 첫 번째 접근법을 적용해야합니까? 이 경우 결과 폴리곤이 극을 덮지 않기 때문에 CAD 레이어를 WGS84로 투영 할 때 문제가 발생합니다.
— Jake

네 말이 맞아 이 경우 클리핑 작업에 WGS84 대신 aeqd 투영을 사용합니다. 구의 클리핑은 타원체보다 더 쉬운 것 같습니다.
— AndreJ

아 그래, 좋은 생각이야! 그러나 여전히 은빛 총알은 아닌 것 같습니다. 나는 land30 ° N, 110 ° E를 중심으로 한 투영으로 Natural Earth 1 : 110M 데이터 세트로 해당 접근법을 사용하려고 시도 했으며 데이터 세트를 aeqd로 투영 할 때 문제가 발생했습니다. : 큰 다각형이 뒤집어 클리핑을 망칩니다. 어떤 아이디어?
— Jake

인공물의 반발 점은 인공물을 피하기 위해 바다에 있어야합니다. Te aeqd center는 최종 직교와 같은 점일 필요는 없지만 클리핑 원 안에 있어야합니다.
— AndreJ

0

위의 의견을 참조하십시오. 그들은 단순히 지구 반대편으로갔습니다. 국가의 다각형은 여전히 ​​존재하지만 지구가 회전하지 않는 한 보이지 않습니다. 이 상황에서 지구를 어떻게 회전시키는 지 잘 모르겠으며 매핑은 일반적으로 2 차원입니다 (카운터 등 제외).

CRS를 데이터를 오버레이하려는 국가로 설정합니다. 예를 들어, 아일랜드 그리드 또는 OSGB 그리드를 사용하거나 위에서 설명한 WGS84 Pseudo Mercator를 사용합니다.


3
Jessica는 전 세계의 그림을 원으로 원했습니다. 당신이 제안한 계획은 그렇게하지 않습니다.
— AndreJ

당신이 저에게 묻는다면 투표는 약간 가혹합니다.
— Ger

그건 내가 아니었다 ...
— AndreJ

멋있는. 나는 사람들이 왜 제안에 투표하지 않는지 모르겠습니다. 나는 그것에 대해 내 보닛에 꿀벌이 있고 그게 전부입니다.
— Ger

4
다운 투표 는 개인적으로 취해서는 안됩니다 . 전체 SE 네트워크 는 질문에 대한 최고의 답변을 표시하기 위해 상향 및 하향 투표에 의존합니다 . "CRS를 국가로 설정 ... 오버레이 데이터"는 대서양을지도 중앙에 유지하려는 OP의 명시 적 욕구를 무시하기 때문에 답을 하향 투표했습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.