dem_enu_from_geodetic — DEM geodesy op

• 데이터 종류: 없음 → points(인자만으로 정해지는 연산자 —— 이미지나 데이터 입력을 받지 않습니다)

• 호출: import fullseye as fs; fs.ledger.dem_enu_from_geodetic(lat_deg, lon_deg, h_m, lat0_deg, lon0_deg, h0_m)(구현을 직접 호출하려면 import demops; demops.dem_enu_from_geodetic(lat_deg, lon_deg, h_m, lat0_deg, lon0_deg, h0_m), 원장에서 가져오려면 opsdem.get("dem_enu_from_geodetic"))

사용법

측지 좌표 → 기준점 주위의 국소 ENU(동·북·상) [m] (points).

현장 도면·로봇의 지도·점군의 대부분은 “원점으로부터의 동·북·상”으로 쓰인다. ECEF로부터의 변환은 기준점에서의 회전 1개로, ENU = R(lat0, lon0) (X - X0).

★ 평면 직각 좌표(투영)가 아니다. ENU는 기준점에서 접하는 평면으로의 정사영에해당하며, 거리가 늘어날수록 지구의 곡률만큼 높이 방향으로 떨어진다 —— 10 km에서 약 7.8 m, 100 km에서 약 780 m. 넓은 영역을 “평평한 xy”로 다루는 것은 이 낙차를 버리는 것.

Args:

lat_deg / lon_deg: 점의 위도·경도 [도]. 배열 가능.

h_m: 점의 타원체고 [m].

lat0_deg / lon0_deg / h0_m: 기준점(원점)의 측지 좌표.

Returns:

(n, 3)의 (east, north, up) [m]. 기준점 자체는 엄밀하게 (0, 0, 0).

닫힌 식으로 검사할 수 있는 것: 기준점에서 (0, 0, 0), dem_geodetic_from_enu와의 왕복이 1e-9 m 급, 그리고 기존의 dem_geodetic_to_ecef를 거쳐 직접 회전한 결과와 일치한다(다른 경로에 의한 검산).

ValueError: 비유한, 위도가 ±90을 벗어남, 길이 불일치.

자세한 사용 가이드

• dem_terrain_analysis 패밀리 가이드

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• poc_geodetic_benchmarks_real — py -3.11 examples/poc_geodetic_benchmarks_real.py

• poc_geodetic_height_frames — py -3.11 examples/poc_geodetic_height_frames.py

타입이 이어지는 다음 연산자(points 를 입력으로 받는 것)

dem_ecef_to_geodetic · dem_geodetic_from_enu

같은 카테고리(geodesy)

dem_geodetic_to_ecef · dem_ecef_to_geodetic · dem_geocentric_grid · dem_earth_curvature_drop · dem_cell_size_webmercator · dem_geodetic_slope · dem_geoid_height · dem_height_frame_convert


*Provenance: demops.py — DEM 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.