GDAL에는 여러 CLI가 있는데요. 이번 포스팅에선 gdal_grid를 활용해서 interpolation하는 간단한 예제를 만들어보려고 합니다.
gdal_grid에 대한 전반적인 설명은 아래 url에 나와있습니다.
gdal_grid description : http://www.gdal.org/gdal_grid.html
여러 옵션도 존재하는데요. 이번 포스팅에서는 최대한 간단하게 interpolation하는 것을 목표로합니다.
interpolation의 전반적인 설명은 아래 url에서 확인하시죠.
ArcGIS Help 10.1 - Understanding interpolation analysis :
http://resources.arcgis.com/en/help/main/10.1/index.html#//009z0000006w000000
1. inputData create
입력데이터는 point 형태의 데이터가 됩니다. 물론 text 파일이구요.
저는 csv(comma-separated values) 파일로 만들었습니다.
input_test.csv 라고 만들고 내용은 아래와 같이 작성합니다.
맨 앞에 있는 1 ~ 17은 줄번호입니다. 작성하실 필요 없다는 뜻이에요 :)
1 Easting,Northing,Elevation
2 126.95,37.57,-6.3
3 126.62,37.47,-6.1
4 126.98,37.27,-5.9
5 126.43,37.7,-7
6 127.48,37.48,-11.4
7 127.48,37.25,-10.8
8 127.73,37.9,-9.2
9 127.93,37.33,-11.2
10 128.17,38.05,-11
11 127.87,37.68,-9.8
12 128.88,37.75,-2.6
13 128.55,38.25,-2.8
14 128.72,37.67,-12.5
15 130.88,37.47,-1.4
16 127.95,36.97,-12.4
17 127.43,36.63,-11.3
Elevation이라고 작성은 했지만, 꼭 Elevation 값이 들어갈 필요는 없겠죠.
interpolation 처리하기 위한 값으로 이해하셔도 됩니다.
꼭 이름을 바꾸고 싶으신 분들은 바꾸셔도 상관없습니다. 다만 뒤 처리과정에서도 동일한 이름을 사용해주시면 됩니다.
물론, 작업해야 하는 데이터가 많을 경우에는 손으로 위 과정을 처리하는 것은 불편하겠죠.
실제 작업에서는 소스코드를 작성하셔서 input_test.csv를 생성하시길 바랍니다.
2. gdal_grid 처리를 위한 vrt 생성
vrt 포멧에 대한 전반적인 내용은 다음 url을 확인하시길 바랍니다.
virtual format description : http://www.gdal.org/drv_vrt.html
input_test.vrt 라는 파일을 생성해서 아래 내용을 작성해줍니다.
역시 1~7 번호는 줄번호로, 작성하실 필요 없습니다. 작성하면 에러나겠죠.
1 <OGRVRTDataSource>
2 <OGRVRTLayer name="input_test">
3 <SrcDataSource>/path/input_test.csv</SrcDataSource>
4 <GeometryType>wkbPoint</GeometryType>
5 <GeometryField encoding="PointFromColumns" x="Easting" y="Northing" z="Elevation"/>
6 </OGRVRTLayer>
7 </OGRVRTDataSource>
앞서 생성한 input_test.csv의 path를 잘 잡아주시고, z에 "Elevation"으로 작성했는데요.
혹시 1번에서 Elevation 이름을 다른 것을 변경하신 분은 여기서도 동일하게 변경해주세요.
3. gdal_grid execute (실행)
명령어는 간단하게 다음과 같이 작성해봤습니다.
gdal_grid -zfield "Elevation" -a_srs EPSG:4326 -a invdist:power=2.0:smoothing=1.0 -of GTiff -ot Float32 -l input_test /path/input_test.vrt /path/output.tif
-zfield 옵션에 "Elevation"으로 작성했는데요. 이것도 마찬가지로 1번에서 변경하신 분들은 동일하게 변경하셔야되겠죠.
-a_srs 옵션은 ouput.tif의 projection을 정의해주는 곳입니다. 저는 EPSG:4326으로 설정했구요.
-a 옵션은 좀 길죠. 이건 gdal_grid에 있는 기본 값을 그대로 작성해준 것으로 interpolation algorithm을 작성해주는 곳입니다.
-of 옵션은 output file format을 설정하는 곳이구요.
-ot 옵션은 output file type을 설정하는 곳이구요.
-l 옵션은 layer 이름을 작성해주는 곳으로 2번에서 설정한 OGRVRTLayer name="input_test" 것을 참고하셔서 작성하시면 됩니다.
'리눅스 > 지오,서버' 카테고리의 다른 글
Shapefile to PostGIS in Ubuntu 14.04 GUI Environments (0) | 2014.10.11 |
---|---|
PostGIS install and setting(apply database) in Ubuntu 12.04 (0) | 2014.10.11 |
PostgreSQL install and setting(add user) in Ubuntu 12.04 (0) | 2014.10.11 |
GDAL : gdal_grid example (0) | 2014.09.01 |
GDAL : gdalwarp (using mask) (1) | 2014.09.01 |
GDAL : netCDF to GeoTiff (0) | 2014.09.01 |
GDAL : esr -> geotiff .... using gdal_translate (0) | 2014.08.30 |
GDAL : 리눅스에서 GDAL 소스코드 빌드 (0) | 2014.05.19 |