본문 바로가기
북마크/Q&A

랜드마크를 기준으로 Azimuth Angle과 Elevation Angle을 이용한 거리 계산

by david100gom 2025. 2. 4.

랜드마크를 기준으로 Azimuth Angle과 Elevation Angle을 이용한 거리 계산

특정 랜드마크(기준점)에서 물체의 **Azimuth Angle(방위각)과 Elevation Angle(고도각)**을 측정할 수 있다면, 물체와 랜드마크 간의 거리를 구할 수 있습니다.


1. 필요한 정보

  • 랜드마크(L)의 위치: (위도 latLlat_L, 경도 lonLlon_L, 고도 hLh_L)
  • 물체(O)의 방위각(Azimuth Angle, θθ): 북쪽(0°) 기준 시계방향
  • 물체(O)의 고도각(Elevation Angle, ϕϕ): 수평선(0°) 기준 위쪽 방향
  • 물체(O)의 고도(hOh_O): (알려진 경우)

2. 거리 계산 방법

물체의 고도가 알려진 경우와 알려지지 않은 경우에 따라 방법이 다릅니다.

(1) 물체의 고도(hOh_O)가 알려진 경우

이 경우, 삼각법을 이용해 거리 DD 를 계산할 수 있습니다.

공식 유도

고도각(ϕϕ)과 두 지점의 고도 차이를 이용하면:

D=hO−hLtan⁡(ϕ)D = \frac{h_O - h_L}{\tan(ϕ)}

여기서:

  • hLh_L = 랜드마크의 고도 (m)
  • hOh_O = 물체의 고도 (m)
  • ϕϕ = 물체의 Elevation Angle (도)

예제:

  • 랜드마크의 고도: 50m
  • 물체의 고도: 100m
  • Elevation Angle: 30°

D=100−50tan⁡(30°)=500.577≈86.6mD = \frac{100 - 50}{\tan(30°)} = \frac{50}{0.577} \approx 86.6m

즉, 랜드마크에서 물체까지의 거리는 약 86.6m 입니다.


(2) 물체의 고도(hOh_O)가 알려지지 않은 경우

물체의 실제 위치를 파악하기 어려우므로, 추가적인 정보가 필요합니다.

  • 다른 센서를 이용해 거리(D)를 직접 측정 (LiDAR, 레이더 등)
  • 다른 관측 지점에서 추가 측정하여 삼각측량법(Triangulation) 사용

만약 지표면(고도=0)에서의 거리만 필요하다면, 랜드마크의 고도 hLh_L 를 사용하여:

D=hLtan⁡(ϕ)D = \frac{h_L}{\tan(ϕ)}

예제:

  • 랜드마크의 고도: 50m
  • Elevation Angle: 45°

D=50tan⁡(45°)=501=50mD = \frac{50}{\tan(45°)} = \frac{50}{1} = 50m

즉, 물체가 지면(고도=0)에 있는 경우, 랜드마크에서의 거리는 50m 입니다.


3. Python 코드 구현

이제, 위 공식을 이용해 Python 코드로 거리 DD 를 계산하는 예제를 작성해보겠습니다.

import math

def calculate_distance(h_L, h_O, elevation_angle):
    """
    랜드마크의 고도(h_L)와 물체의 고도(h_O)를 사용하여 거리(D) 계산
    """
    elevation_rad = math.radians(elevation_angle)  # 도를 라디안으로 변환

    if h_O is None:
        print("물체의 고도가 주어지지 않았습니다. 지표면(고도=0) 기준으로 계산합니다.")
        h_O = 0  # 물체의 고도를 0으로 가정
    
    D = abs((h_O - h_L) / math.tan(elevation_rad))
    return D

# 예제 입력
h_L = 50   # 랜드마크의 고도 (m)
h_O = 100  # 물체의 고도 (m) (None이면 지표면으로 가정)
elevation_angle = 30  # 고도각 (°)

# 거리 계산
distance = calculate_distance(h_L, h_O, elevation_angle)
print(f"랜드마크와 물체 간 거리: {distance:.2f}m")

4. 결론

  • 물체의 고도가 알려진 경우, 삼각법을 이용하여 거리 DD 를 쉽게 계산할 수 있음.
  • 물체의 고도가 알려지지 않은 경우, 추가적인 센서 데이터 또는 다른 측정 지점이 필요.
  • 지표면(고도=0) 기준으로 계산할 수도 있음.

이 방식은 드론, 감시 시스템, 천체 관측 등 여러 분야에서 활용될 수 있습니다. 🚀

댓글