Μετάβαση στο περιεχόμενο
AstroWay/api v2.254.12 · el
όλες οι υπηρεσίες λειτουργούν κανονικά

SVG-εικόνες χαρτών

Το /v1/render/* επιστρέφει έναν χάρτη ως έτοιμο SVG: τροχό γέννησης, διπλό και τριπλό τροχό, σύνθετο, βεδικούς χάρτες (βόρειο, νότιο, ανατολικό), πλέγμα όψεων, κοσμόγραμμα, φάση Σελήνης, χρονοδιάγραμμα, βιορυθμούς, ζώνη έκλειψης και αστρικό χάρτη. Εσύ στέλνεις τα δεδομένα γέννησης, εμείς υπολογίζουμε τον χάρτη και τον σχεδιάζουμε. Πλήρης λίστα διαδρομών και παραμέτρων στο εγχειρίδιο API.

Ο ίδιος κώδικας σχεδίασης έχει δημοσιευτεί ως πακέτο npm @astroway/render: αν έχεις ήδη τα δεδομένα του χάρτη, ο τροχός μπορεί να σχεδιαστεί στον browser ή στον δικό σου server, και θα είναι πανομοιότυπος με αυτόν που επιστρέφει το API, byte προς byte. Η έκδοση σχεδίασης του API επιστρέφεται στην κεφαλίδα 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" επιστρέφει το ίδιο το αρχείο, το προεπιλεγμένο json τυλίγει τη συμβολοσειρά SVG σε μια τυπική απάντηση API. Θέματα: light, dark, console και css.

Με το theme: "css", κάθε χρώμα στο SVG καταγράφεται ως μεταβλητή CSS με το χρώμα του φωτεινού θέματος ως εφεδρικό, για παράδειγμα var(--aw-ring, #222). Εισήγαγε το SVG στο HTML της σελίδας (όχι σε <img>: οι μεταβλητές δεν περνούν εκεί) και όρισε τις μεταβλητές:

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

Χωρίς καμία μεταβλητή, ο χάρτης μοιάζει ακριβώς με το light. Ο κανόνας CSS της σελίδας σου είναι ισχυρότερος από τη μεταβλητή, οπότε ένα μεμονωμένο στοιχείο μπορεί να επαναχρωματιστεί με μια κλάση.

ΜεταβλητήΤι χρωματίζει
--aw-chart-bgφόντο χάρτη
--aw-fg, --aw-mutedγλύφους και ετικέτες, δευτερεύον κείμενο και διαχωριστικά
--aw-ringκύκλους και γραμμές πλέγματος
--aw-houses-fillπεδίο βεδικού χάρτη, δίσκο αστρικού χάρτη, χάρτη έκλειψης
--aw-beneficπλανήτες εξωτερικού κύκλου, λάγνα σε βεδικό χάρτη, γεγονότα χρονοδιαγράμματος χωρίς δικό τους χρώμα
--aw-maleficσύμβολο αναδρομής ℞, ζώνη έκλειψης
--aw-aspect-harmonious, --aw-aspect-tense, --aw-aspect-neutral, --aw-aspect-minor, --aw-aspect-quintileγραμμές και σύμβολα όψεων
--aw-moon-shadow, --aw-moon-lightφάση Σελήνης
--aw-cycle-physical, --aw-cycle-emotional, --aw-cycle-intellectualβιορυθμούς

Στο θέμα css, οι δυτικοί τροχοί (wheel-western, bi-wheel, tri-wheel, composite) και το πλέγμα όψεων έχουν σταθερές κλάσεις. Τα ονόματα μόνο προστίθενται, ποτέ δεν μετονομάζονται, οπότε μπορείς να γράψεις στυλ και scripts πάνω τους.

  • Τροχός: aw-bg, aw-ring, aw-sign aw-sign-leo, aw-sign-line, aw-tick, aw-house-cusp, aw-house-number, άξονες aw-axis aw-asc (aw-dsc, aw-mc, aw-ic), οι ετικέτες τους aw-label aw-axis-label, τίτλος aw-title.
  • Πλανήτης: ομάδα <g class="aw-planet aw-planet-sun">, ο ανάδρομος έχει επιπλέον aw-retrograde, οι πλανήτες του εξωτερικού κύκλου aw-layer-1. Εσωτερικά aw-glyph, aw-retro (σύμβολο ℞) και aw-planet-tick.
  • Όψη: γραμμή aw-aspect aw-aspect-trine, γραμμή μεταξύ δύο χαρτών επιπλέον aw-cross-aspect.
  • Πλέγμα όψεων: aw-grid-header, aw-grid-cell, aw-aspect aw-aspect-square, aw-orb.

Η ομάδα του πλανήτη έχει data-planet (sun, north-node, lilith· στον εξωτερικό κύκλο b-sun, στον τρίτο c-sun) και data-label με το όνομα και τη θέση: Mercury 8°00' Taurus, retrograde. Η γραμμή όψης και το κελί του πλέγματος έχουν data-a και data-b. Έτσι επισημαίνονται όλες οι όψεις του πλανήτη κατά την επικάλυψη:

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

Οι δυτικοί τροχοί δέχονται options.labels: τις δικές σου λέξεις για τις ετικέτες των αξόνων, για τα <title> και <desc>, τα οποία διαβάζουν οι αναγνώστες οθόνης, και για τα ονόματα στο data-label. Τα κλειδιά που λείπουν παραμένουν στα αγγλικά· εμείς οι ίδιοι δεν μεταφράζουμε τίποτα.

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

Το bodies έχει κλειδιά στα αγγλικά (Sun, North Node), το signs είναι ακριβώς δώδεκα ονόματα, ξεκινώντας από τον Κριό, κάθε ετικέτα έως 40 χαρακτήρες.

Το /v1/render/bi-wheel με options.crossAspects: true σχεδιάζει με διακεκομμένη γραμμή τις όψεις μεταξύ του εσωτερικού και του εξωτερικού χάρτη, το ίδιο σύνολο που επιστρέφει το POST /v1/synastry ως crossAspects. Ένα ζεύγος όπου ένα από τα σώματα δεν έχει σχεδιαστεί παραλείπεται. Προεπιλεγμένα απενεργοποιημένο.

Έτοιμος χάρτης αντί δεδομένων γέννησης

Ενότητα με τίτλο «Έτοιμος χάρτης αντί δεδομένων γέννησης»

Αν έχεις ήδη τον χάρτη, επειδή μόλις κάλεσες το POST /v1/chart, στείλε τα data του στο πεδίο chart αντί για τα δεδομένα γέννησης, και εμείς απλώς θα τον σχεδιάσουμε. Έτσι λειτουργούν τα wheel-western, aspect-grid και bi-wheel (εκεί natal.chart και outer.chart, και οι δύο πρέπει να είναι έτοιμοι χάρτες). Η εικόνα θα είναι byte προς byte ίδια με αυτή που προκύπτει από τα δεδομένα γέννησης.

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

Τα επιπλέον πεδία της απάντησης δεν χρειάζεται να αφαιρεθούν. Ελέγχεται αυτό που σχεδιάζεται: από 1 έως 30 σώματα, γεωγραφικά μήκη από 0 έως 360, ακριβώς 12 ακμές οίκων. Ένα σώμα όπου υπάρχουν και chart και δεδομένα γέννησης απορρίπτεται με 400.

Η κλήση /v1/render/* με δεδομένα γέννησης κοστίζει 10 credits, επειδή ο χάρτης υπολογίζεται. Με έναν έτοιμο χάρτη chart, οι κλήσεις /v1/render/wheel-western, /v1/render/aspect-grid και /v1/render/bi-wheel κοστίζουν 1 credit. Το θέμα, οι κλάσεις και οι ετικέτες δεν επηρεάζουν την τιμή.

Χρήσιμο;
Προτείνετε διόρθωση

Τελευταία ενημέρωση: