이미지에 좌표를 부여할 차례입니다.

georeference, map matching, mapping 등으로 불리죠.


맵매칭 방법도 여러가지가 있지만 OSGeo4W 라는 오픈소스 GIS 프로그램을 사용했습니다.


이미지와 매칭포인트를 알고 있다면 OSGeo4W shell 으로 매핑작업을 하면 됩니다.
아래가 시험삼아 5만 축척 도엽코드 36905 온맵으로 작업한 겁니다.

 

 


 

gdal_translate -of GTiff -gcp 671.84 8494.73 127 36.5 -gcp 2728.18 8493.45 127.08333 36.5 -gcp 4784.65 8491.31 127.16667 36.5 -gcp 6841.04 8486.74 127.25 36.5 -gcp 671.413 5946.92 127 36.58333 -gcp 2726.04 5944.79 127.08333 36.58333 -gcp 4779.95 5941.91 127.16667 36.58333 -gcp 6834.21 5939.35 127.25 36.58333 -gcp 671.413 3400.01 127 36.66667 -gcp 2723.96 3397.45 127.08333 36.66667 -gcp 4775.87 3394.65 127.16667 36.66667 -gcp 6827.79 3392.08 127.25 36.66667 -gcp 672.156 853.006 127 36.75 -gcp 2721.4 851.724 127.08333 36.75 -gcp 4771.17 849.586 127.16667 36.75 -gcp 6820.81 845.151 127.25 36.75 "D:/georef_test/50k/36905.png" "D:/georef_test/50k/tt36905.png"
gdalwarp -t_srs EPSG:4326 -r cubic -tps -co COMPRESS=LZW  "D:/georef_test/50k/tt36905.png" "D:/georef_test/50k/36905_10p.tif"
gdal_translate -projwin 127.0 36.75 127.25 36.5 -of GTiff D:/georef_test/50k/36905_10p.tif D:/georef_test/50k/36905_10pc.tif

 


 

세가지 명령어로 되어있습니다.

gdal 로 시작되는 gdal 유틸리티를 이용한 겁니다. (아래 사이트 참조)

 

http://www.gdal.org/gdal_utilities.html

 

1. gdal_translate -of GTiff -gcp xxx xxx xxx xxx ...............

-> 이미지에 그라운드 컨트롤 포인트 (Ground Control Point) 를 부여해줍니다.

    -gcp 이후에 나오는 숫자 4개는 이미지픽셀x, 이미지픽셀y, 경도, 위도 순서입니다.

 

2. gdalwarp -t_srs EPSG:4326 .....

-> 매핑한 이미지를 goetiff 파일로 변환합니다.

 

3. gdal_translate -prowin xxx xxx xxx xxx ....

-> 지도에서 필요한 부분만 크롭

   -prowin 이후의 4개의 숫자는 좌측경도, 상단위도, 우측경도, 하단위도 순서입니다.

 

온맵 도엽마다 매핑에 필요한 gcp(Ground Control Point) 와 크롭할 좌표를 알고 있다면

gdal 명령어로 간단하게 매칭할 수 있습니다.

하지만, gcp 에서 1,2번째 숫자인 이미지펙셀값을 계산을 통해 알아낼 수 있는 방법을

못찾았습니다. 다행히 3,4번째 숫자인 경위도 좌표는 도엽코드로 계산할 수 있습니다.

 

맵매칭에서 가장 지루한  Grond Cotrol Point 작업은 최대한 적게 하기 위해서

qgis 지오레퍼런싱에서 사용할 .points 파일을 생성하는 파이썬 코드을 짰습니다.

 

onmap_gcp.py

 

위 코드는 C: 드라이브에 복사하고,

D: 드라이브에 50k 폴더를 생성, 해상도 350dpi 의 온맵이미지(.png)를 D:\50k 에 복사,

OSGeo4W 를 실행(관리자모드)하고 아래 그림처럼 명령어를 실행하면

 D:\50k 폴더에 온맵과 동일한 이름의 .points 파일이 생성됩니다.

 

 

qgis 지오레퍼런서에 이미지파일과 .points 파일을 불러온 후 

 

gcp 포인트 이동하기 아이콘을 사용해서 정확히 매핑한 후 지오레퍼런서를 닫습니다.  

 

 

1:50:000 축척은 총 218개 도엽, 도엽당 16개의 points 파일입니다.

지루한 반복작업 끝에 매핑에 필요한 .points 파일을 만들었습니다.

 

단, 제주도와 울릉도, 독도는 도엽코드 규칙이 달라서 수작업으로 했습니다.

 

작업에 사용했던 points 파일입니다.

 

 

250k_points.zip

 

50k_points.zip

 

 

'온맵 오프라인지도 제작' 카테고리의 다른 글

#6 맵매칭 - 2  (1) 2014.05.11
#4 pdf 를 래스터파일(이미지)로 변환  (0) 2014.04.05
#3 온맵 가공  (0) 2014.04.05
#2 온맵 다운로드  (0) 2014.04.04
#1 온맵(Onmap) ?  (0) 2014.04.04
Posted by 날틀_김상용

블로그 이미지
날틀_김상용

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함