저희 로드맵의 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 미만입니다.
베다 차트: 3가지 지역 스타일
섹션 제목: “베다 차트: 3가지 지역 스타일”인도 점성술 전통에는 세 가지 출생 차트 레이아웃이 있으며, 각 레이아웃은 해당 지역에서 문화적 중요성을 가집니다:
1. 북인도 (다이아몬드) - /v1/render/wheel-vedic-north
섹션 제목: “1. 북인도 (다이아몬드) - /v1/render/wheel-vedic-north”고전적인 “다이아몬드” 레이아웃: 1하우스는 항상 상단에 있으며 (고정된 하우스), 라그나에 따라 행성들이 회전합니다. 대부분의 힌디어 주류 상담에서 널리 사용됩니다.
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개의 행성이 모여 있는 클러스터를 즉시 볼 수 있습니다.
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 투영)입니다.
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) 목록을 받아 스테레오그래픽 투영으로 렌더링합니다. 밝기는 점의 반지름에 매핑됩니다 (더 밝은 별 = 더 큰 원).
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)
사용 사례. 점성술 앱의 ‘오늘 밤 하늘’ 위젯. 실제 좌표에 나크샤트라 별이 겹쳐진 베다 출생 차트 컨텍스트. 별자리 지도가 있는 교육용 제품.
통합 팁: SVG → PNG → CDN
섹션 제목: “통합 팁: SVG → PNG → CDN”래스터(소셜 미디어, 이메일, 푸시용)가 필요한 경우, 파이프라인:
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 URLsharp를 통한 SVG → PNG 변환은 약 150ms를 추가하지만, 여전히 headless Chrome보다 저렴합니다. 또는 SVG로 남겨두고 템플릿 시스템(Astro, Vue, React 컴포넌트)을 통해 HTML에 인라인으로 삽입할 수 있습니다. 이 경우 프레임워크의 해당 메커니즘을 통해 문자열을 직접 출력하고 사전 위생 처리를 해야 합니다.
이 배치에 포함된 6개의 모든 렌더링 엔드포인트는 Tier 1이며, 호출당 10 크레딧입니다. 전체 요금표는 가격 페이지에서 확인할 수 있습니다.
전체 매개변수 스키마에 대한 문서는 /docs/api/ → Render에서 확인할 수 있습니다. 베다 형식, 코스모그램, 일식 경로 및 별 지도는 각각 매개변수 예시와 응답 SVG 스냅샷을 포함합니다.