Ga naar inhoud
AstroWay/api v2.254.12 · nl
alle systemen normaal

SVG-afbeeldingen van horoscopen

/v1/render/* geeft de kaart terug als kant-en-klare SVG: nataal wiel, bi- en tri-wiel, composiet, vedische kaarten (noordelijk, zuidelijk, oostelijk), aspectenraster, cosmogram, maanfase, tijdlijn, bioritmes, verduisteringsstrook en sterrenkaart. Jij stuurt de geboortegegevens, wij berekenen de kaart en tekenen hem. De volledige lijst van routes en parameters vind je in de API-referentie.

Dezelfde tekencode is gepubliceerd als npm-pakket @astroway/render: als je de kaartgegevens al hebt, kun je het wiel in de browser of op je eigen server tekenen, en het zal byte voor byte overeenkomen met wat de API teruggeeft. De renderversie van de API staat in de header X-Render-Version.

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

format: "svg" geeft het bestand zelf terug, de standaard json verpakt de SVG-string in een gewone API-respons. Thema’s: light, dark, console en css.

Met theme: "css" wordt elke kleur in de SVG geschreven als CSS-variabele met de kleur van het lichte thema als fallback, bijvoorbeeld var(--aw-ring, #222). Plaats de SVG inline in de HTML van je pagina (niet in een <img>: daar komen variabelen niet doorheen) en stel de variabelen in:

.chart {
--aw-chart-bg: transparent;
--aw-ring: #444;
--aw-fg: currentColor;
--aw-aspect-tense: crimson;
}

Zonder enige variabele ziet de kaart er precies uit als light. Een CSS-regel van je pagina is sterker dan de variabele, dus een afzonderlijk element kun je met een klasse hertekenen.

VariabeleWat het kleurt
--aw-chart-bgachtergrond van de kaart
--aw-fg, --aw-mutedgliefen en labels, secundaire tekst en streepjes
--aw-ringcirkels en rasterlijnen
--aw-houses-fillveld van de vedische kaart, schijf van de sterrenkaart, verduisteringskaart
--aw-beneficplaneten van het buitenste wiel, lagna in de vedische kaart, tijdlijnevents zonder eigen kleur
--aw-maleficretrograde-teken ℞, verduisteringsstrook
--aw-aspect-harmonious, --aw-aspect-tense, --aw-aspect-neutral, --aw-aspect-minor, --aw-aspect-quintilelijnen en symbolen van aspecten
--aw-moon-shadow, --aw-moon-lightmaanfase
--aw-cycle-physical, --aw-cycle-emotional, --aw-cycle-intellectualbioritmes

In het thema css hebben de westerse wielen (wheel-western, bi-wheel, tri-wheel, composite) en het aspectenraster stabiele klassen. Namen worden alleen toegevoegd, nooit hernoemd, dus je kunt er stijlen en scripts op schrijven.

  • Wiel: aw-bg, aw-ring, aw-sign aw-sign-leo, aw-sign-line, aw-tick, aw-house-cusp, aw-house-number, assen aw-axis aw-asc (aw-dsc, aw-mc, aw-ic), hun labels aw-label aw-axis-label, titel aw-title.
  • Planeet: groep <g class="aw-planet aw-planet-sun">, een retrograde heeft ook aw-retrograde, planeten van het buitenste wiel aw-layer-1. Binnenin aw-glyph, aw-retro (het teken ℞) en aw-planet-tick.
  • Aspect: lijn aw-aspect aw-aspect-trine, een lijn tussen twee kaarten ook aw-cross-aspect.
  • Aspectenraster: aw-grid-header, aw-grid-cell, aw-aspect aw-aspect-square, aw-orb.

De planeetgroep heeft data-planet (sun, north-node, lilith; op het buitenste wiel b-sun, op het derde c-sun) en data-label met naam en positie: Mercury 8°00' Taurus, retrograde. De aspectlijn en de rastercel hebben data-a en data-b. Zo licht je bij hover alle aspecten van een planeet uit:

svg.querySelectorAll('.aw-planet').forEach((g) => g.addEventListener('mouseenter', () => {
const id = g.dataset.planet;
svg.querySelectorAll('.aw-aspect').forEach((line) =>
line.classList.toggle('is-on', line.dataset.a === id || line.dataset.b === id));
}));

Westerse wielen accepteren options.labels: jouw woorden voor de aslabels, voor <title> en <desc> die schermlezers voorlezen, en voor de namen in data-label. Sleutels die ontbreken blijven Engels; wij vertalen zelf niets.

"options": {
"theme": "css",
"labels": {
"asc": "Асц", "mc": "МС", "title": "Натальна карта",
"bodies": { "Sun": "Сонце", "Moon": "Місяць" },
"signs": ["Овен","Телець","Близнюки","Рак","Лев","Діва","Терези","Скорпіон","Стрілець","Козеріг","Водолій","Риби"],
"retrograde": "ретроградний"
}
}

bodies heeft Engelse sleutels (Sun, North Node), signs is precies twaalf namen, beginnend bij Ram, elk label maximaal 40 tekens.

/v1/render/bi-wheel met options.crossAspects: true tekent met stippellijnen de aspecten tussen de binnenste en buitenste kaart, dezelfde set die POST /v1/synastry teruggeeft als crossAspects. Een paar waarvan een van de lichamen niet getekend is, wordt overgeslagen. Standaard uitgeschakeld.

Kant-en-klare kaart in plaats van geboortegegevens

Section titled “Kant-en-klare kaart in plaats van geboortegegevens”

Als je de kaart al hebt, omdat je zojuist POST /v1/chart hebt aangeroepen, stuur dan de data ervan in het veld chart in plaats van geboortegegevens, en wij tekenen hem alleen. Zo werken wheel-western, aspect-grid en bi-wheel (daar natal.chart en outer.chart, beide moeten kant-en-klare kaarten zijn). De afbeelding komt byte voor byte hetzelfde uit als met geboortegegevens.

{ "chart": { "planets": [ ... ], "houses": { "cusps": [ ... ], "ascendant": 7.77, "mc": 277.12 }, "aspects": [ ... ] },
"options": { "theme": "css" } }

Overbodige velden van de respons hoef je niet weg te knippen. Gecontroleerd wordt wat getekend wordt: 1 tot 30 lichamen, lengtes van 0 tot 360, precies 12 cuspen. Een body met zowel chart als geboortegegevens wordt afgewezen met een 400.

Een aanroep van /v1/render/* met geboortegegevens kost 10 credits, omdat de kaart berekend wordt. Met een kant-en-klare kaart chart kosten aanroepen van /v1/render/wheel-western, /v1/render/aspect-grid en /v1/render/bi-wheel 1 credit. Thema, klassen en labels hebben geen invloed op de prijs.

Nuttig?
Wijziging voorstellen

Laatst bewerkt: