중요

번역은 여러분이 참여할 수 있는 커뮤니티 활동입니다. 이 페이지는 현재 100.00% 번역되었습니다.

17.6. 좌표계와 재투영

참고

이 수업에서 공간 처리 프레임워크의 좌표계 이용법을 배울 것입니다. 또 재투영이라는 매우 유용한 알고리즘도 살펴볼 것입니다.

QGIS 공간 처리 사용자는 대부분 좌표계를 혼란스러워합니다. 따라서 새 레이어 생성 시 공간 알고리즘이 좌표계를 어떻게 다루는지에 대한 몇몇 일반적인 규칙을 설명하겠습니다.

  • 입력 레이어가 있을 경우 첫 번째 레이어의 좌표계를 사용합니다. 모든 레이어의 좌표계가 동일해야 하기 때문에, 첫 번째 레이어의 좌표계를 모든 레이어의 좌표계라고 가정하는 것입니다. 서로 일치하지 않는 좌표계를 사용하는 레이어들을 쓸 경우, QGIS가 경고 메시지를 띄울 것입니다. 파라미터 대화창에 입력 레이어의 좌표계가 레이어 이름과 함께 나타난 다는 사실을 명심하십시오.

../../../_images/crs_layer.png
  • 입력 레이어가 없을 경우, 알고리즘이 (이전 수업의 격자선 알고리즘처럼) 특정 좌표계 필드를 담고 있지 않는 이상, 프로젝트 좌표계를 사용합니다.

이 수업에 해당하는 프로젝트를 열어보면 230304326 이라는 두 레이어를 볼 수 있습니다. 양쪽 다 동일한 포인트들을 담고 있지만, 서로 다른 좌표계( EPSG:23030EPSG:4326 )를 사용합니다. QGIS가 프로젝트 좌표계( EPSG:4326 )로 실시간 재투영하기 때문에 같은 위치에 있는 것으로 보일 뿐, 실제로 동일한 레이어는 아닙니다.

Export/Add geometry columns 알고리즘을 실행하십시오.

../../../_images/add_geom.png

이 알고리즘이 벡터 레이어의 속성 테이블에 새 열을 추가합니다. 해당 열의 내용은 레이어의 도형 유형에 따라 달라집니다. 포인트일 경우 각 포인트의 X 및 Y 좌표를 담은 새 열들을 추가합니다.

입력 레이어 항목에서 찾은 사용 가능한 레이어 목록에서, 각 레이어를 그에 대응하는 좌표계와 함께 보게 될 것입니다. 즉 아무리 여러분의 맵 캔버스 위에 동일한 위치로 나타나더라도, 서로 다르게 다루어질 것이라는 의미입니다. 4326 레이어를 선택하십시오.

이 알고리즘의 또 하나의 파라미터를 통해 알고리즘이 어떻게 좌표를 이용해서 산출물 레이어에 추가할 새 값을 계산하는지 설정할 수 있습니다. 알고리즘 대부분은 이런 옵션을 지원하지 않고, 좌표를 직접 이용할 뿐입니다. Layer CRS 옵션을 선택해서 좌표 그자체로 이용하십시오. 대부분의 공간 알고리즘도 이렇게 작동합니다.

다른 두 레이어와 정확하게 동일한 포인트를 담은 새 레이어를 얻게 될 것입니다. 레이어명을 오른쪽 클릭해서 속성을 열어보면, 입력 레이어의 좌표계인 EPSG:4326 을 사용한다는 사실을 알게 될 것입니다. QGIS가 이 레이어를 불러올 때, 해당 레이어의 좌표계를 입력하라고 묻지 않을 것입니다. QGIS가 이미 알고 있기 때문입니다.

새 레이어의 속성 테이블을 열어보면 각 포인트의 X 및 Y 좌표를 담은 2개의 새 필드를 담고 있는 것을 보게 될 것입니다.

../../../_images/attribs2.png

이 좌표값들은 레이어의 좌표계를 사용합니다. 해당 옵션을 선택했기 때문입니다. 그러나 여러분이 다른 옵션을 선택했더라도, 입력 레이어의 좌표계를 사용해 산출물 레이어의 좌표계를 설정하기 때문에, 산출물의 좌표계는 동일했을 것입니다. 다른 옵션을 선택했더라면 값은 달라졌겠지만 산출 포인트가 달라지거나 산출물 레이어의 좌표계가 입력 레이어의 좌표계와 달라지지는 않습니다.

이제 다른 레이어를 사용해 동일한 계산을 하십시오. 산출물 레이어가 다른 레이어들과 정확히 동일한 위치에 렌더링됩니다. 이 레이어는 입력 레이어의 좌표계인 EPSG:23030 을 사용할 것입니다.

해당 레이어의 속성 테이블을 열어보면, 첫 번째로 생성한 레이어와는 다른 값들을 볼 수 있을 것입니다.

../../../_images/attribs.png

원래 데이터가 (다른 좌표계를 사용했기 때문에) 다르며, 이 다른 데이터에서 좌표를 가져왔기 때문입니다.

여기에서 무엇을 배울 수 있을까요? 이 예제의 중요한 의미는 공간 알고리즘이 레이어를 원래 데이터 소스 그대로 사용하며, QGIS가 렌더링하기 전에 어떤 재투영을 하더라도 그것을 철저히 무시한다는 사실입니다. 다시 말해 맵 캔버스에 보이는 것을 믿지 말고, 원래 데이터가 사용된다는 사실을 항상 기억해야 한다는 뜻입니다. 이 경우에는 한 번에 하나의 레이어만 사용했기 때문에 그렇게 중요한 사실은 아니지만, 복수의 레이어가 필요한 (잘라내기 알고리즘 같은) 알고리즘의 경우 일치하거나 겹치는 것처럼 보이는 레이어들이 서로 다른 좌표계를 사용하고 있을 수도 있기 때문에 실제로는 서로 매우 다를 수도 있습니다.

알고리즘은 (다음에 배울 재투영 알고리즘을 제외하면) 재투영을 수행하지 않습니다. 따라서 레이어들이 동일한 좌표계를 사용하도록 여러분이 확인해야 합니다.

재투영 알고리즘은 좌표계를 다루는 흥미로운 모듈입니다. 이 알고리즘은 매우 특별한 경우인데, (재투영하게 될) 입력 레이어를 사용하지만, 입력 레이어의 좌표계를 산출물의 좌표계로 사용하지 않기 때문입니다.

Reproject layer 알고리즘을 실행하십시오.

../../../_images/reprojection.png

아무 레이어나 입력 레이어로 선택한 다음, 산출물의 좌표계로 EPSG:23029 를 선택하십시오. 알고리즘을 실행하면 입력 레이어와 동일하지만, 다른 좌표계를 사용하는 새 레이어를 얻게 됩니다. QGIS가 실시간 재투영을 하기 때문에 다른 레이어들과 마찬가지로 맵 캔버스의 동일한 지역에 나타나지만, 원래 좌표는 다릅니다. 이 새 레이어를 입력 레이어로 사용해 Export/Add geometry columns 알고리즘을 실행해서, 먼저 계산했던 두 레이어의 속성 테이블에 있는 값과는 다른 좌표가 추가되었다는 사실을 확인할 수 있습니다.