vworld-react-3d
Version:
VWorld 3.0 API React Component - 한국 공공데이터 3D 지도 컴포넌트
125 lines (124 loc) • 4.25 kB
TypeScript
import { VWorldCameraPosition, VWorldCoord, VWorldDirection } from "./types";
/**
* 좌표를 CameraPosition으로 변환
*/
export declare const createCameraPosition: (coord: VWorldCoord, direction: VWorldDirection) => VWorldCameraPosition;
/**
* 위도, 경도, 고도로 VWorldCoord 생성
*/
export declare const createCoord: (longitude: number, latitude: number, altitude: number) => VWorldCoord;
/**
* 방향 각도로 VWorldDirection 생성
*/
export declare const createDirection: (heading: number, pitch: number, roll: number) => VWorldDirection;
/**
* 광화문 중심의 카메라 위치 생성
*/
export declare const getGwanghwamunCameraPosition: (altitude?: number) => VWorldCameraPosition;
/**
* 서울시청 중심의 카메라 위치 생성
*/
export declare const getSeoulCityHallCameraPosition: (altitude?: number) => VWorldCameraPosition;
/**
* 부산시청 중심의 카메라 위치 생성
*/
export declare const getBusanCityHallCameraPosition: (altitude?: number) => VWorldCameraPosition;
/**
* 대구시청 중심의 카메라 위치 생성
*/
export declare const getDaeguCityHallCameraPosition: (altitude?: number) => VWorldCameraPosition;
/**
* 인천시청 중심의 카메라 위치 생성
*/
export declare const getIncheonCityHallCameraPosition: (altitude?: number) => VWorldCameraPosition;
/**
* 광주시청 중심의 카메라 위치 생성
*/
export declare const getGwangjuCityHallCameraPosition: (altitude?: number) => VWorldCameraPosition;
/**
* 대전시청 중심의 카메라 위치 생성
*/
export declare const getDaejeonCityHallCameraPosition: (altitude?: number) => VWorldCameraPosition;
/**
* 울산시청 중심의 카메라 위치 생성
*/
export declare const getUlsanCityHallCameraPosition: (altitude?: number) => VWorldCameraPosition;
/**
* 고도별 설명
*/
export declare const getAltitudeDescription: (altitude: number) => string;
/**
* 줌 레벨을 고도로 변환
*/
export declare const zoomToAltitude: (zoomLevel: number) => number;
/**
* 고도를 줌 레벨로 변환
*/
export declare const altitudeToZoom: (altitude: number) => number;
/**
* 줌 레벨별 설명
*/
export declare const getZoomDescription: (zoomLevel: number) => string;
/**
* 좌표를 WGS84 형식으로 변환
*/
export declare const coordToWGS84: (coord: VWorldCoord) => string;
/**
* WGS84 문자열을 좌표로 변환
*/
export declare const wgs84ToCoord: (wgs84String: string) => VWorldCoord;
/**
* 고도 차이 계산 (미터 단위)
*/
export declare const calculateAltitudeDifference: (coord1: VWorldCoord, coord2: VWorldCoord) => number;
/**
* 경사도 계산 (도 단위)
*/
export declare const calculateSlope: (coord1: VWorldCoord, coord2: VWorldCoord) => number;
/**
* 좌표를 UTM 좌표계로 변환
*/
export declare const coordToUTM: (coord: VWorldCoord) => {
zone: number;
easting: number;
northing: number;
};
/**
* UTM 좌표를 WGS84로 변환
*/
export declare const utmToCoord: (zone: number, easting: number, northing: number) => VWorldCoord;
/**
* 좌표를 TM 좌표계로 변환 (한국 중부원점)
*/
export declare const coordToTM: (coord: VWorldCoord) => {
x: number;
y: number;
};
/**
* TM 좌표를 WGS84로 변환
*/
export declare const tmToCoord: (x: number, y: number) => VWorldCoord;
/**
* 애니메이션 이징 함수들
*/
export declare const easingFunctions: {
linear: (t: number) => number;
easeInQuad: (t: number) => number;
easeOutQuad: (t: number) => number;
easeInOutQuad: (t: number) => number;
easeInCubic: (t: number) => number;
easeOutCubic: (t: number) => number;
easeInOutCubic: (t: number) => number;
};
/**
* 애니메이션 인터폴레이션
*/
export declare const interpolate: (start: number, end: number, progress: number, easing?: keyof typeof easingFunctions) => number;
/**
* 카메라 위치 애니메이션
*/
export declare const interpolateCameraPosition: (start: VWorldCameraPosition, end: VWorldCameraPosition, progress: number, easing?: keyof typeof easingFunctions) => VWorldCameraPosition;
/**
* 좌표 간 거리 계산 (미터 단위)
*/
export declare const calculateDistance: (coord1: VWorldCoord, coord2: VWorldCoord) => number;