Developers - http://www.egiskorea.com/
Documentation - https://egiscorp.gitbook.io/xdworld-webgl-manual
Demos & Sandbox - http://sandbox.dtwincloud.com
WebGL 기반 3D GIS 엔진 XDWORLD ENGINE
- 웹 표준 기술 HTML5, WebGL 기반 3D 렌더링 지원
- 멀티 OS, 브라우저, No-Plugin 지원
- 3차원 공간데이터 웹 개발자를 위한 다양한 Javascript 웹 API 지원
- 거리, 면적 체적 계산 등 기본적인 3차원 분석기능 제공
- 다양한 도시계획 시뮬레이션 및 분석 기능 제공
- 공간정보 오픈플랫폼(V World) 데이터 서비스 가능
GIS, UIS, LBS, 시설물관리, 조감도, 입지분석, 지형분석, 도시계획, 건축현장관리, 농지관리 등
전광판 객체 기능 보완
- 여러개의 전광판 설치 및 culling을 통한 비디오 on/off 기능 추가
- 샌드박스_전광판
아래 API에 대한 callback 함수 삭제
- 매 프레임마다 callback 불필요하고 API 자체에서 에러메시지 반환되기 때문에 삭제
- CJSAnalysis::createVideoTexture API
- CJSFigure::setBoardVideoTexture API
추후 사용 불가 API 항목 정리 (2023년 01월 01일 까지 지원)
- SetPlanetImageryType API
- changeBaseMap API
- clearBaseMap API
- setBaseMapOption API
- getBaseMapOption API
사용 불가 API 대체 API 항목 정리
- Module.GoogleMap();
- Module.ArcMap();
- Module.BingMap();
- Module.DaumMap();
- Module.MapBox();
- Module.NaverMap();
- Module.OpenStreetMap();
- Module.SKYMap();
- Module.WMTS();
변경된 API 샘플 소스는 샌드박스를 참조해 주시면 감사하겠습니다.
1. 레이어 별 클릭 지점 및 선택 오브젝트 리턴 API
object pick(unsinged int screenX, unsigned int screenY)
- class : JSLayer
- parameter
- screenX : 화면 x 좌표
- screenY : 화면 y 좌표
- return : 피킹 지점이 없는 경우 null 반환, 피킹 지점이 있는 경우 충돌한 오브젝트 키와 위치 좌표 반환함
- 참고 : (EgisCorp#224)
2. JSObject 내 오브젝트 속성 정보 저장 및 반환 기능
bool setProperty(string name, number/string value)
- class : JSObject
- parameter
- name : 속성 구분 이름
- value : 속성 값 (문자, 숫자 정보만 저장 가능)
- return : 설정 성공 여부
number/string getProperty(string name)
- class : JSObject
- parameter
- name : 속성 구분 이름
- return : 저장한 속성 값 (속성 값이 존재하지 않는 경우 null 반환)
3. Round 자동이동 위치 세그먼트 설정 프로퍼티 추가
- JSCamera 클래스 내 autoMoveRoundSegment 프로퍼티가 추가됨.
- 기존 setAutoMoveRoundPositions API는 500개의 고정 된 이동 경로 점을 반환하였으나, autoMoveRoundSegment 파라미터를 통해 이동 경로 지점 수를 설정 가능하도록 수정됨.
- 세그먼트 수가 적을 수록 지점 간격이 넓어져 이동 속도가 빨라짐.
4. 3D 그리드 애니메이션 메쉬의 기준 높이 설정 API 추가
void setBaseAltitude(float fAlt)
- 지정된 해발고도를 기준높으로 3d 그리드 표현을 시작
- class : JSGridAnal
- parameter
- fAlt : 기준 높이 값
5. 그리드 범례 절대값 설정 API 추가
void setLegendMode(int _nMode)
- class : JSGridAnal
- parameter
- _nMode : 그리드 범례 절대값
- 0 : 상대값 (%) 적용
- 1 : 절대값 (val) 적용
bool setLegendJSON(object _options)
- class : JSGridAnal
- parameter
- _options : 설정 속성 값
- 입력형식 { legendMode : Number, legend : [ { val : Number, color : { a, r, g, b ] }, { val : Number, color : { a, r, g, b ] }, ...] }
- setLegendMode 및 컬러테이블 설정
6. JSGridAnal 클래스 내 단일 시간 다중 분석 그리드 객체에 대한 병합기능 추가
void openMultipleGridDataURL(string szURL, unsigned int nTime, unsigned int nStripSize, unsigned int nStripStart, unsigned int nStripEnd, unsigned char nDataType, unsigned char nMultipleCnt, unsigned char nMultipleIndex)
- class : JSGridAnal
- parameter
- szURL : 데이터 요청 URL
- nTime : 시간 인덱스 (0-base)
- nStripSize : 그리드 하나의 셀의 byte 크기
- nStripStart : 그리드 셀에서 데이터 인식 offset 시작 byte (0-base)
- nStripEnd : 그리드 셀에서 데이터 인식 offset 종료 byte (0-base), nStripEnd - nStripStart가 데이터 바이트 크기
- nDataType : 데이터 자료형 (0 : int, 1 : float, 2 : double)
- nMultipleCnt : 다중 중첩 수
- nMultipleIndex : 다중 중첩 인덱스
- 그리드 필드 하나에 연결된 모든 데이터 필드를 합산하여 표현
7. JSGridAnal 클래스 내 마우스 클릭시 격자 정보 콜백기능 추가
void setMouseCallback(function _callback)
- 그리드 데이터 로드후 마우스 왼쪽버튼을 통한 버튼 업에서 지정된 콜백 호출
- class : JSGridAnal
- parameter
- _callback : 콜백 함수
- 콜백 반환 인자 : { longitude : Number, latitude : Number, idx : Number, idy : Number, value : Number , angle : Number }
8. JSGridAnal 클래스 내 격자 3D 라인 출력기능 추가
void setGridLineVisible(boolean _visible)
- 그리드 라인 표현 여부 설정
- class : JSGridAnal
- parameter
- _visible : 가시화 설정 값
void setGridLineBaseAlt(float _fAltitude)
- 그리드 라인의 기준 표현 해발고도 설정
- class : JSGridAnal
- parameter
- _fAltitude : 기준 표현 해발고도
void setGridLineMaxDistance(float _fDistance)
- 그리드 라인의 최대 표현 해발고도, 최대표현부터 기준고도까지 거리별(%)로 알파 적용
- class : JSGridAnal
- parameter
- _fDistance : 그리드 라인의 최대 표현 해발고도
9. Canvas style left, top 옵션에 따른 마우스 위치 처리 기능 추가
void ApplyCanvasPosition()
- Canvas style 변경 시 동기화 실행
- Canvas 위치 변경에 따른 HTMLObject 위치 조정 적용
- class : Module
10. JSColorGrid 투명도 조절 API 추가
void setOpacity(float _opacity)
- class : JSColorGrid
- parameter
- _opacity : 투명도 (0.0~1.0 사이 값 적용)
11. JSColorPolygon 투명도 조절 API 추가
void setOpacity(float _opacity)
- class : JSColorPolygon
- parameter
- _opacity : 투명도 (0.0~1.0 사이 값 적용)
- 화면 분할 시 POI 라인이 단독 렌더링되는 현상 수정 (EgisCorp#230)
- JSGridAnal 클래스에 단일 시간 분석 그리드 객체에 대한 표출기능 추가
- 중복키 이벤트 처리 추가(EgisCorp#218)
- 화면 분할 시 POI 라인이 단독 렌더링되는 현상 수정(EgisCorp#230)
- 마우스 클릭지점 이격 오류 수정
1.37.40
- HTMLObject 정렬 기능에 따른 위치 조정 기능 추가
- Real3D 단면도 출력 API 추가
- 카메라 지하 이동 시 고정 배경 색상 지정 부분 수정
- 2D 바 그래프 소수점 자릿수 설정 기능 추가
- 값이 0인 2D 바 그래프 수치 텍스트 표시
1.37.35
- JSLayer에 횡단면 출력 기능 사용 여부 설정 API setReal3dCutUse 추가
- JSLayer에 횡단면 출력 기능 높이 설정 API setReal3dCutHeight 추가
1.37.33
- JSFlowPolygon 좌표 정보 반환 프로퍼티 'coordinates' 추가
- 포인트-라인 간 최단 거리 계산 API getClosestPositionOnPath 추가
1.37.32
- JSFlowPolygon/JSPolygon 오브젝트 선택 오류 수정
- 바람길 기능 수정
- 빌딩관련 NoData 값 변경( 999 -> 0 )
- 토지피복도 관련 기능 추가
1.37.29
- 메뉴얼 업데이트 JSTerrain, JSMath
- Module.getTerrain().makeTerrainElevationCellData("parameter") 추가
- 그리드 생성 기능
- Module.getMath().calculationSlopeAnalysis("parameter") 추가
- [3 * 3] 배열값을 통한 경사 분석 기능
- Module.getMap().ScreenToMapPointEX API 실행 시 피킹점이 없는 경우 null 반환하도록 루틴 추가(이슈#211)
1.37.28
비디오 텍스쳐 Zoom In/Out 기능 추가
버텍스 및 인덱스가 활용 된 JSColorPolygon의 마우스 피킹 기능 수정
3D POI 텍스트의 문자 셋 지정 프로퍼티 추가
var layerList = new Module.JSLayerList(false); var layer = layerList.nameAtLayer("POI 텍스트 타일 레이어 이름"); layer.text_character_set = "EUC-KR"; // 디폴트 셋은 UTF-81.37.22
- 터치 이동/회전/줌인&아웃 사용 설정 프로퍼티 추가(이슈 200)
>// 터치 이동 활성화(true), 비활성화(false) Module.getControl().touchPanEnable = true; // 터치 회전 활성화(true), 비활성화(false) Module.getControl().touchRotateEnable = true; // 터치 줌 인&아웃 활성화(true), 비활성화(false) Module.getControl().touchZoomEnable = true;1.37.20
- 고스트심볼(JSGhostSymbol) z버퍼 off 프로퍼티 추가(이슈 194)
var object = Module.createGhostSymbol("MY_OBJECT"); object.zBufferOff = true;1.37.16
- 입력된 영역과 객체의 영역 충돌 체크 조건 추가 (완전 포함, 조금이라도 포함)
- 라이브맵 1차
- JSMap의 setSimpleMode API 오류 수정
1.37.15
- 레이어 별로 건물 심플 모드 설정이 가능한 JSLayer 프로퍼티 simple_real3d 추가
var layerList = new Module.JSLayerList(false); layer = layerList.nameAtLayer("building_layer_name"); layer.simple_real3d = true;1.37.13
- 텍스쳐가 없는 Real3d의 색상 변경 API SetDefineMeshColorByObjectKey 미적용 오류 수정
- JSGhostSymbol의 API exportFileFormat에 XDO 텍스쳐 이미지 파일 지정 기능 추가
이전 버전 업데이트
- 리소스 URL 설정 API 추가
- 맵컨트롤을 사용하기 위해서는 리소스 다운로드 해주시기 바랍니다.
- 리소스 설정 샘플 샌드박스_맵컨트롤
- 입력된 영역과 객체의 영역 충돌 체크 API 추가
- XDO 포맷 파일 기반 고스트심볼 import 및 export API 추가
- Tile LOD Object 프로토콜 예외처리 추가
- 포인트 클라우드 실시간 높이 조절 기능 구현(Tile LOD Object와 동일)
- Tile LOD Object 가시화 모듈 수정
- 배경지도 변경 오류 수정
- 선택 기능 추가
- JSMap addSelectObject 기능추가
- JSLibraryObject, JSBuildingManager 클래스 API 삭제
- WMTS, 배경지도 오류 수정
- WMTS 하이브리드 기능 추가
- Real3D 객체 페이스 색상 가시화 모듈 수정
- JSLineString 좌표 반환 기능 오류 수정
- Real3D 3DS export 시 메시 방향 지정 오류 수정

