DEM 파일 구하기

출처 : [https://map.ngii.go.kr/ms/map/NlipMap.do?tabGb=total]

위의 사이트에서 원하는 지역의 DEM파일들을 가져올 수 있습니다.


QGIS로 파일 병합

얻어온 DEM파일(.img 확장자)들을 하나의 레이어로 합쳐줍니다.
QGIS를 실행하고 레스터 -> 기타사항 -> 병합 순으로 간 다음 원하느 파일들을 선택해서 실행버튼을 눌러줍니다.


QGIS로 음영기복도(hillshade)로 변환

병합한 레이어 누르시고 마우스 우클릭 -> 속성 -> 심볼 -> 음영기복도로 변환 및 추출해줍니다.


tif -> png 변환

음영기복도로 변환한 레이어 누르시고 마우스 우클릭 -> 내보내기 -> 다른 이름으로 저장 한 다음에 형식은 GeoTIFF로 해서 확인버튼 눌러줍니다.


출처 : [https://cloudconvert.com/tif-to-png]

위의 사이트로 들어가서 png로 변환해줍니다.


지도 위에 표시


//지도 위에 DEM 관련 png 띄우는 부분만 발췌한 것

const [demOverlay, setDemOverlay] = useState(null);// DEM관련 png를 담음
const mapRef = useRef(null); //지도 API를 담음

useEffect(() => {
    if (!mapRef.current) return;

    if (showDEM) {
      const bounds = new window.naver.maps.LatLngBounds(
        new window.naver.maps.LatLng(37.7331240, 127.4980451), // SW
        new window.naver.maps.LatLng(38.0200258, 127.9446376)  // NE
      );

      const overlay = new window.naver.maps.GroundOverlay(
        "/images/hillshade.png",
        bounds,
        {
          map: mapRef.current,
          opacity: 0.6, // 투명도
        }
      );
      setDemOverlay(overlay);
    } else {
      if (demOverlay) {
        demOverlay.setMap(null);
        setDemOverlay(null);
      }
    }
  }, [showDEM]);

useState와 useRef를 이용해서 지도 위에 png를 띄워줍니다.