AstroWay/api v2.325.2 · ko
모든 시스템 정상 작동 중

Eclipse path, cosmogram 및 Vedic 차트: headless-Chrome 없이 pure-SVG 시각화 도구

6개의 엔드포인트 /v1/render/* 패밀리로 특정 시각화를 제공 - 3개의 Vedic 차트 (North/South/East Indian), Hamburg-School 90° cosmogram, equirectangular eclipse-path 및 stereographic star-map. 모든 렌더링은 순수 SVG 문자열이며, 브라우저 워커 없이 제공됩니다.

저희 로드맵의 Visualization 카테고리는 14/14 완료되었습니다. 6개의 최종 엔드포인트는 npm 패키지로 제공되지 않는 특정 레이아웃을 다룹니다. 여기에는 세 가지 지역 스타일의 베다 차트, 함부르크 학파 코스모그램, 세계 지도상의 일식 경로, 그리고 스테레오그래픽 별 지도가 포함됩니다.

핵심 결정: 모든 렌더링은 headless Chrome 없이 순수 SVG 문자열입니다. 이는 1초 미만의 응답 시간, 낮은 호출당 비용, 그리고 모든 이메일/PDF/웹 문서에 인라인으로 포함할 수 있는 기능을 의미합니다.

아키텍처: Puppeteer를 사용하지 않는 이유

섹션 제목: “아키텍처: Puppeteer를 사용하지 않는 이유”

대부분의 출판 등급 점성술 이미지는 SVG 템플릿과 Chromium을 통해 생성됩니다. 이는 PDF 보고서에는 적합합니다. 그러나 /v1/render/* 엔드포인트는 실시간 프로그래밍 렌더링에 중점을 둡니다:

  • 대시보드 React 컴포넌트에 인라인으로
  • 이메일 캠페인에 임베드
  • 다중 모드 분석을 위해 LLM 에이전트에 전달

Headless Chrome은 적합하지 않습니다. RAM 비용과 지연 시간 때문에 한 배치에 분당 100번씩 호출할 수 없습니다. 따라서 6개의 모든 렌더러는 템플릿 함수를 통해 SVG 마크업을 내보내는 순수 문자열 빌더입니다. 콜드 캐시에서도 지연 시간은 100ms 미만입니다.

인도 점성술 전통에는 세 가지 출생 차트 레이아웃이 있으며, 각 레이아웃은 해당 지역에서 문화적 중요성을 가집니다:

1. 북인도 (다이아몬드) - /v1/render/wheel-vedic-north

섹션 제목: “1. 북인도 (다이아몬드) - /v1/render/wheel-vedic-north”

고전적인 “다이아몬드” 레이아웃: 1하우스는 항상 상단에 있으며 (고정된 하우스), 라그나에 따라 행성들이 회전합니다. 대부분의 힌디어 주류 상담에서 널리 사용됩니다.

Terminal window
curl -X POST https://api.astroway.info/v1/render/wheel-vedic-north \
-H "X-Api-Key: aw_live_..." \
-H "Content-Type: application/json" \
-d '{
"date": "1990-05-15",
"time": "14:30:00",
"timezoneOffset": 3,
"latitude": 50.45,
"longitude": 30.52,
"options": { "format": "svg" }
}'

SVG 문자열 (format: "svg") 또는 { svg, byteLength }를 포함하는 JSON 래퍼 (format: "json", 기본값)를 요청할 수 있습니다.

2. 남인도 (4×4 그리드) - /v1/render/wheel-vedic-south

섹션 제목: “2. 남인도 (4×4 그리드) - /v1/render/wheel-vedic-south”

4×4 정사각형 그리드, 행성들은 고정되어 있으며 (물고기자리는 항상 왼쪽 상단, 나머지는 시계 방향), 하우스 번호는 라그나에 따라 이동합니다. 타밀나두, 케랄라, 카르나타카에서 널리 사용됩니다.

3. 동인도 (벵골) - /v1/render/wheel-vedic-east

섹션 제목: “3. 동인도 (벵골) - /v1/render/wheel-vedic-east”

대각선이 있는 정사각형 + 내부 회전된 정사각형 - 하이브리드 기하학입니다. 서양에서는 세 가지 중 가장 덜 알려져 있지만, 벵골 지향 제품에는 필수적입니다.

세 가지 모두 동일한 차트 페이로드를 받으며, 엔드포인트는 시각화 스타일에 따라 선택됩니다.

코스모그램: 함부르크 학파 90° 다이얼

섹션 제목: “코스모그램: 함부르크 학파 90° 다이얼”

POST /v1/render/cosmogram은 출생 차트 원이 아닙니다. 이것은 모든 하드 어스펙트(0°/90°/180°)가 합으로 붕괴되는 90° 다이얼입니다. 이 도구는 알프레드 비테(Witte 1928)에 의해 개발되었고, 나중에 라인홀트 에베르틴(Ebertin 1940)에 의해 코스모바이올로지의 기초로 공식화되었습니다.

이것이 유용한 이유: 표준 360° 차트에서는 하드 어스펙트가 원 주위에 “퍼져” 있어 클러스터를 읽기 어렵습니다. 90° 다이얼에서는 시각적으로 명확해지며, 하나의 22.5° 섹터에 3-4개의 행성이 모여 있는 클러스터를 즉시 볼 수 있습니다.

Terminal window
curl -X POST https://api.astroway.info/v1/render/cosmogram \
-H "X-Api-Key: aw_live_..." \
-H "Content-Type: application/json" \
-d '{
"date": "1990-05-15",
"time": "14:30:00",
"timezoneOffset": 3,
"latitude": 50.45,
"longitude": 30.52
}'

4×22.5° 정사각형 (카디널 섹터)과 90° 회전 내 행성 위치를 포함하는 SVG를 반환합니다.

일식 경로: 등직사각형 세계 지도

섹션 제목: “일식 경로: 등직사각형 세계 지도”

POST /v1/render/eclipse-path는 일식 중심선에 대한 호출자 제공 위도/경도 트랙과 선택적으로 도 단위의 밴드 너비를 받습니다. 렌더링은 경위선 + 경로선 + 밴드 오버레이가 있는 등직사각형 세계 지도(표준 WGS-84 투영)입니다.

Terminal window
curl -X POST https://api.astroway.info/v1/render/eclipse-path \
-H "X-Api-Key: aw_live_..." \
-H "Content-Type: application/json" \
-d '{
"path": [
{ "latitude": 38.5, "longitude": -125.0, "time": "2026-08-12T17:30Z" },
{ "latitude": 41.2, "longitude": -105.3, "time": "2026-08-12T17:42Z" },
{ "latitude": 44.8, "longitude": -85.7, "time": "2026-08-12T17:54Z" }
],
"bandWidthDeg": 1.2,
"title": "Eclipse 2026-08-12",
"options": { "width": 1200, "height": 600, "showGraticule": true, "pathColor": "#ff5500" }
}'

호출자 제공 경로는 의도적인 설계 선택입니다. 일식 경로 데이터는 다양한 정식 출처(NASA Eclipse Catalog, Espenak & Meeus의 Five Millennium Canon of Solar Eclipses)에서 제공되며, 각 출처는 고유한 정확도를 가집니다. 이 엔드포인트는 NASA 계산을 복제하려고 시도하지 않으며, 당신의 트랙을 아름답게 렌더링합니다. 데이터 소스로 NASA Eclipse 웹사이트를 권장하지만, 이는 이 엔드포인트의 범위를 벗어납니다.

사용 사례. 지도에 다음 일식 경로를 표시하는 교육용 앱. 또는 원주민에게 중요한 위치를 통해 일식의 “파동”을 시각화하려는 점성술 상담.

POST /v1/render/star-map은 선택적 밝기(magnitude)와 글리프(glyph)를 포함하는 점(RA/Dec) 목록을 받아 스테레오그래픽 투영으로 렌더링합니다. 밝기는 점의 반지름에 매핑됩니다 (더 밝은 별 = 더 큰 원).

Terminal window
curl -X POST https://api.astroway.info/v1/render/star-map \
-H "X-Api-Key: aw_live_..." \
-H "Content-Type: application/json" \
-d '{
"points": [
{ "raHours": 5.92, "decDeg": 7.41, "magnitude": 0.45, "name": "Betelgeuse" },
{ "raHours": 6.75, "decDeg": -16.72, "magnitude": -1.46, "name": "Sirius" },
{ "raHours": 5.24, "decDeg": -8.20, "magnitude": 0.18, "name": "Rigel" }
],
"observerLatDeg": 50.45,
"zenithDecDeg": 50.45,
"capAltitudeDeg": -18,
"title": "Sky at midnight, Kyiv"
}'

매개변수:

  • points: 1개에서 2000개까지의 별/객체
  • observerLatDeg + zenithDecDeg: 관측자 지점에서의 정확한 투영을 위해
  • capAltitudeDeg: 고도 제한 (예: 천문 박명을 위한 -18)

사용 사례. 점성술 앱의 ‘오늘 밤 하늘’ 위젯. 실제 좌표에 나크샤트라 별이 겹쳐진 베다 출생 차트 컨텍스트. 별자리 지도가 있는 교육용 제품.

래스터(소셜 미디어, 이메일, 푸시용)가 필요한 경우, 파이프라인:

import { Astroway } from "@astroway/sdk";
import sharp from "sharp";
const client = new Astroway({ apiKey: process.env.ASTROWAY_KEY });
const { svg } = await client.render.eclipsePath({
path: eclipseTrack,
bandWidthDeg: 1.2,
options: { width: 1200, height: 600, format: "json" },
});
const png = await sharp(Buffer.from(svg))
.resize(1200, 600)
.png()
.toBuffer();
// upload to CDN, get URL

sharp를 통한 SVG → PNG 변환은 약 150ms를 추가하지만, 여전히 headless Chrome보다 저렴합니다. 또는 SVG로 남겨두고 템플릿 시스템(Astro, Vue, React 컴포넌트)을 통해 HTML에 인라인으로 삽입할 수 있습니다. 이 경우 프레임워크의 해당 메커니즘을 통해 문자열을 직접 출력하고 사전 위생 처리를 해야 합니다.

이 배치에 포함된 6개의 모든 렌더링 엔드포인트는 Tier 1이며, 호출당 10 크레딧입니다. 전체 요금표는 가격 페이지에서 확인할 수 있습니다.

전체 매개변수 스키마에 대한 문서는 /docs/api/ → Render에서 확인할 수 있습니다. 베다 형식, 코스모그램, 일식 경로 및 별 지도는 각각 매개변수 예시와 응답 SVG 스냅샷을 포함합니다.

MakSeong · AstroWay

AstroWay API를 만들고 있어: 각초 단위 점성술 계산을 순수 REST로 감싸고, 실제로 중요한 지루한 세부사항을 기록합니다.

// 이걸로 빌드해

각초 단위 위치를 단 4줄의 코드로.

카드 없이 무료 키. 첫 결제 전까지 월 5,000 API 호출.

더 많은 블로그 글 모든 글 보기 →

Ephemeris 2026-07-19

우리가 정확성을 제어하는 방법: CI vs swetest 및 NASA

아스트로-API의 정확성은 하나의 에프메르에디드 리팩토링으로 쉽게 저하됩니다. CI의 보호를 분석합니다: 앱과 API를 위한 하나의 스위스 에프메르에디스 핵심, 수백의 스냅샷이 동결된 표준 맵에, swetest CGI, Kerykeion, Prokerala 및 NASA의 어두움 카탈로그에 대한 각 PR의 삼각화.

Engineering 2026-07-15

세 가지 공식 SDK: 순수 curl 대신 TypeScript, Python, PHP

순수 HTTP로도 동작하지만, 타입이 있는 클라이언트는 몇 시간을 아껴 줍니다: 경로 자동 완성, 요청과 응답 타입, 408/409/429/5xx에 대한 내장 재시도, Stainless 스타일의 오류 계층. 세 가지 공식 SDK인 @astroway/sdk(npm), astroway(PyPI), astroway/sdk(Packagist)를 살펴보고, 이들이 어떻게 하나의 OpenAPI 계약에서 생성되는지 설명합니다.

Industry 2026-06-05

Free Astrology API: Which One Has the Best Free Tier in 2026?

A side-by-side of free tiers across the major astrology APIs - credits, request caps, card requirements - and how much you can actually build for free.