Georeferencing Topo Sheets and Scanned Maps (QGIS3)

대부분의 GIS 프로젝트는 일부 래스터 데이터를 지오레퍼런싱해야 합니다. 지오레퍼런싱는 실제 좌표를 래스터의 각 픽셀에 할당하는 과정입니다. 사진 또는 지도에서 쉽게 식별하기 어려운 좌표의 경우 GPS 장치로 좌표를 수집하는 현장 조사를 통해 수집할 수 있습니다. 스캔한 지도를 디지털화하려는 경우 지도 이미지 자체의 표시를 통해 좌표를 얻을 수 있습니다. 이러한 샘플 좌표 또는 GCP(Ground Control Points)를 사용하면 이미지를 보정하여 선택한 좌표계에 맞게 만들어집니다. 이 지침에서는 QGIS 내에서 개념, 전략 및 도구를 활용하여 고정밀 지오레퍼런싱을 합니다.

이 지침은 지도에 사용할 수 있는 좌표 정보가 있는 이미지(예: 레이블이 있는 격자)를 지리 참조하는 것입니다. 소스 이미지에 해당 정보가 없는 경우, 항공사진 지오레퍼런싱의 방법을 사용할 수 있습니다

작업 개요

1870년 인도 남부 스캔 지도와 QGIS를 사용하여 지오레퍼런싱을 할 것입니다.

다른 스킬

  • 기존 맵의 기준 및 좌표계를 결정하는 방법

  • Save the GCP created.

  • Edit the created GCP for fine tuning.

데이터 가져오기

Hipkiss의 Scanned Old Maps <http://www.hipkiss.org/data/maps.html>`_ 웹사이트에는 연구에 사용 가능한 저작권이 없는 스캔 이미지 모음이 있습니다.

인도 남부의 1870년 지도<http://www.hipkiss.org/data/maps/william-mackenzie_gallery-of-geography_1870_southern-india_3975_3071_600.jpg>`_ 를 다운로드하여 하드 드라이브에 JPG 이미지로 저장하십시오.

편의를 위해 아래 링크에서 데이터 세트 사본을 직접 다운로드할 수 있습니다.

1870_southern_india.jpg

Procedure

  1. Open QGIS and click on Raster ‣ Georeferencer to open the tool.

참고

From QGIS versions 3.26 onwards, the Georeferencer can be launched from Layer ‣ Georeferencer.

../../_images/015.png
  1. The Georeferencer is divided into 2 sections. The top section where the image will be displayed and the bottom section where a table showing your GCPs will appear.

../../_images/025.png
  1. Now we will open our JPG image. Go to File ‣ Open Raster. Browse to the downloaded image of the scanned map and click Open.

../../_images/035.png
  1. You will see the image will be loaded on the top section. You can use the zoom/pan controls in the toolbar to learn more about the map.

../../_images/045.png
  1. Now we need to assign coordinates to some points on this map. If you look closely, you will see coordinate grid with markings. These are Latitude and Longitude grid lines.

../../_images/055.png
  1. Before adding Ground Control Points (GCP), we need to define the Transformation Settings. Click on the gear icon in georeferencing window to open the Transformation settings dialog.

../../_images/065.png
  1. In the Transformation settings dialog, choose the Transformation type as Polynomial 2. See QGIS Documentation to learn about different transformation types and their uses. Then select the Resampling method as the Nearest neighbor. Click the Select CRS button next to Target SRS.

../../_images/075.png
  1. If you are geo-referencing a scanned map like this, you can obtain the CRS information from the map itself. Looking at our map image, the coordinates are in Latitude/Longitude. There is no datum information given, so we have to assume an appropriate one. Since it is India and the map is quite old, we can bet the Everest 1830 datum would give us good results. Search for everest and select the CRS with oldest definition of the Everest datum (EPSG:4042). Click OK.

../../_images/085.png

참고

Survey of India Topo Sheets created between the year 1960 and 2000 use the Everest 1956 spheroid and India_nepal datum. If you are georeferencing SOI Topo Sheets, , you can define a Custom CRS in QGIS with the following paramters and use it in this step. This definition includes a delta_x, delta_y and delta_z parameters for transforming this datum to WGS84. See this page for more information on the Indian Grid System.

+proj=longlat +a=6377301.243 +b=6356100.2284 +towgs84=295,736,257,0,0,0,0 +no_defs

참고

Most maps are created using a Projected CRS. If the map you are trying to georeference uses a projected CRS that you know of, but the graticules labels are in a Geographic CRS (latitude/longitude), you may use an alternate workflow to minimize distortion. Instead of using a Geographic CRS like we are using here, you can create a vector grid in QGIS and transform it to the projected CRS to be used as a reference for accurate coordinate capture. See this page for more details.

  1. Name your output raster as 1870_southern_india_modified.tif. Choose LZW as the Compression. Check the Save GCP points to store the points as seperate file for future purpose. Make sure the Load in QGIS when done option is checked. Click OK.

../../_images/095.png

참고

Uncompressed GeoTIFF files can be very large in size. So compressing them is always a good idea. You can learn more about different TIFF compression options (LZW, PACKBITS or DEFLATE) in this article.

  1. Now we can start adding the Ground Control Points (GCP). Click on the Add Point button.

../../_images/1018.png
  1. Now place the cross-hair at the intersections of the grid lines and left-click, this will serve as the ground-truth in our case. As the grid lines are labeled, we can determine the X and Y coordinates of the points using them. In the pop-up window, enter the coordinates. Remember that X=longitude and Y=latitude. Click OK.

../../_images/1121.png
  1. You will notice the GCP table now has a row with details of your first GCP.

../../_images/1219.png
  1. Similarly, add more GCPs covering the entire image. The more points you have, the more accurate your image is registered to the target coordinates. The Polynomial 2 transform requires at least 6 GCPs. Once you have added the minimum number of points required for the transform, you will notice that the GCPs now have a non-zero dX, dY and Residual error values. If a particular GCP has unusually high error values, that usually means a human-error in entering the coordinate values. So you can delete that GCP and capture it again. You can also edit the coordinate values in the GCP Table by clicking the cell in either Dest. X or Dest. Y columns.

../../_images/1317.png
  1. Once you are satisfied with the GCPs, click the Start Georeferencing button. This will start the process of warping the image using the GCPs and creating the target raster.

../../_images/1415.png
  1. Once the process finishes, you will see the georeferenced layer loaded in QGIS. The georeferencing is now complete. Also, you will notice the Project CRS in the bottom right is set to EPSG:4042 as described in Transformation Settings.

../../_images/1514.png
  1. Drag and drop the OpenStreetMap as Base Map from the XYZ Tiles dropdown at the bottom of the Browser panel to verify the georeferenced layer. To set the transparency, click on the Open layer styling panel icon and select Transparency tab. Set the transparency to 40 %. Now the georeferenced image must overlay with the basemap outline.

../../_images/1613.png
  1. If the georeference needs more fine-tuning, we can start from the collected GCP points. Browse the 1870_southern_india_modified.tif file location. You can find an additional file, 1870_southern_india_modified.tif.points. This file will contain the GCP points information.

../../_images/1714.png
  1. Open the georeferencing tool in QGIS, click File ‣ Load GCP Points, and select the 1870_southern_india_modified.tif.points. This will load the GCP created previously. Then load the 1870_southern_india_modified.tif to fine-tune your work.

../../_images/1812.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)