CesiumJS에서는 Cartesian3
와 Cartographic
두 가지 주요 클래스를 사용하여 3차원 좌표와 지리적 좌표를 나타냅니다. 이 두 클래스 사이의 변환은 다음과 같이 수행할 수 있습니다.
Cartesian3에서 Cartographic으로 변환
Cartesian3
객체는 3차원 카르테시안 좌표 (X,Y,Z)를 나타냅니다. 이를 지리적 좌표 (경도,위도,높이)(경도,위도,높이)로 변환하려면 Cesium.Cartographic.fromCartesian
함수를 사용할 수 있습니다.
var cartesian = new Cesium.Cartesian3(/* x, y, z */);
var cartographic = Cesium.Cartographic.fromCartesian(cartesian);
Cartographic에서 Cartesian3으로 변환
Cartographic
객체는 경도, 위도, 높이를 라디안과 미터 단위로 나타냅니다. 이를 3차원 카르테시안 좌표로 변환하려면 Cesium.Cartographic.toCartesian
함수를 사용할 수 있습니다.
var cartographic = new Cesium.Cartographic(/* longitude, latitude, height */);
var cartesian = Cesium.Cartographic.toCartesian(cartographic);
주의 사항
- 위의 변환은 WGS84 타원체를 기반으로 합니다. 다른 타원체를 사용하려면 해당 타원체의 정보를 추가 인자로 전달할 수 있습니다.
Cartographic
에서 경도와 위도는 라디안 단위로 표현되므로, 도(degree) 단위로 변환하려면 추가적인 계산이 필요할 수 있습니다.