17.3. 지리참조자

georefRun 지리참조자는 레이어 용 월드 파일을 생성하기 위한 도구입니다. 이 플러그인은 새로운 GeoTiff를 생성하거나, 기존 이미지에 월드 파일을 추가해서 래스터 또는 벡터에 지리 또는 투영 좌표계를 참조시킬 수 있습니다. 레이어를 지리참조하는 기본적인 접근법은 사용자가 좌표를 정확히 결정할 수 있는 레이어 상의 포인트의 위치를 찾는 것입니다.

주요 기능

아이콘

목적

아이콘

목적

addRasterLayer

래스터 열기

addOgrLayer

벡터 열기

start

지리참조 작업 시작

gdalScript

GDAL 스크립트 생성

loadGCPpoints

GCP 포인트 불러오기

saveGCPPointsAs

다른 이름으로 GCP 포인트 저장

transformSettings

변환 설정

addGCPPoint

포인트 추가

deleteGCPPoint

포인트 삭제

moveGCPPoint

GCP 포인트 이동

pan

이동

zoomIn

확대

zoomOut

축소

zoomToLayer

레이어로 확대/축소

zoomLast

이전으로 확대/축소

zoomNext

다음으로 확대/축소

linkGeorefToQGis

QGIS에 지리참조자 링크

linkQGisToGeoref

지리참조자에 QGIS 링크

fullHistogramStretch

히스토그램 전체 균일화

localHistogramStretch

히스토그램 부분 균일화

표 - 지리참조자: 지리참조자 도구

17.3.1. 일반 절차

이미지 상에서 선택한 포인트와 대응하는 X 및 Y 좌표(도분초(dd mm ss.ss), 십진도(dd.dd), 또는 투영 좌표(mmmm.mm))에 대해서는 다음 두 가지 대안적인 절차를 사용할 수 있습니다:

  • 래스터 자체 이미지 상에 좌표가 표시된 십자표가 “작성돼 있는” 경우가 있습니다. 이 경우 사용자가 좌표를 직접 입력할 수 있습니다.

  • 이미 지리참조된 레이어를 활용하는 방법입니다. 이 레이어는 사용자가 지리참조시키려는 이미지 상에 가지고 있는 객체/피처와 동일한 객체/피처를 담고 있으며, 사용자가 이미지에 적용하려는 투영체를 사용하는 벡터 또는 래스터 데이터일 수 있습니다. 이런 경우, QGIS 맵 캔버스에 불러온 참조 데이터셋을 클릭해서 좌표를 입력할 수 있습니다.

이미지를 지리참조시키기 위한 일반 절차는 래스터 상에서 여러 포인트를 선택하고, 포인트 좌표를 지정한 다음, 적합한 변형(transformation) 유형을 선택하는 것입니다. 지리참조자는 입력 파라미터 및 데이터를 기반으로 월드 파일 파라미터를 계산할 것입니다. 사용자가 좌표를 더 많이 제공할수록, 더 나은 결과를 보게 될 것입니다.

첫 번째 단계는 QGIS를 구동하고 QGIS 메뉴 바에 나타나는 Layer ► georefRun Georeferencer 메뉴 옵션을 선택하는 것입니다. 그림 17.24 와 같은 지리참조자 플러그인 대화창이 열릴 것입니다.

이 예시를 위해 SDGS(South Dakota Geological Survey)가 제공하는 사우스다코타 주의 지형도(topo sheet)를 사용할 것입니다. 이 지형도는 나중에 GRASS spearfish60 위치 데이터와 함께 가시화시킬 수 있습니다. https://grass.osgeo.org/sampledata/spearfish_toposheet.tar.gz 에서 해당 지형도를 다운로드할 수 있습니다.

../../../_images/georef.png

그림 17.24 지리참조자 대화창

