Salta ai contenuti
AstroWay/api v2.254.12 · it
tutti i sistemi sono operativi

Immagini delle carte SVG

/v1/render/* restituisce una carta come SVG pronto: ruota natale, bi- e tri-ruota, composito, carte vediche (nord, sud, est), griglia degli aspetti, cosmogramma, fase lunare, timeline, bioritmi, fascia di eclissi e carta stellare. Tu invii i dati di nascita, noi calcoliamo la carta e la disegniamo. L’elenco completo dei percorsi e dei parametri è nel riferimento API.

Lo stesso codice di disegno è pubblicato come pacchetto npm @astroway/render: se hai già i dati della carta, la ruota può essere disegnata nel browser o sul tuo server, e corrisponderà byte per byte a ciò che l’API restituisce. L’API restituisce la versione del disegno nell’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" restituisce il file stesso, il json tipico avvolge la stringa SVG in una normale risposta API. Temi: light, dark, console e css.

Con theme: "css" ogni colore nell’SVG è scritto come variabile CSS con il colore del tema chiaro come fallback, ad esempio var(--aw-ring, #222). Inserisci l’SVG nell’HTML della pagina (non in <img>: lì le variabili non passano) e imposta le variabili:

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

Senza alcuna variabile, la carta appare esattamente come light. La regola CSS della tua pagina è più forte della variabile, quindi un singolo elemento può essere ricolorato con una classe.

VariabileCosa colora
--aw-chart-bgsfondo della carta
--aw-fg, --aw-mutedglifi e etichette, testo secondario e tacche
--aw-ringcerchi e linee della griglia
--aw-houses-fillcampo della carta vedica, disco della carta stellare, mappa dell’eclissi
--aw-beneficpianeti del cerchio esterno, lagna nella carta vedica, eventi della timeline senza un colore proprio
--aw-maleficsegno di retrogradazione ℞, fascia di eclissi
--aw-aspect-harmonious, --aw-aspect-tense, --aw-aspect-neutral, --aw-aspect-minor, --aw-aspect-quintilelinee e simboli degli aspetti
--aw-moon-shadow, --aw-moon-lightfase lunare
--aw-cycle-physical, --aw-cycle-emotional, --aw-cycle-intellectualbioritmi

Nel tema css le ruote occidentali (wheel-western, bi-wheel, tri-wheel, composite) e la griglia degli aspetti hanno classi fisse. I nomi vengono solo aggiunti, mai rinominati, quindi puoi scrivere stili e script su di essi.

  • Ruota: aw-bg, aw-ring, aw-sign aw-sign-leo, aw-sign-line, aw-tick, aw-house-cusp, aw-house-number, assi aw-axis aw-asc (aw-dsc, aw-mc, aw-ic), le loro etichette aw-label aw-axis-label, titolo aw-title.
  • Pianeta: gruppo <g class="aw-planet aw-planet-sun">, retrogrado ha anche aw-retrograde, pianeti del cerchio esterno aw-layer-1. All’interno aw-glyph, aw-retro (segno ℞) e aw-planet-tick.
  • Aspetto: linea aw-aspect aw-aspect-trine, linea tra due carte anche aw-cross-aspect.
  • Griglia degli aspetti: aw-grid-header, aw-grid-cell, aw-aspect aw-aspect-square, aw-orb.

Il gruppo del pianeta ha data-planet (sun, north-node, lilith; sul cerchio esterno b-sun, sul terzo c-sun) e data-label con nome e posizione: Mercury 8°00' Taurus, retrograde. La linea dell’aspetto e la cella della griglia hanno data-a e data-b. Così vengono evidenziati tutti gli aspetti del pianeta al passaggio del mouse:

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));
}));

Le ruote occidentali accettano options.labels: le tue parole per le etichette degli assi, per <title> e <desc>, che vengono lette dagli screen reader, e per i nomi in data-label. Le chiavi mancanti rimangono in inglese; noi stessi non traduciamo nulla.

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

bodies ha chiavi in inglese (Sun, North Node), signs sono esattamente dodici nomi, a partire dall’Ariete, ogni etichetta fino a 40 caratteri.

/v1/render/bi-wheel con options.crossAspects: true disegna con un tratteggio gli aspetti tra la carta interna e quella esterna, lo stesso set che POST /v1/synastry restituisce come crossAspects. Una coppia in cui uno dei corpi non è disegnato viene saltata. Disabilitato di default.

Se hai già la carta, perché hai appena chiamato POST /v1/chart, invia i suoi data nel campo chart invece dei dati di nascita, e noi la disegneremo soltanto. Così funzionano wheel-western, aspect-grid e bi-wheel (lì natal.chart e outer.chart, entrambi devono essere carte pronte). L’immagine risulterà byte per byte la stessa che con i dati di nascita.

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

I campi extra della risposta possono non essere tagliati. Viene controllato ciò che viene disegnato: da 1 a 30 corpi, longitudini da 0 a 360, esattamente 12 cuspidi. Un corpo che ha sia chart che i dati di nascita viene rifiutato con 400.

La chiamata a /v1/render/* con i dati di nascita costa 10 crediti, perché la carta viene calcolata. Con una carta chart pronta, le chiamate a /v1/render/wheel-western, /v1/render/aspect-grid e /v1/render/bi-wheel costano 1 credito. Tema, classi ed etichette non influiscono sul prezzo.

Utile?
Suggerisci modifica

Ultimo aggiornamento: