Визуализация карт
Создавайте красивые изображения карт в форматах SVG и PNG.
SVG-карты
Создание натальной карты в формате SVG с помощью параметров запроса:
bash
curl -X GET "https://api.astroapi.cloud/api/chart/image.svg?width=800&height=800&dateTime=1990-06-15T14:30&location.longitude=-0.1278&location.latitude=51.5074&location.timezone=Europe/London" \
-H "X-Api-Key: your-api-key"PNG-карты
Конвертация в формат PNG:
bash
curl -X GET "https://api.astroapi.cloud/api/chart/image.png?width=800&height=800&dateTime=1990-06-15T14:30&location.longitude=-0.1278&location.latitude=51.5074&location.timezone=Europe/London" \
-H "X-Api-Key: your-api-key" \
--output chart.pngТипы карт
| Эндпоинт | Описание |
|---|---|
/api/chart/image.svg | Натальная карта в формате SVG |
/api/chart/image.png | Натальная карта в формате PNG |
/api/chart/image.svg с параметрами transit.* | Транзитная двойная карта (bi-wheel) |
/api/chart/composite.svg | Композитная карта (средние точки) |
/api/chart/composite.png | Композитная карта в формате PNG |
Транзитная двойная карта (Bi-wheel)
Добавьте параметры транзита для отображения двойной карты с натальной (внутренней) и транзитной (внешней) колесом:
bash
curl -X GET "https://api.astroapi.cloud/api/chart/image.svg?width=800&height=800&dateTime=1990-06-15T14:30&location.longitude=-0.1278&location.latitude=51.5074&location.timezone=Europe/London&transit.dateTime=2024-01-15T12:00&transit.timezone=Europe/London" \
-H "X-Api-Key: your-api-key"Параметры транзита
| Параметр | Обязателен | Описание |
|---|---|---|
transit.dateTime | Да | Дата/время транзита (YYYY-MM-DDTHH:mm) |
transit.timezone | Да | Часовой пояс транзита |
transit.longitude | Нет | Долгота места транзита (по умолчанию: натальная) |
transit.latitude | Нет | Широта места транзита (по умолчанию: натальная) |
Композитная карта
Создание композитной карты, показывающей средние точки двух натальных карт:
bash
curl -X GET "https://api.astroapi.cloud/api/chart/composite.svg?width=800&height=800&person1.dateTime=1990-06-15T14:30&person1.timezone=Europe/London&person1.longitude=-0.1278&person1.latitude=51.5074&person2.dateTime=1988-03-22T09:15&person2.timezone=Europe/Paris&person2.longitude=2.3522&person2.latitude=48.8566" \
-H "X-Api-Key: your-api-key"Параметры запроса
Параметры натальной карты
| Параметр | Обязателен | Описание |
|---|---|---|
width | Да | Ширина карты в пикселях |
height | Да | Высота карты в пикселях |
dateTime | Да | Дата/время рождения (YYYY-MM-DDTHH:mm) |
location.longitude | Да | Долгота места рождения |
location.latitude | Да | Широта места рождения |
location.timezone | Да | Часовой пояс места рождения (формат IANA) |
Параметры композитной карты
| Параметр | Обязателен | Описание |
|---|---|---|
width | Да | Ширина карты в пикселях |
height | Да | Высота карты в пикселях |
person1.dateTime | Да | Дата/время рождения человека 1 |
person1.timezone | Да | Часовой пояс человека 1 |
person1.longitude | Да | Долгота человека 1 |
person1.latitude | Да | Широта человека 1 |
person2.dateTime | Да | Дата/время рождения человека 2 |
person2.timezone | Да | Часовой пояс человека 2 |
person2.longitude | Да | Долгота человека 2 |
person2.latitude | Да | Широта человека 2 |
Заголовки ответа
Эндпоинты карт возвращают соответствующие типы контента:
- SVG:
image/svg+xml - PNG:
image/png
Встраивание карт
Используйте возвращаемый SVG напрямую в HTML:
html
<div class="chart-container">
<!-- SVG-контент из API -->
</div>Или используйте как источник изображения с data URL:
html
<img src="data:image/svg+xml;base64,..." alt="Natal Chart" />Chart2 — карты следующего поколения
AstroAPI предлагает движок визуализации карт следующего поколения с поддержкой тем и анимаций.
Эндпоинты
| Эндпоинт | Описание | Необходимый модуль |
|---|---|---|
/api/chart2/natal.svg | Натальная карта (SVG) | module:natal-calc |
/api/chart2/natal.png | Натальная карта (PNG) | module:natal-calc |
/api/chart2/transit.svg | Транзитная двойная карта (SVG) | module:transit-calc |
/api/chart2/transit.png | Транзитная двойная карта (PNG) | module:transit-calc |
/api/chart2/synastry.svg | Синастрическая карта (SVG) | module:synastry-calc |
/api/chart2/synastry.png | Синастрическая карта (PNG) | module:synastry-calc |
/api/chart2/composite.svg | Композитная карта (SVG) | module:synastry-calc |
/api/chart2/composite.png | Композитная карта (PNG) | module:synastry-calc |
/api/chart2/animated-transit.svg | Анимированный транзит (SVG) | module:transit-calc |
Базовое использование
bash
curl -X GET "https://api.astroapi.cloud/api/chart2/natal.svg?width=800&height=800&dateTime=1990-06-15T14:30&location.longitude=4.89&location.latitude=52.37&location.timezone=Europe/Amsterdam&theme=dark" \
-H "X-Api-Key: your-api-key"Предустановленные темы
| Тема | Описание |
|---|---|
default | Классический белый фон с цветными элементами |
classic | Традиционный астрологический вид |
dark | Современная тёмная тема с яркими цветами |
minimal | Чистый, минималистичный вид |
colorful | Яркие цвета планет |
nextgen | Современная тема с изогнутыми линиями аспектов, эффектами свечения и градиентами |
vintage | Стиль старого пергамента/рукописи с оттенками сепии |
neon | Киберпанк с яркими неоновыми цветами на чёрном фоне |
pastel | Мягкие, успокаивающие пастельные цвета |
print | Высококонтрастный чёрно-белый, оптимизирован для печати |
Переопределение темы
Настройка отдельных свойств темы через параметры запроса:
| Параметр | Описание |
|---|---|
theme.background | Цвет фона (hex) |
theme.foreground | Цвет переднего плана (hex) |
theme.strokeOnly | Режим только обводки (true/false) |
theme.symbolScale | Масштаб символов |
theme.showDegrees | Показывать метки градусов (true/false) |
theme.showHouseNumbers | Показывать номера домов (true/false) |
theme.showRuler | Показывать правитель (true/false) |
theme.signBackgroundOpacity | Прозрачность фона знаков (0–1) |
Карты синастрии и композита
bash
curl -X GET "https://api.astroapi.cloud/api/chart2/synastry.svg?width=800&height=800&person1.dateTime=1990-06-15T14:30&person1.timezone=Europe/Amsterdam&person1.longitude=4.89&person1.latitude=52.37&person2.dateTime=1992-03-20T09:15&person2.timezone=Europe/London&person2.longitude=-0.12&person2.latitude=51.50" \
-H "X-Api-Key: your-api-key"Анимированный транзит
Создание анимированного SVG, показывающего прогрессию транзита во времени:
bash
curl -X GET "https://api.astroapi.cloud/api/chart2/animated-transit.svg?width=800&height=800&dateTime=1990-06-15T14:30&location.longitude=4.89&location.latitude=52.37&location.timezone=Europe/Amsterdam&transit.dateTime=2025-01-01T12:00&transit.timezone=Europe/Amsterdam&target.dateTime=2025-12-31T23:59&animation.duration=3000" \
-H "X-Api-Key: your-api-key"| Параметр | Описание |
|---|---|
target.dateTime | Конечная дата анимации |
animation.duration | Продолжительность анимации в миллисекундах |
animation.easing | Функция плавности (по умолчанию: easeInOut) |
animation.loop | Зациклить анимацию (по умолчанию: false) |