Skip to content

合盘与复合盘

比较两张本命盘进行关系分析。

合盘

计算两张星盘之间的相位:

bash
curl -X POST "https://api.astroapi.cloud/api/calc/synastry" \
  -H "X-Api-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "dateTime1": "1990-06-15T14:30",
    "location1": {
      "latitude": 51.5074,
      "longitude": -0.1278,
      "timezone": "Europe/London"
    },
    "dateTime2": "1988-03-22T09:15",
    "location2": {
      "latitude": 48.8566,
      "longitude": 2.3522,
      "timezone": "Europe/Paris"
    }
  }'
javascript
const response = await fetch("https://api.astroapi.cloud/api/calc/synastry", {
    method: "POST",
    headers: {
        "X-Api-Key": "your-api-key",
        "Content-Type": "application/json"
    },
    body: JSON.stringify({
        dateTime1: "1990-06-15T14:30",
        location1: {
            latitude: 51.5074,
            longitude: -0.1278,
            timezone: "Europe/London"
        },
        dateTime2: "1988-03-22T09:15",
        location2: {
            latitude: 48.8566,
            longitude: 2.3522,
            timezone: "Europe/Paris"
        }
    })
});

const data = await response.json();
console.log(JSON.stringify(data, null, 2));
python
import requests

response = requests.post(
    "https://api.astroapi.cloud/api/calc/synastry",
    headers={
        "X-Api-Key": "your-api-key",
        "Content-Type": "application/json"
    },
    json={
        "dateTime1": "1990-06-15T14:30",
        "location1": {
            "latitude": 51.5074,
            "longitude": -0.1278,
            "timezone": "Europe/London"
        },
        "dateTime2": "1988-03-22T09:15",
        "location2": {
            "latitude": 48.8566,
            "longitude": 2.3522,
            "timezone": "Europe/Paris"
        }
    }
)

print(response.json())

响应

响应包含双向的星盘间相位,以及星盘 URL:

json
{
  "data": {
    "aspects1to2": [
      {
        "pointA": "sun",
        "pointB": "moon",
        "aspect": "trine",
        "angle": 117.7,
        "orb": 2.3,
        "applying": true
      }
    ],
    "aspects2to1": [
      {
        "pointA": "venus",
        "pointB": "mars",
        "aspect": "conjunction",
        "angle": 1.4,
        "orb": 1.4,
        "applying": false
      }
    ],
    "charts": {
      "synastry": {
        "title": "Synastry Chart (Bi-wheel)",
        "description": "Person 1 (inner) + Person 2 (outer)",
        "url": "https://api.astroapi.cloud/api/chart2/natal.svg?..."
      },
      "person1": { "title": "Person 1 Natal", "description": "1990-06-15T14:30", "url": "..." },
      "person2": { "title": "Person 2 Natal", "description": "1988-03-22T09:15", "url": "..." }
    }
  }
}
  • aspects1to2 — 从第一人的星体(pointA)到第二人星体(pointB)的相位。
  • aspects2to1 — 反方向的相同内容。
  • orb 是与精确相位角度的偏差;当相位正在逼近时,applyingtrue

行星位置

合盘只返回星盘间的相位,不包含两张原始星盘。如果还需要每个人的黄经、宫位和四轴,请对 /api/calc/natal 每人调用一次。

复合盘

生成复合(中点)盘:

bash
curl -X POST "https://api.astroapi.cloud/api/calc/composite" \
  -H "X-Api-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "dateTime1": "1990-06-15T14:30",
    "location1": {
      "latitude": 51.5074,
      "longitude": -0.1278,
      "timezone": "Europe/London"
    },
    "dateTime2": "1988-03-22T09:15",
    "location2": {
      "latitude": 48.8566,
      "longitude": 2.3522,
      "timezone": "Europe/Paris"
    },
    "compositeLocation": {
      "latitude": 50.1234,
      "longitude": 1.5678
    }
  }'
javascript
const response = await fetch("https://api.astroapi.cloud/api/calc/composite", {
    method: "POST",
    headers: {
        "X-Api-Key": "your-api-key",
        "Content-Type": "application/json"
    },
    body: JSON.stringify({
        dateTime1: "1990-06-15T14:30",
        location1: {
            latitude: 51.5074,
            longitude: -0.1278,
            timezone: "Europe/London"
        },
        dateTime2: "1988-03-22T09:15",
        location2: {
            latitude: 48.8566,
            longitude: 2.3522,
            timezone: "Europe/Paris"
        },
        compositeLocation: {
            latitude: 50.1234,
            longitude: 1.5678
        }
    })
});

const data = await response.json();
console.log(JSON.stringify(data, null, 2));
python
import requests

response = requests.post(
    "https://api.astroapi.cloud/api/calc/composite",
    headers={
        "X-Api-Key": "your-api-key",
        "Content-Type": "application/json"
    },
    json={
        "dateTime1": "1990-06-15T14:30",
        "location1": {
            "latitude": 51.5074,
            "longitude": -0.1278,
            "timezone": "Europe/London"
        },
        "dateTime2": "1988-03-22T09:15",
        "location2": {
            "latitude": 48.8566,
            "longitude": 2.3522,
            "timezone": "Europe/Paris"
        },
        "compositeLocation": {
            "latitude": 50.1234,
            "longitude": 1.5678
        }
    }
)

print(response.json())

戴维森盘

计算戴维森关系盘(时空中点):

bash
curl -X POST "https://api.astroapi.cloud/api/calc/davison" \
  -H "X-Api-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "chart1": { ... },
    "chart2": { ... }
  }'

相位评分

根据合盘相位获取相容性评分:

bash
curl -X POST "https://api.astroapi.cloud/api/calc/synastry/score" \
  -H "X-Api-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "chart1": { ... },
    "chart2": { ... },
    "weights": {
      "sun": 10,
      "moon": 10,
      "venus": 8,
      "mars": 7
    }
  }'

AstroAPI Documentation