질문답변

제목[re]U3dModelWFSLayer 모델 레이어 함수 및 설정 중 지면으로 부터 띄어진 높이 설정과 관련하여 문의드립니다.2026-01-15 10:07
카테고리GeOnDT for JS
작성자

안녕하세요.

문의 주신 내용은 U3dModelWFSLayer로 생성된 객체에 대해 지면으로부터의 높이를 설정하는 방법 및 사용법에 관한 것으로 확인됩니다.

현재 국가공간정보통합플랫폼(K-GeoP) 에서 사용 중이신 버전을 기준으로, 적용 가능한 방법을 안내드리겠습니다.

 

1. 이벤트 등록 및 객체 제어 방법

U3dModelWFSLayer 생성 이후, 'mesh-loaded' 이벤트를 등록하여 전달받은 객체 데이터를 기반으로 특정 대상의 높이를 설정할 수 있습니다.

  • mesh-loaded 이벤트는 모델 객체의 생성 및 초기화가 완료된 상태를 의미합니다.

  • 해당 이벤트를 통해 생성된 Mesh 객체에 접근하여 위치 및 속성 제어가 가능합니다.

아래 예시에서는 feature 속성 정보 중 건물명 컬럼(buld_nm) 을 기준으로 특정 객체를 선별한 뒤, 높이를 설정하는 방식을 사용합니다.

선별된 객체의 지면 기준 높이값은
app.getHeightAtPoint(world 좌표) 함수를 통해 지형 표고값을 반환받아 적용할 수 있습니다.

자세한 구현 방법은 아래 예제 코드와 함께 참고해 주시기 바랍니다.

 

[ 예시 코드 ]

wfsModel.on('mesh-loaded', function(result){
    const mesh = result.data;
    const feature = mesh._ufeature;
    if(!feature || !feature.properties) return;
    const colName = 'buld_nm';
    const buildingName = "여의도성모병원"
    const prop = feature.properties[colName]
    if(prop === buildingName){
        const terrainHeight = app.getHeightAtPoint(mesh.position); //해당 위치의 지면 높이를 반환해주는 함수
        if(terrainHeight && !isNaN(terrainHeight)){
            mesh.position.z = terrainHeight + 100; //지면 높이 + 설정 높이
            mesh.setColor(0xff0000); // 색상 변경 (*확인용)
        }
    }
})

 

[ 예제 코드 실행 후 이미지 ]


 


지면 높이 설정 전

 

지면 높이 설정 후

 

 

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

감사합니다. 좋은 하루 되세요.

#국가공간정보통합플랫폼(K-GeoP)#K-Geop