XDL 업데이트
XDL3.0_(v3.0.0.4) 업데이트 내용 2026
작성자윤석주 작성일2026-06-08 조회수16
XDL3.0_(v3.0.0.4) 업데이트 내용 2026
===================================
* 업데이트 날짜 : 2025.06.04
* 버전 : 3.0.0.4
* 컴파일러 버전 :
Visual studio 2022 버전 17.14.32
* 주요 공지
+ kakadu 버전 업데이트(8.6.2) & JPEG2000의 HT(Higth Throughput) 지원
- kdu_v86R.dll의 파일 설명에서 확인 가능
- kdu_v86R.dll의 파일 설명에서 확인 가능
+ MilmapView의 WM 투영 추가
- 다음과 같이 정의되어 있는 경우 군사지도를 WebMercator 투영하여 화면에 도시
-------------------------------------------------------------------------------------------------------------------
| <XMilmap Version="3.0">
| <Global>
| <MapProjection>WEBMERCATOR</MapProjection> ← WM 투영을 위한 정의
| .....
-------------------------------------------------------------------------------------------------------------------
+ DFT 알고리즘의 고속처리를 위한 Xpp 플러그인 추가
- 실행경로의 "Xpp.dll"을 검색하여 dynamic loading
+ NXImage에서 경계 영역을 도시하는 NXImageLayerBoundBox 기능을 NXImageLayerGPU에 추가
- 추후 NXImageLayerBoundBox 삭제 예정
+ XDL 및 XHM의 버전으로 3으로 업데이트
- 드라이버 이름, 피라미드 생성 리샘플링 방법 등의 부가적인 정보 저장하도록 함
+ XLD 및 OVR 형식의 영상 피라미드 생성 방법 변경
- 파일 명명 규칙 : 원본 확장자까지 반영하여 .xld 파일 생성하도록 함( 예: a.tif -> a.tif.xld)
: SubDataset을 로딩하는 경우 원본 파일이름 + 인덱스 + .xld로 명명 ( 예: *.toc.0.xld )
+ 영상 파일을 로딩할 때 열기/로딩 옵션을 설정할 수 있도록 인터페이스 추가
+ IO Driver의 공통기능을 관리하기 위해서 XDLH5Comoon.dll -> XDLIOCommon.dll로 변경
===================================
1. 추가
1.1 NXDL
+ eXGridResampleMethod으로 Average 추가
1.2 NEQUIP
+ XEquipObj의 BoundingBox 도시 중 중심 십자선 도시 여부를 설정할 수 있는 기능(SetBoundingBoxShowCross 추가)
1.3 NIO
+ zip 파일로 압축된 Sentinel-1 영상 파일을 로딩할 수 있도록 추가
+ 영상 파일을 로딩할 때 열기/로딩 옵션을 설정할 수 있도록 인터페이스 추가
+ SubDataset을 선택하여 영상 피라미드를 생성할 수 있도록 CreatImagePyramid에 부가적인 인터페이스 추가
1.4 NRS
+ XDMBandMath에 min, max 토큰 추가
+ XRSFile의 통계값을 계산할 때 Complex 형인 경우 magnitude로 계산할 수 있도록 함
+ XDMBandspatialFilter에 Rolling Guidance Filter 추가
+ SubDataset을 로딩한 경우 원본 파일 경로 및 SubDataset의 순서를 확인할 수 있는 XRSFile.PhysicalPath와 XRSFile.SubIndex 속성 추가
+ 영상을 로딩한 IO 드라이버를 식별할 수 있는 XRSFile.DriverKey 속성 추가
1.5 NSAR
+ XFourierTransform 클래스에 DFT2D에 대한 2차원 변환 방향 추가
+ XFourierTransform 클래스에 푸리에 변환된 주파수 성분의 데이터 배열의 0 주파수 성분을 중심으로 이동시키는 FFTShift1D, FFTShift2D 함수 추가
+ Chirp 신호 생성 클래스인 XChirp 클래스 추가
+ XSar에 RangeCompression 기능 추가
1.6 NSCENE
+ XscMeasureArea 생성시 둘레도 계산하도록 기능 추가(GetResultPerimeter)
1.7 NXAnnotaion
+ 주기 정렬 기능 추가
- 주기 정렬 속성 목록(eAlignment) 추가
- 주기 한개 선택 후 정렬 기능 작동시 사용할 Canvas 기준 영역을 설정하기 위한 NEditor.SetBoundForAlign() 함수 추가
- 주기 정렬을 위한 NEditor.Align() 함수 추가
+ 객체 한개 정렬 기능 적용시 기준으로 사용할 canvas 영역을 초기화하기 위한 NEditor.InitBoundForAlign() 함수 추가
1.8 NXImage
+ AddRenderLayer, AddImageLayer 등에서 레이어를 중복해서 추가하지 않도록 기능 추가
+ NXImage에서 경계 영역을 도시하는 NXImageLayerBoundBox 기능을 NXImageLayerGPU에 추가
- ShowBoundBox 속성, SetBoundBoxPostion, GetBoundBoxPosition 함수 추가
- NXImageLayerGPU_Event_BoundBoxChanged 이벤트 추가
+ NXImageLayerComposites의 화면 출력 작업을 진행하고 있는지 확인하기 위한 IsBusy 함수 추가
1.9 NXMilmap
+ AreaMasurer 측정시 둘레도 계산하도록 기능 추가
+ NXMilmapConfig에 FDB 지도 축척/종류별 레이어 정의 파일 경로를 제거하는 RemoveFDBMapLayerDefinition 함수 추가
+ AddRenderLayer 등에서 레이어를 중복해서 추가하지 않도록 기능 추가
1.10 NXPlanet
+ AreaMasurer 측정시 둘레도 계산하도록 기능 추가
+ AddRenderLayer 등에서 레이어를 중복해서 추가하지 않도록 기능 추가
1.11 NXVideo
+ XVideoChannel.OpenOutputUrl 추가적인 인터페이스
+ XVdieoChannel.OpenOutputProgram 추가적인 인터페이스
+ 비디오 채널을 재생하면서 동시에 파일로 저장할 수 있는 XVideoChannel.OpenOutputFile 함수 추가
+ 분할 파일일로 저장할 수 있는 XVideoChannel.OpenOutputMultiFile 함수 추가
+ 동영상 파일 분할 인코딩 파라미터를 위한 XEncodeMultiFileParam 클래스 추가
+ XEncoderParam에 파일 분할 인코딩 파라미터 속성인 MultiFileParam 추가
+ 동영상 출력을 여러 파일로 나눠 저장할 때 새 파일이 생성될 때 발생하는 이벤트인 XVideo_Event_MultiFile 추가
+ 비디오 채널 저장과 관련 기능 종류를 위한 함수 추가
- 비디오 채널 저장 마무리 : CloseOutputFile
- 비디오 채널 전송 또는 저장하던 프로그램 중단 : CloseOutputProgram
- 비디오 분할 저장 마무리 : CloseOutputMultiFile
2. 수정
2.1 NIO
+ DumpMeta 기능에서 GCP 정보 및 Affine Transform 계수/좌표계 정보도 출력되도록 수정
+ zip 파일로 압축된 Sentinel-1 영상 파일을 로딩할 수 있도록 수정
+ JPEG2000 드라이버인 XDLioJP2Driver에서 메타데이터를 읽어 XRSMetaData에 등록하여 활용할 수 있도록 수정
+ IO 드라이버 중 HDF5 로딩시 데이터세트가 유효한지 검사하는 로직에서 예외 처리 코드 추가
+ OVR 형식으로 영상 피라미드를 생성한 뒤 바로 활용할 수 있도록 수정
2.2 NRS
+ XRSMetaData 파일 저장시 UTF-8 인코하여 저장하도록 수정
+ XRSMetaData XML 파일 로딩시 파일 검증(PixMetaData 확인) 추가
+ XDMBandMath의 ValuesForDivideByZero 속성이 적용되지 않는 문제 해결
+ 음수 기호와 빼기 연산자 구분하는 로직 수정
+ XDMBandcomplex, HalfFloting 연산에서 Level이 0이 아닌 경우 데이터를 가져올 때 영역 계산 오류 수정
2.3 NSCENE
+ XscSymbol에서 Draw3DInOrtho 모드가 아닌 경우, BlendColor가 적용되지 않는 문제 수정
+ XscSymbol의 Draw3DInOrtho 모드가 아닌 경우 Planet3D에서 좌우반전되는 오류 수정
+ XScene에서 ShowObj를 변경하면 하위(자식) 객체의 ShowOb도 함께 변경되도록 수정
2.4 NVC
+ XvcMeasureArea의 둘레 계산결과를 나타내는 속성으로 ResultPerimeter 추가(기존 속성 ResultCircumference)
2.5 NXAnnotaion
+ NanBspline의 HitTest()에서 곡선 부분도 hitting 되도록 수정
+ NanScaleBar의 eScaleBarType.Type0 모양 변경(축척숫자 글씨를 스케일바 도형안에 들어가도록 수정)
+ NanMeasureHeight(높이측정주기)의 SunAngle 값이 90 이상이거나 -90 이하일 때 측정주기 텍스트 도시 오류 수정
- SunAngle값의 유효 범위를 0 < SunAngle < 90 으로 수정
- 높이값 측정 불가시 높이값을 0으로 표시하도록 수정
- 측정주기 텍스트의 숨김 여부를 설정하고 가져오기 위한 SetTextHideFlag(), GetTextHideFlag() 함수 추가
+ NEditor.SetBoundForAlign() 함수 매개변수 입력방식 수정
2.6 NXMilmap
+ NXMilmapConfig의 AddFDBMapLayerDefinition 함수의 반환형식 변경(void → bool)
+ FDB의 축척으로 2M, 5M를 처리할 수 있도록 수정
3. 삭제
+ 해당 사항 없음
4. 기타
4.1 메모리 누수 발생 수정(HDF5 관련 기능 등)
4.2 minor bug & documentation fix