1️⃣ 할당된 업무에 대한 진행상황.
In Progress
: 맛집 조회 API
Done
: 마이그레이션, 사용자 회원가입 및 로그인 API
Not Started
: 사용자 정보와 정보 변경 및 맛집 조회 API
2️⃣ Today I Learned
- 프로그램에서 제공해준 두 좌표 간의 거리 구하기 코드를 보고, Haversine 공식을 이용한 지구 두 좌표 사이 거리 구하기에 대해 정리해보았습니다.
- Typescript : 지구 두 좌표 사이 거리 구하기
/** 두 지점 위치의 거리 반환
* @param point1 좌표 1
* @param point2 좌표 2
*/
latLonToKm(point1: [number, number], point2: [number, number]) {
// 두 좌표를 각각 위도와 경도 변수로 저장
const lat1 = point1[1];
const lon1 = point1[0];
const lat2 = point2[1];
const lon2 = point2[0];
const R = 6371; // 지구의 반지름 길이 상수
// 위도 및 경도 차이를 라디안 값으로 계산
const dLat = this.toRadians(lat2 - lat1);
const dLon = this.toRadians(lon2 - lon1);
// 각 지점의 위도를 라디안 값으로 변환
const radLat1 = this.toRadians(lat1);
const radLat2 = this.toRadians(lat2);
// Haversine 공식을 사용하여 두 지점 사이의 거리 계산
const a =
Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.sin(dLon / 2) *
Math.sin(dLon / 2) *
Math.cos(radLat1) *
Math.cos(radLat2);
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
// 거리 반환 (단위: 킬로미터)
return R * c;
}
/** 각도 라디안 값을 반환 */
private toRadians(degrees: number) {
return degrees * (Math.PI / 180);
}
Ghost