Swiss Ephemeris API
Swiss Ephemeris - 사실상 천문 계산의 표준이다: Astrodienst (astro.com), Solar Fire, Kerykeion 및 대부분의 진지한 소프트웨어가 이를 사용한다. 이것은 DE431 NASA JPL에서 에페머리스를 읽고 서브초 정확도를 제공한다. AstroWay API는 C 라이브러리를 컴파일하거나 .se1 파일을 다운로드하거나 메모리를 관리할 필요 없이 직접 HTTP 접근을 제공한다. POST 한 번, 응답은 JSON.
왜 API를 통해 Swiss Ephemeris를 사용하나요
섹션 제목: “왜 API를 통해 Swiss Ephemeris를 사용하나요”Self-host Swiss Ephemeris는 C 라이브러리(또는 WASM 빌드)를 컴파일하고 수백 메가바이트 규모의 .se1 파일을 배포하며 최신 상태를 유지하고 하우스 커스프, 어스펙트, 위상 등을 직접 구현해야 한다. API를 사용하면 이 모든 번거로움을 피할 수 있다:
- 인프라 제로: 바이너리, 에페머리스 파일, 콜드 스타트 지연이 전혀 없다. 계산은 Astrodienst와 동일한 엔진이 서버 측에서 수행한다.
- 서브초 정확도:
< 0.1″로 기준swetestCGI와 비교했을 때, 873개의 고정 스냅샷 테스트에서 검증됨. - 전체 날짜 범위: DE431은 13201 BCE – 17191 CE 를 커버하므로 역사적·미래 차트도 정확도를 잃지 않는다.
- 위치 외에도: 에페머리스와 동시에 15가지 하우스 시스템, 어스펙트, 일식·월식, 트랜싯, 진행 등도 바로 사용할 수 있다.
Swiss Ephemeris에서 무엇을 계산할 수 있나요
섹션 제목: “Swiss Ephemeris에서 무엇을 계산할 수 있나요”| 엔드포인트 | 크레딧 | 반환값 |
|---|---|---|
/v1/chart | 20 | 전체 차트: 행성 + 하우스 + 어스펙트 |
/v1/planets | 10 | 지구 중심 행성 위치 (경도, 위도, 속도, 역행 여부) |
/v1/houses | 10 | 하우스 커스프 - 15 시스템 (Placidus, Koch, Whole Sign, Equal…) |
/v1/transits | 50 | 지정된 날짜의 출생 차트에 대한 트랜싯 |
/v1/progressions | 50 | 보조 진행 (하루 = 1년) |
/v1/eclipses | 100 | 태양 및 월식 (NASA 카탈로그와 검증됨) |
/v1/moon-phase | 10 | 달 단계, 조명량, 다음 사분기 |
/v1/fixed-stars | 20 | 고정 별과 행성의 합 |
이것은 플랫폼의 760 엔드포인트 중 일부이며, 전체 목록은 API 가이드에 있습니다.
curl -X POST https://api.astroway.info/v1/planets \ -H "X-Api-Key: aw_live_your_key_here" \ -H "Content-Type: application/json" \ -d '{ "date": "1990-07-14", "time": "14:30:00", "timezoneOffset": 3, "latitude": 50.4501, "longitude": 30.5234 }'const r = await fetch('https://api.astroway.info/v1/planets', { method: 'POST', headers: { 'X-Api-Key': process.env.ASTROWAY_API_KEY!, 'Content-Type': 'application/json', }, body: JSON.stringify({ date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.4501, longitude: 30.5234, }),});const { data } = await r.json();const sun = data.planets.find((p) => p.name === 'Sun');console.log(`Sun: ${sun.longitude.toFixed(4)}° retrograde: ${sun.isRetrograde}`);import os, requests
r = requests.post( 'https://api.astroway.info/v1/planets', headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY'], 'Content-Type': 'application/json'}, json={ 'date': '1990-07-14', 'time': '14:30:00', 'timezoneOffset': 3, 'latitude': 50.4501, 'longitude': 30.5234, },)data = r.json()['data']sun = next(p for p in data['planets'] if p['name'] == 'Sun')print(f"Sun: {sun['longitude']:.4f}° retrograde: {sun['isRetrograde']}")누가 사용하나요
섹션 제목: “누가 사용하나요”- 천문 애플리케이션 개발자: self-host C 라이브러리 없이 서브초 위치
- AI 에이전트: LLM을 위한 그라운딩으로 정확한 에페머리스 (MCP 서버 통해)
- 연구자: DE431 역사적 범위에서 대량 계산
- self-host에서 마이그레이션: 로컬
swisseph를 HTTP로 교체, 정확도 손실 없음
행성 위치 (/v1/planets) - 10 크레딧, 전체 차트 (/v1/chart) - 20. Free 요금제에서는 (760+ 엔드포인트, 10 000 크레딧/월) - 월 약 1000개의 행성 요청을 무료로, 카드 없이 사용할 수 있다.
도움이 되었나요?
피드백 감사합니다.