GeOnDT GeOnDT for JS

Class: U3dHeightXYZLayer

U3dHeightXYZLayer

~export ~extends U3dHeightLayer
XYZ/TMS 타일 주소의 고도 자료를 요청하여 지형과 좌표 조회에 제공합니다. 스커트는 서로 다른 레벨의 타일 경계가 벌어지는 현상을 보완합니다.

new U3dHeightXYZLayer(option)

타일 요청·자료 형식·공간 설정과 조회용 캐시를 초기화합니다. 레이어의 사용 준비 완료는 initialize()가 수행하는 XML 또는 범위 초기화 결과로 전달합니다.

Name Type Description
option U3dHeightXYZLayerCO

Members

Retrynumber

tms_boolean

Methods

createHeight(tile, opt)Promise.<boolean>

캐시 또는 원격 자료로 타일 고도를 준비하고 적용 결과를 비동기로 전달합니다. 파싱·다운로드 실패 시 가능한 부모 고도로 대체하며, 지형 반영 실패는 오류로 전달합니다. 취소는 현재 소비자에만 적용하고 같은 URL의 다른 소비자가 있으면 요청을 유지합니다.

Name Type Description
tile U3dQuadTile

대상 타일

opt U3dHeightWorkOption

작업 옵션

Returns:
Type Description
Promise.<boolean> 작업 성공시 resolve(true) 실패 시 resolve(false)

createUrl(tile)string

타일의 중심 좌표와 레벨로 타일의 URL을 생성하는 메서드입니다.

Name Type Description
tile TileUrlParam

대상 타일 좌표 파라미터 (중심점 + 레벨)

Returns:
Type Description
string 타일의 URL

dispose()Promise.<boolean>

레이어를 제거하는 메서드입니다.

Returns:
Type Description
Promise.<boolean> 상위 레이어의 처분 완료 결과

disposeTile(tile, opt)

입력 받은 타일을 제거하는 메서드입니다.

Name Type Description
tile U3dQuadTile

제거할 대상 타일

opt Object optional

삭제 옵션

  • deletefunc : 타일 제거가 완료된 후 호출될 콜백 함수

getBoundingBox()Box3|undefined

계산된 레이어 범위의 Box3 참조를 반환합니다.

Returns:
Type Description
Box3 | undefined Bounding Box {leftTop, rightTop, leftBottom, rightBottom}

async getHeightAtPoints(points, level, printProgress)Promise.<Array.<{x: number, y: number, z: (number|string), level: number, errorMsg: (string|undefined)}>>

특정 좌표점의 고도 정보를 조회하는 메서드입니다.
EPSG:3857 좌표 목록의 타일 표본을 조회하여 보간한 고도를 새 결과 목록에 기록합니다. 비유한 좌표는 건너뛰며 요청·파싱 실패는 해당 결과의 z와 errorMsg에 기록합니다. 유효 표본이 없으면 UDEF.TERRAIN_NO_DATA를 반환하며 실제 0m 높이와 구분합니다.

Name Type Default Description
points Array.<({x: number, y: number}|Partial.<{level: number}>)>

{x, y, level} 좌표 목록

level number 15 optional

기본 타일 레벨.
points.level이 없으면 이 값으로 고도를 추출합니다.

printProgress boolean optional

진행률 출력 여부

Returns:
Type Description
Promise.<Array.<{x: number, y: number, z: (number|string), level: number, errorMsg: (string|undefined)}>>

initialize()

isCache()boolean

활성 타일 캐시의 사용 설정을 반환합니다.

Returns:
Type Description
boolean

parseXml(xml)boolean

xml 데이터를 파싱하여 레이어 속성에 반영하는 메서드입니다.

Name Type Description
xml XMLHttpRequest

XMLHttpRequest 객체

Returns:
Type Description
boolean 작업 성공 시 true, 실패 시 false

readXml(baseUrl)

추가적인 xml 데이터를 읽어 고도/지형 정보에 적용하는 메서드입니다.
XML의 고도 형식·버전·압축·격자·바운딩 박스 설정을 읽고 레이어 범위를 초기화합니다.

Name Type Description
baseUrl string | undefined optional

xml 요청 URL

Type Definitions

TileUrlParamobject

createUrl 함수에 전달하는 타일 좌표 파라미터

U3dHeightTilePayloadobject

고도 타일의 원시 표본과 해당 표본에 적용할 메타데이터입니다.

데이터와 헤더는 서로 분리해서 제거되면 안 되므로 하나의 캐시 값으로 관리합니다.

Properties:
Name Type Description
data ArrayLike.<number>

원시 고도 표본 배열

header U3dHeightTileHeader | undefined

표본과 함께 사용하는 선택적 메타데이터

byteLength number

캐시 용량 계산에 사용하는 항목 크기

U3dHeightXYZLayerCOobject

~export U3dHeightXYZLayerCO ~extends U3dHeightLayer~U3dHeightLayerCO
U3dHeightXYZLayer 생성자 옵션

Properties:
Name Type Argument Default Description
name string

레이어 이름

baseUrl string

데이터 URL (camelCase)

ext string

파일 확장자 (ex : '.umf')

reverseX boolean <optional>

X축 반전 여부

reverseY boolean <optional>

Y축 반전 여부

useproxy boolean <optional>

프록시 사용 여부

proxyurl string <optional>
'./proxy.jsp?url='

프록시 URL

width number <optional>
64

타일 가로 크기

height number <optional>
64

타일 세로 크기

unitheight number <optional>
4

단위 높이

defaultheight number <optional>
0

기본 고도 값

defaultHeight number <optional>
0

기본 고도 값 (대소문자 혼용)

unitvec3 number <optional>
3

벡터 단위 수

unittype string <optional>
'float'

단위 타입

needXml boolean <optional>
true

xml 파일 사용 여부

skirt boolean <optional>
true

skirt 연산 여부

skirtheight number <optional>
40

skirt 높이

pTileSearchBuffer number <optional>
1

타일 검색 버퍼 크기

pTileSubBuffer number <optional>
1

타일 서브 버퍼 크기

boundingbox Box3 <optional>

바운딩 박스

realmaxlevel number <optional>

실제 최대 레벨