출생 차트 가이드
서양 점성술 기반 출생 차트를 생성하고 분석하는 방법을 알아봅니다. 이 가이드에서는 기본 차트 생성부터 행성 위치, 하우스, 애스펙트 해석까지 단계별로 설명합니다.
개요
Natal Chart API는 출생 시간과 장소를 기반으로 서양 점성술 차트를 계산합니다. API는 다음 정보를 제공합니다:
- 행성 위치: 태양, 달, 수성 등 10개 행성의 정확한 위치
- 앵글: Ascendant(ASC), Midheaven(MC), Descendant(DSC), IC
- 하우스: 12개 하우스 시스템 (Placidus, Whole Sign 등)
- 애스펙트: 행성 간 각도 관계 (합, 육분, 사분, 삼분, 충)
- 디그니티: 행성의 본질적 품위 (Domicile, Exaltation 등)
빠른 시작
기본 차트 생성
출생 차트를 생성하려면 출생 날짜/시간과 위치 정보가 필요합니다:
curl -X POST https://api.destinyapi.com/v1/astrology/natal-chart \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"datetime": "1990-01-15T14:30:00",
"location": {
"latitude": 37.5665,
"longitude": 126.978,
"timezone": "Asia/Seoul",
"elevation": 38
},
"house_system": "PLACIDUS",
"name": "John Doe",
"include_asteroids": false
}'필수 파라미터
| 파라미터 | 타입 | 설명 |
|---|---|---|
datetime | string | 출생 날짜/시간 (ISO 8601 형식: YYYY-MM-DDTHH:MM:SS) |
location.latitude | number | 출생지 위도 (-90 ~ 90) |
location.longitude | number | 출생지 경도 (-180 ~ 180) |
location.timezone | string | 타임존 (IANA 형식, 예: "Asia/Seoul") |
선택적 파라미터
| 파라미터 | 기본값 | 설명 |
|---|---|---|
house_system | "PLACIDUS" | 하우스 시스템 (PLACIDUS, WHOLE_SIGN, KOCH 등) |
name | null | 차트 이름 (메타데이터용) |
응답 구조 이해하기
API는 다음과 같은 구조로 응답합니다:
주요 필드 설명
1. Bodies (행성 위치)
각 행성은 다음 정보를 포함합니다:
longitude: 황도 경도 (0-360도)sign: 별자리 (Aries, Taurus, Gemini 등)house: 위치한 하우스 번호 (1-12)retrograde: 역행 여부 (true/false)speed: 이동 속도 (도/일)
2. Angles (앵글 포인트)
asc: Ascendant (상승점) - 1하우스 시작점mc: Midheaven (천정) - 10하우스 시작점dsc: Descendant (하강점) - 7하우스 시작점ic: Imum Coeli (천저) - 4하우스 시작점
3. Houses (하우스)
각 하우스는 cusp(시작점) 위도와 그 하우스에 있는 행성 목록을 포함합니다.
4. Aspects (애스펙트)
행성 간 중요한 각도 관계를 나타냅니다:
Conjunction(합): 0도 - 강한 결합Sextile(육분): 60도 - 조화로운 기회Square(사분): 90도 - 긴장과 도전Trine(삼분): 120도 - 자연스러운 조화Opposition(충): 180도 - 균형과 대립
차트 해석하기
기본 해석 예제
응답 데이터를 활용한 기본 해석 코드입니다:
// 태양의 위치 해석
const sun = data.data.bodies.sun;
console.log(`태양: ${sun.sign} ${sun.house}하우스`);
// 출력: "태양: Gemini 6하우스"
// 주요 애스펙트 찾기
const aspects = data.data.aspects;
const sunAspects = aspects.filter(a =>
a.body1 === 'sun' || a.body2 === 'sun'
);
console.log('태양의 애스펙트:', sunAspects);
// Ascendant (상승점) 확인
const asc = data.data.angles.asc;
console.log(`상승궁: ${asc.sign} ${asc.dms}`);해석 팁
💡 태양 (Sun)
핵심 자아와 의식을 나타냅니다. 태양의 별자리는 "나는 ~이다"의 본질을 보여주고, 하우스는 "어디서 빛나는가"를 나타냅니다.
🌙 달 (Moon)
감정, 본능, 무의식을 상징합니다. 달의 위치는 정서적 욕구와 편안함을 느끼는 방식을 보여줍니다.
⬆️ Ascendant (상승궁)
외부에 보이는 모습과 첫인상을 나타냅니다. "나를 어떻게 표현하는가"의 방식을 보여줍니다.
하우스 시스템
API는 다양한 하우스 시스템을 지원합니다:
| 시스템 | 코드 | 특징 |
|---|---|---|
| Placidus | PLACIDUS | 가장 널리 사용되는 시스템 (시간 기반) |
| Whole Sign | WHOLE_SIGN | 고대 점성술의 전통적 방식 |
| Koch | KOCH | 출생지 기반 계산 |
| Equal | EQUAL | ASC에서 30도씩 균등 분할 |
| Campanus | CAMPANUS | 공간 기반 분할 |
실전 예제
예제 1: 주요 행성 요약
function summarizePlanets(chartData) {
const bodies = chartData.data.bodies;
const summary = {
sun: `${bodies.sun.sign} ${bodies.sun.house}하우스`,
moon: `${bodies.moon.sign} ${bodies.moon.house}하우스`,
mercury: `${bodies.mercury.sign} ${bodies.mercury.house}하우스`,
venus: `${bodies.venus.sign} ${bodies.venus.house}하우스`,
mars: `${bodies.mars.sign} ${bodies.mars.house}하우스`,
};
console.log('=== 주요 행성 위치 ===');
console.log('태양:', summary.sun);
console.log('달:', summary.moon);
console.log('수성:', summary.mercury);
console.log('금성:', summary.venus);
console.log('화성:', summary.mars);
return summary;
}예제 2: 역행 행성 찾기
function findRetrogradePlanets(chartData) {
const bodies = chartData.data.bodies;
const retrograde = [];
for (const [planet, data] of Object.entries(bodies)) {
if (data.retrograde) {
retrograde.push({
planet: planet,
sign: data.sign,
house: data.house
});
}
}
console.log('역행 행성:', retrograde);
return retrograde;
}예제 3: 강력한 애스펙트 찾기
function findStrongAspects(chartData) {
const aspects = chartData.data.aspects;
// Orb가 1도 이하인 타이트한 애스펙트 찾기
const tightAspects = aspects.filter(a => a.orb < 1.0);
console.log('=== 강력한 애스펙트 (Orb < 1°) ===');
tightAspects.forEach(aspect => {
console.log(
`${aspect.body1} ${aspect.aspect_type} ${aspect.body2} (Orb: ${aspect.orb.toFixed(2)}°)`
);
});
return tightAspects;
}고급 주제
디그니티 (Dignities) 활용
행성의 본질적 품위는 행성이 얼마나 "강한" 상태인지를 나타냅니다:
- Domicile (지배): 행성이 자신의 집에 있음 (가장 강함)
- Exaltation (고양): 행성이 고양되는 위치 (매우 강함)
- Detriment (쇠약): Domicile의 반대편 (약함)
- Fall (추락): Exaltation의 반대편 (가장 약함)
- Peregrine (방랑): 어떤 품위도 없음 (중립)
// 디그니티 점수로 행성 강도 평가
const dignities = chartData.data.dignities;
const sunStrength = dignities.sun.lilly_score;
if (sunStrength >= 4) {
console.log('태양이 매우 강한 위치에 있습니다.');
} else if (sunStrength <= -2) {
console.log('태양이 약한 위치에 있습니다.');
}모범 사례
✅ 정확한 시간 입력
출생 시간은 분 단위까지 정확해야 합니다. 특히 Ascendant와 하우스는 시간에 매우 민감합니다.
✅ 타임존 확인
과거 출생의 경우 일광절약시간(DST) 적용 여부를 확인하세요. IANA 타임존을 사용하면 자동으로 처리됩니다.
✅ 하우스 시스템 일관성
같은 분석 내에서는 동일한 하우스 시스템을 사용하세요. 시스템이 바뀌면 해석도 달라질 수 있습니다.
✅ 에러 처리
유효하지 않은 날짜나 위치에 대한 에러 처리를 구현하세요. 사용자 입력 검증이 중요합니다.
다음 단계
출생 차트 API를 마스터했다면, 다음 기능들을 살펴보세요: