SVG-मानचित्र चित्रण
/v1/render/* एक तैयार SVG के रूप में चार्ट लौटाता है: नेटल व्हील, बाय- और ट्राइ-व्हील, कॉम्पोजिट, वैदिक चार्ट (नॉर्थ, साउथ, ईस्ट), एस्पेक्ट ग्रिड, कॉसमोग्राम, चंद्रमा का चरण, टाइमलाइन, बायोरिदम, इकटेनेशन बैंड और स्टार मैप। तू जन्म डेटा भेजता है, हम चार्ट की गणना करते हैं और उसे ड्रॉ करते हैं। सभी रूट्स और पैरामीटर्स की पूरी सूची API दस्तावेज़ में है।
वही ड्रॉइंग कोड npm पैकेज @astroway/render के रूप में प्रकाशित किया गया है: अगर तेरे पास पहले से ही चार्ट डेटा है, तो व्हील को ब्राउज़र या अपने सर्वर पर ड्रॉ किया जा सकता है, और यह API द्वारा लौटाए गए परिणाम से बाइट-टू-बाइट मेल खाएगा। ड्रॉइंग संस्करण API हेडर X-Render-Version में लौटाता है।
अनुरोध
Section titled “अनुरोध”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.svgformat: "svg" स्वयं फ़ाइल लौटाता है, डिफ़ॉल्ट json SVG स्ट्रिंग को सामान्य API प्रतिक्रिया में लपेटता है। थीम्स: light, dark, console और css।
थीम css: तेरी साइट के रंग
Section titled “थीम 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 | बायोरिदम |
क्लासेस और data-एट्रिब्यूट्स
Section titled “क्लासेस और data-एट्रिब्यूट्स”css थीम में वेस्टर्न व्हील (wheel-western, bi-wheel, tri-wheel, composite) और एस्पेक्ट ग्रिड के पास स्थायी क्लासेस होते हैं। नाम केवल जोड़े जाते हैं, कभी नहीं बदले जाते, इसलिए उन पर स्टाइल और स्क्रिप्ट लिखे जा सकते हैं।
- व्हील:
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));}));तेरे लेबल्स: labels
Section titled “तेरे लेबल्स: labels”वेस्टर्न व्हील options.labels स्वीकारते हैं: तेरे अक्ष लेबल्स, <title> और <desc> के लिए शब्द, जो स्क्रीन रीडर पढ़ते हैं, और data-label में नामों के लिए। जो कुंजी नहीं दी गई हैं, वे अंग्रेज़ी में ही रहती हैं; हम खुद कुछ भी अनुवाद नहीं करते।
"options": { "theme": "css", "labels": { "asc": "Асц", "mc": "МС", "title": "Натальна карта", "bodies": { "Sun": "Сонце", "Moon": "Місяць" }, "signs": ["Овен","Телець","Близнюки","Рак","Лев","Діва","Терези","Скорпіон","Стрілець","Козеріг","Водолій","Риби"], "retrograde": "ретроградний" }}bodies में कुंजियाँ अंग्रेज़ी में हैं (Sun, North Node), signs ठीक बारह नाम हैं, मेष से शुरू होते हुए, प्रत्येक लेबल अधिकतम 40 अक्षर का।
दो चार्टों के बीच एस्पेक्ट्स
Section titled “दो चार्टों के बीच एस्पेक्ट्स”/v1/render/bi-wheel के साथ options.crossAspects: true अंदर और बाहर के चार्ट के बीच डैश्ड एस्पेक्ट्स ड्रॉ करता है, वही सेट जो POST /v1/synastry crossAspects के रूप में लौटाता है। जहाँ एक भी बॉडी नहीं ड्रॉ की गई है, वह जोड़ी छोड़ दी जाती है। डिफ़ॉल्ट रूप से बंद है।
जन्म डेटा की जगह तैयार चार्ट
Section titled “जन्म डेटा की जगह तैयार चार्ट”अगर तेरे पास पहले से ही चार्ट है, क्योंकि तू अभी POST /v1/chart कॉल किया है, तो उसे data फ़ील्ड chart में जन्म डेटा की जगह भेज। फिर हम सिर्फ उसे ड्रॉ करेंगे। यही wheel-western, aspect-grid और bi-wheel के साथ काम करता है (वहाँ natal.chart और outer.chart होते हैं, दोनों को तैयार चार्ट होना चाहिए)। इमेज बाइट-टू-बाइट वही होगी जैसा जन्म डेटा से मिलता है।
{ "chart": { "planets": [ ... ], "houses": { "cusps": [ ... ], "ascendant": 7.77, "mc": 277.12 }, "aspects": [ ... ] }, "options": { "theme": "css" } }अनावश्यक प्रतिक्रिया फ़ील्ड को काटने की ज़रूरत नहीं। यह जांचा जाता है कि क्या ड्रॉ किया गया है: 1 से 30 बॉडीज़, लंबाई 0 से 360, ठीक 12 कुस्पिड। जहाँ chart और जन्म डेटा दोनों हैं, वह 400 के साथ अस्वीकृत होता है।
/v1/render/* को जन्म डेटा के साथ कॉल करने पर 10 क्रेडिट लगते हैं, क्योंकि चार्ट की गणना होती है। तैयार चार्ट chart के साथ /v1/render/wheel-western, /v1/render/aspect-grid और /v1/render/bi-wheel कॉल केवल 1 क्रेडिट में होते हैं। थीम, क्लासेस और लेबल्स कीमत को नहीं बदलते।