포인트 좌표에 DEM(Digital Elevation Model)의 표고(해발고도) 정보를 넣는 방법이 여러 가지 있는지는 잘 모르겠지만 내가 알고 있는 방법을 적어 보기.
*기존의 국가공간정보포털(www.nsdi.go.kr) 지도서비스가 국토정보플랫폼 국토정보맵으로(map.ngii.go.kr) 변경되어 포스트 내용 갱신.
사용한 QGIS 버전: 3.34.9-Prizren (long term release)
1. 좌표 준비
현장에서 기록한 GPS의 데이터를 그대로 사용한다면 이미 표고 정보가 들어가 있는 경우가 대부분이다. 그래도 종종 GPS의 표고 기록과 DEM의 표고 정보를 같이 비교해 보고 싶다던가, 혹은 가지고 있는 좌표에 고도 정보가 누락되어 있어서 해당 정보를 추가해야 하는 상황 등이 있기도 하다. 이런 비슷한 상황을 떠올리며 임의의 좌표 4개에 DEM의 표고를 넣는 작업을 해 보았다.
2. 수치표고모델(DEM) 준비
국토정보플랫폼 국토정보맵에서 해당 지역의 수치표고모델(DEM) 파일을 받는다. 이 방법은 편리하기는 하지만 격자의 크기가 90m라서 꽤 러프한 것이 단점. 큰 스케일에서 작업할 때는 상관없지만 10m 격자 정도 되는 디테일한 해상도가 필요할 때에는 1:5000 수치지형도를 이용해 DEM을 만들어 준비한다. 파일의 확장자는 img.
국토정보플랫폼 국토정보맵 > 수치지도 받기 > 간편지도 검색 > 간편선택 > DEM






3. QGIS에서 DEM 파일 불러오기
상단 메뉴 > 레이어 > 레이어 추가 > 래스터 레이어 추가
또는, 레이어 창에 드래그 앤 드롭으로 추가

4. DEM(래스터)을 폴리곤(벡터)으로 변환
상단 메뉴 > 래스터 > 변환 > 폴리곤화(래스터를 백터로)
- 입력 레이어: (DEM 파일 선택)
- 생성할 필드의 이름: elevation


4번 지점의 격자를 확인해 보니 고도 32m에 해당한다. 이제 두 벡터 레이어를 중첩시켜 좌표에 고도 정보를 넣어 주면 된다.

5. 중첩시키기
상단 메뉴 > 벡터 > 공간 처리 도구 > 교차 영역
- 입력 레이어: 지점 (포인트 레이어)
- 중첩 레이어: 벡터화한 산출물
- 유지할 중첩 필드: elevation (옵션)


안녕하세요 올려주신 자료 덕분에 많은 도움을 받고 있습니다! 궁금한점이 한가지 있는데 고도값이 정수로 나오는 현상이 발생하고 있습니다. 고도값을 바꿔보기 위하여 십진수로 필드계산기를 활용해 보았는데도 .000 으로 정수형태로만 데이터가 산출되는데 위에 대한 해결 방버은 없을까요?
안녕하세요. 도움을 받고 계시다니 감사합니다. ‘고도값이 정수로 나오는 현상이 발생한다’는 부분에 대해 질문 주셨는데, 일단 어떤 과정에서 해당 문제가 발생했는지 좀 더 구체적으로 말씀해 주시면 해결 방법을 찾는 데 도움이 될 것 같습니다.
일단 문맥으로 추정해 보면, ‘래스터에서 벡터로 변환했을 때’ 정수만 남는다는 의미로 받아들여 봅니다.
이 경우 해결 방법은 ‘메뉴 > 래스터 > 변환 > 폴리곤화(래스터를 벡터로)’ 이 아니라, 공간 처리 툴박스에서 ‘벡터 생성 > 래스터 픽셀을 폴리곤으로 변환’을 선택하여 변환하신다면 소수점 단위의 결과물을 얻을 수 있습니다.
https://lazytrees.com/3347/ 포스트를 참조해 보세요.
많은 도움이 되었습니다.
제 글이 도움 되셨다니 다행입니다. 감사합니다.