17.3.1.1. 지상기준점 (GCP) 입력

  1. 참조되지 않은 래스터를 지리참조시키려면, 먼저 addRasterLayer 버튼을 사용해서 해당 래스터를 불러와야만 합니다. 이 래스터는 대화창의 주 작업 영역에 나타날 것입니다. 래스터를 불러오고 나면, 참조 포인트를 입력할 수 있습니다.

  2. addGCPPoint Add Point 버튼을 사용해서 주 작업 영역에 포인트를 추가하고 포인트 좌표를 입력하십시오. (그림 17.25 를 참조하십시오.) 이 과정을 수행하는 데 두 가지 옵션이 존재합니다:

    • 래스터 이미지에 포인트를 클릭한 다음 X 및 Y 좌표를 포인트의 좌표계와 함께 직접 입력합니다.

    • 래스터 이미지에 포인트를 클릭한 다음 pencil From map canvas 버튼을 눌러 QGIS 맵 캔버스에 이미 불러온 지리참조 맵의 도움을 받아 X 및 Y 좌표를 추가합니다. 좌표계는 자동적으로 설정될 것입니다.

  3. 포인트 입력을 계속하십시오. 최소한 포인트 4개를 입력해야 하며, 더 많은 좌표를 지정할수록 결과물이 더 나아질 것입니다. 관련 GCP 집합을 찾기 위해 작업 영역을 확대/축소하고 이동하기 위한 추가 도구들이 있습니다.

  4. GCP를 수정해야 하는 경우, 맵 캔버스와 지리참조 작업 창 둘 다에서 moveGCPPoint 도구로 GCP를 이동시킬 수 있습니다.

../../../_images/choose_points.png

그림 17.25 래스터 이미지에 포인트 추가

맵에 추가된 포인트들은 일반적으로 래스터 파일과 동일한 위치에 개별 텍스트 파일([filename].points)로 저장됩니다. 이 습성은 향후 지리참조자를 다시 열어 결과물을 최적화하기 위해 새 포인트를 추가하거나 기존 포인트를 삭제할 수 있게 해줍니다. 포인트 파일은 mapX, mapY, pixelX, pixelY 라는 서식으로 값을 담고 있습니다. loadGCPpoints Load GCP pointssaveGCPPointsAs Save GCP points as 버튼을 통해 포인트 파일을 관리할 수 있습니다.

17.3.1.2. 변형 설정

래스터 이미지에 사용자 GCP를 추가했다면, 지리참조 과정을 위해 변형(transformation) 설정을 정의해야 합니다.

../../../_images/transformation_settings.png

그림 17.26 지리참조자 변형 설정 정의하기

사용 가능한 변형 알고리즘

사용자가 GCP를 얼마나 많이 잡았는지에 따라, 입력 데이터의 유형 및 품질에 따라, 그리고 최종 산출물에 어느 정도의 기하학적 왜곡을 주어도 좋은지에 따라, 많은 변형(transformation) 알고리즘을 사용할 수 있습니다.

