질문답변

제목[re]사용자 업로드 SHP 모델 레이어의 높이 설정과 관련하여 문의드립니다.2025-12-26 13:24
카테고리GeOnDT for JS
작성자

안녕하세요.

 

문의 주신 내용은 U3dModelShapeLayer로 생성된 객체(건물)에 대해 모든 객체에 동일한 높이를 적용할 수 있는지, 그리고 그 적용 방법에 대한 것으로 이해했습니다.

해당 기능은 레이어 생성 시 속성값을 설정하여 구현할 수 있으며, 아래와 같은 방식으로 사용 가능합니다.


> 레이어 생성 시 건물 높이 설정( heightFunction )

 - U3dModelShapeLayer 생성 시 heightFunction에 함수를 정의하면, 각 객체(Feature)에 적용될 건물 높이를 제어할 수 있습니다.

const layer = new Union3D.model.U3dModelShapeLayer({
     name: name,
     minlevel: 17,

     ... /* 속성값 */ ...
   
     heightFunction: heightFunction,        // 건물 높이 설정 함수
    landHeightFunction: landHeightFunction,// 지표면 기준 높이 설정 함수

});

 


해당 예제에서의 정의된 내용은 Feature 정보를 바탕으로 높이를 설정하는 내용입니다. 

function heightFunction(feature) {
    let height;
    if ((feature != undefined) && (feature.properties != undefined)) {
        let floorHeight = feature.properties['EXTR_HG'];
        if (floorHeight !== undefined)
            height = floorHeight;
    }

    return height;
}

 

문의 주신 것처럼 모든 건물에 동일한 높이(예: 15)를 적용하고자 할 경우,
heightFunction에서 고정된 값을 반환하도록 정의하시면 됩니다.

function heightFunction(feature) {
   return 15;
}
 

 > 지표면 기준 높이 설정 (landHeightFunction)

또는 지표면으로부터의 기준 높이를 설정하고자 하는 경우에는
landHeightFunction을 동일한 방식으로 정의하여 사용하실 수 있습니다.

 

function landHeightFunction(feature) {
    return 15;
}

 

 

해당 내용을 포함하고 있는 예제 링크는 아래와 같습니다. 

 - https://3d.geon.kr/doc/tutorial-official/complexShp.html

 

 

관련 내용에 대해서 질문 사항 있으시면 답변 부탁드리겠습니다. 

감사합니다. 

 

#국가공간정보통합플랫폼(K-GeoP) 유지관리