현재, 다음 Transformation type 들을 사용할 수 있습니다:

  • 선형(Linear) 알고리즘을 사용해서 월드 파일을 생성하는데, 다른 알고리즘과 달리 래스터 픽셀을 실제로 변형하지는 않습니다. 이 알고리즘으로 이미지 배치 작업(변형 작업)과 일괄(uniform) 축척 작업을 할 수 있지만, 회전 또는 다른 변형을 할 수는 없습니다. 사용자의 이미지가 훌륭한 품질의 래스터 맵이고 알려진 좌표계를 쓰고 있지만, 지리참조 정보만 누락돼 있는 경우 가장 적합한 알고리즘입니다. 적어도 2개 이상의 GCP가 필요합니다.

  • 헬메르트(Helmert) 변형으로도 회전이 가능합니다. 사용자의 래스터가 훌륭한 품질의 지역 맵이거나 정사보정(orthorectified) 항공사진인 경우 특히 유용하지만, 사용자 좌표계에서 그리드 방향으로 정렬되지는 않습니다. 적어도 2개 이상의 GCP가 필요합니다.

  • 다항식 1(Polynomial 1) 알고리즘은 보다 일반적인 아핀 변환(affine transformation)을, 그 중에서도 특히 일괄 자르기(uniform shear)도 할 수 있습니다. 직선은 직선으로 (예: 동일 선상의 포인트는 동일 선상에) 남고, 평행한 라인들은 평행하게 남습니다. 이 알고리즘은 서로 다른 방향에서 서로 다른 지상 픽셀 크기로 도표화(또는 데이터 수집)됐을 수도 있는 지리참조 데이터 통계지도(cartogram)에 특히 유용합니다. 적어도 3개 이상의 GCP가 필요합니다.

  • 다항식 2(Polynomial 2), 다항식 3(Polynomial 3) 알고리즘은 아핀 변환만 사용하는 대신 더 일반적인 2 또는 3단계 다항 방정식을 사용합니다. 즉 곡률 또는 다른 체계적인 이미지 왜곡을, 예를 들면 만곡 경계를 가진 항공사진 맵을 처리할 수 있습니다. 적어도 6개의 (10개 권장) GCP가 필요합니다. 이미지 전체에 걸쳐 각도 및 지역 축척을 유지하거나 일괄 처리하지 않습니다. 특히 직선이 곡선이 될 수도 있고, 경계 부근 또는 GCP에서 멀리 떨어진 위치에서 다항식을 데이터에 맞게 추정하느라 상당한 왜곡이 일어날 수도 있습니다.

  • 투영(Projective) 알고리즘은 다항식 1 알고리즘을 다른 방향으로 일반화해서, 서로 평행하지 않은 2개의 평면, 즉 이미지와 맵 캔버스 사이의 중심투영(central projection)을 표현하는 변형을 할 수 있습니다. 직선은 직선으로 남지만, 평행 상태는 보전되지 않으며 이미지 전체에 걸쳐 원근법에 따라 축척이 일관되게 변화합니다. 이 변형 유형은 훌륭한 품질의 맵을 (평면 스캔이 아니라) 비스듬하게 찍은 사진 또는 비스듬하게 찍은 항공사진을 지리참조하는 데 가장 유용합니다. 적어도 4개의 GCP가 필요합니다.

  • 마지막으로, 박막 스플라인(Thin Plate Spline; TPS) 알고리즘은 지역적인 다항식 여러 개를 사용해서 지정한 GCP에 일치하도록 래스터를 “고무판 휘듯이” 전체 지표 곡률을 최소화한 채로 변형할 수 있습니다. GCP에서 멀리 떨어진 영역은 GCP와 일치하도록 움직여서 산출될 것이지만, 그렇지 않은 경우 지역적인 왜곡은 최소화될 것입니다. TPS는 망가지거나 왜곡된, 아니면 살짝 부정확한 맵 또는 서툴게 정사보정된 항공사진을 지리참조하는 데 가장 유용합니다. 또 알 수 없는 투영 유형 또는 파라미터를 가지고 있지만 정규 그리드 또는 조밀한 임시(ad-hoc) GCP 집합을 참조 맵 레이어와 매칭할 수 있는 맵을 대략적으로 지리참조해서 그대로 재투영하는 데에도 유용합니다. 이 알고리즘은 기술적으로 최소한 10개 이상의 GCP를 필요로 하지만, 성공적인 실행을 위해서는 보통 더 많이 필요합니다.

TPS를 제외한 모든 알고리즘에서 최소 필요 개수보다 더 많은 GCP를 지정한 경우, 전체적인 잔여물 오류가 최소화되도록 파라미터들이 맞춰질 것입니다. 이렇게 하면 포인트 위치 클릭 또는 좌표 입력 또는 다른 작은 지역 이미지 왜곡 등에서 일어나는 경미한 부정확함 등의 등록 오차(registration error)의 영향을 최소화하는 데 도움이 됩니다. 이런 부정확함을 상쇄해줄 다른 GCP가 없다면, 경미한 오류 또는 왜곡이, 특히 지리참조된 이미지의 경계 부분에서는, 상당히 왜곡되어 나타날 수도 있습니다. 하지만 필요한 최소 GCP보다 더 많이 지정하면, 산출물에서 대략적이나마 매칭될 것입니다. 이에 반해 TPS 알고리즘은 지정한 모든 GCP를 정확하게 매칭하지만, 등록 오차로 인한 상당한 왜곡이 서로 가까이 있는 GCP들 사이에서 나타날 수도 있습니다.

리샘플링 방법 정의

입력 데이터 및 작업의 궁극적인 목표에 따라 서로 다른 리샘플링 유형을 선택해야 할 것입니다. 래스터의 통계를 변경하고 싶지 않다면(Linear, Helmert, 또는 Polynomial 1 변형 이외의 알고리즘을 사용하기 때문에 일괄적이지 않은 기하학적 축척 작업이 일어나는 경우를 제외하면), ‘최근접 이웃’ 을 선택하는 편이 좋습니다. 반면에 ‘3차 리샘플링’ 을 선택하면, 시각적으로 좀 더 다듬어진 결과물을 산출할 것입니다.

다음 다섯 가지 리샘플링 메소드 가운데 하나를 선택할 수 있습니다:

  1. 최근접 이웃(Nearest neighbour)

  2. 선형(Linear)

  3. 3차(Cubic)

  4. 3차 스플라인(Cubic Spline)

  5. 란초시(Lánczos)

변형 설정 정의

지리참조된 산출 래스터를 위해 정의해야 할 몇몇 옵션들이 있습니다.

  • checkbox Create world file 옵션은 선형 변형 유형을 선택한 경우에만 사용할 수 있습니다. 월드 파일을 생성한다는 것은 래스터 이미지가 실제로 변형되지 않는다는 의미이기 때문입니다. 이 경우, 새 월드 파일만 생성하기 때문에 Output raster 란은 활성화되지 않습니다.

  • 다른 모든 변형 유형의 경우, Output raster 를 정의해야 합니다. 기본적으로, 원본 래스터 이미지와 동일한 폴더에 [파일명]_modified 라는 새 파일을 생성할 것입니다.

  • 그 다음 단계로, 지리참조된 래스터를 위한 Target SRS (공간 참조 시스템)을 정의해야 합니다. (투영 작업 을 참조하세요.)

  • 사용자가 원하는 경우, PDF 지도 는 물론 PDF 보고서생성 할 수 있습니다. 이 보고서는 사용한 변형 파라미터, 잔여물의 이미지, 그리고 모든 GCP 및 그 평균 제곱근 오차(Root Mean Square Error) 목록 관련 정보를 포함합니다.

  • 또한, checkbox Set Target Resolution 옵션을 활성화하면 산출 래스터의 픽셀 해상도를 정의할 수 있습니다. 수평 및 수직 해상도의 기본값은 1입니다.

  • 0 값을 가진 픽셀을 투명하게 가시화해야 하는 경우, checkbox Use 0 for transparency when needed 옵션을 활성화하면 됩니다. 예시 지형도의 모든 하얀색 영역이 투명하게 변할 것입니다.

  • 마지막으로, checkbox Load in QGIS when done 옵션을 활성화하면 변형 작업 종료시 QGIS 맵 캔버스에 산출 래스터를 자동적으로 불러올 것입니다.

17.3.1.3. 래스터 속성 표시 및 조정

Settings –> Raster properties 메뉴 옵션을 선택하면 사용자가 지리참조시키고자 하는 래스터 파일의 레이어 속성 대화창이 열립니다.

17.3.1.4. 지리참조자 환경 설정

  • GCP 좌표 그리고/또는 그 ID를 표시할 것인지 여부를 정의할 수 있습니다.

  • 픽셀과 지도 단위를 나머지(residual) 단위로 선택할 수 있습니다.

  • PDF 보고서는 좌우 여백과 PDF 지도의 용지 크기를 설정할 수 있습니다.

  • 마지막으로 checkbox Show Georeferencer window docked 옵션을 활성화해서 지리참조자 대화창을 고정할 수 있습니다.

17.3.1.5. 변형 작업 실행

모든 GCP를 수집하고 모든 변형 설정을 정의했다면, 그냥 start Start georeferencing 버튼을 눌러 새 지리참조 래스터를 생성하십시오.