caelus 0.19.0 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -25,12 +25,13 @@ keep this suite green.
25
25
  | VSOP87 planets, embedded tier | 65 KB |
26
26
  | Moon series + nutation + Pluto | 2 KB |
27
27
  | Chiron (1850–2150) | 10 KB |
28
- | **core total** | **~85 KB** |
28
+ | Fixed-star catalog (HYG) | 13 KB |
29
+ | **core total** | **~97 KB** |
29
30
  | VSOP micro tier (alt.) | 25 KB |
30
31
  | precise Moon 1920–2080 (lazy-load) | 729 KB |
31
32
 
32
- The 85 KB core computes natal charts client-side — planets to sub-arcsecond,
33
- Moon to ~10″ via the analytic series. The 729 KB tier (1920–2080 JPL-fit Moon,
33
+ The ~97 KB core computes natal charts client-side — planets to sub-arcsecond,
34
+ Moon to ~10″ via the analytic series, fixed stars from the bundled HYG catalog. The 729 KB tier (1920–2080 JPL-fit Moon,
34
35
  0.1″-class) lazy-loads when present; the engine switches automatically.
35
36
 
36
37
  ## Usage
@@ -46,7 +47,7 @@ import { loadNodeData } from "caelus/node"; // Node only
46
47
  // Node: filesystem loader
47
48
  const engine = new Engine(loadNodeData("./data", "embedded", "full"));
48
49
 
49
- // Browser/edge: bundled embedded dataset (~85 KB gz)
50
+ // Browser/edge: bundled embedded dataset (~97 KB gz)
50
51
  // import { embeddedData } from "caelus/data-embedded";
51
52
  // const engine = new Engine(embeddedData);
52
53
 
@@ -0,0 +1 @@
1
+ {"provenance":"HYG database v4.1 (github.com/astronexus/HYG-Database, CC BY-SA 4.0): named stars to mag 5, ICRS J2000 with proper motions; Galactic Center per Reid & Brunthaler 2004","frame":"ICRS J2000.0","stars":{"Sol":{"ra":0.0,"dec":0.0,"pmra":0.0,"pmdec":0.0,"rv":0.0,"plx":0.0,"mag":-26.7,"bayer":""},"Alpheratz":{"ra":2.096865,"dec":29.090432,"pmra":135.68,"pmdec":-162.95,"rv":-12.0,"plx":33.62,"mag":2.07,"bayer":"21Alp And"},"Caph":{"ra":2.293305,"dec":59.14978,"pmra":523.39,"pmdec":-180.42,"rv":11.3,"plx":59.58,"mag":2.28,"bayer":"11Bet Cas"},"Algenib":{"ra":3.30897,"dec":15.183596,"pmra":4.7,"pmdec":-8.24,"rv":4.0,"plx":8.33,"mag":2.83,"bayer":"88Gam Peg"},"Ankaa":{"ra":6.57084,"dec":-42.305981,"pmra":232.76,"pmdec":-353.64,"rv":75.0,"plx":38.5,"mag":2.4,"bayer":"Alp Phe"},"Fulu":{"ra":9.24282,"dec":53.896909,"pmra":17.77,"pmdec":-9.15,"rv":2.0,"plx":5.5,"mag":3.69,"bayer":"17Zet Cas"},"Schedar":{"ra":10.12674,"dec":56.537331,"pmra":50.36,"pmdec":-32.17,"rv":-4.0,"plx":14.29,"mag":2.24,"bayer":"18Alp Cas"},"Diphda":{"ra":10.89735,"dec":-17.986605,"pmra":232.79,"pmdec":32.71,"rv":13.3,"plx":33.86,"mag":2.04,"bayer":"16Bet Cet"},"Achird":{"ra":12.2739,"dec":57.815187,"pmra":1087.11,"pmdec":-559.65,"rv":8.2,"plx":167.98,"mag":3.46,"bayer":"24Eta Cas"},"Castula":{"ra":14.16648,"dec":59.181056,"pmra":-92.56,"pmdec":-45.33,"rv":-47.0,"plx":16.32,"mag":4.62,"bayer":"28Ups2Cas"},"Cih":{"ra":14.177145,"dec":60.71674,"pmra":25.65,"pmdec":-3.82,"rv":-7.0,"plx":5.94,"mag":2.15,"bayer":"27Gam Cas"},"Wurren":{"ra":17.09613,"dec":-55.24576,"pmra":21.17,"pmdec":29.7,"rv":15.0,"plx":10.92,"mag":3.94,"bayer":"Zet Phe"},"Mirach":{"ra":17.43291,"dec":35.620558,"pmra":175.59,"pmdec":-112.23,"rv":-0.8,"plx":16.52,"mag":2.07,"bayer":"43Bet And"},"Adhil":{"ra":20.585055,"dec":45.528778,"pmra":32.21,"pmdec":8.73,"rv":-13.0,"plx":15.21,"mag":4.87,"bayer":"46Xi And"},"Ruchbah":{"ra":21.45324,"dec":60.235283,"pmra":297.24,"pmdec":-49.49,"rv":7.0,"plx":32.81,"mag":2.66,"bayer":"37Del Cas"},"Alpherg":{"ra":22.870875,"dec":15.345823,"pmra":25.73,"pmdec":-3.29,"rv":15.0,"plx":9.33,"mag":3.62,"bayer":"99Eta Psc"},"Titawin":{"ra":24.199485,"dec":41.405459,"pmra":-172.57,"pmdec":-381.01,"rv":-28.7,"plx":74.12,"mag":4.1,"bayer":"50Ups And"},"Achernar":{"ra":24.42834,"dec":-57.236757,"pmra":88.02,"pmdec":-40.08,"rv":16.0,"plx":23.39,"mag":0.45,"bayer":"Alp Eri"},"Nembus":{"ra":24.498075,"dec":48.628213,"pmra":60.9,"pmdec":-112.42,"rv":16.0,"plx":18.41,"mag":3.59,"bayer":"51 And"},"Torcular":{"ra":26.34846,"dec":9.157736,"pmra":70.82,"pmdec":38.99,"rv":14.0,"plx":11.67,"mag":4.26,"bayer":"110Omi Psc"},"Baten Kaitos":{"ra":27.86514,"dec":-10.335038,"pmra":38.78,"pmdec":-38.04,"rv":9.0,"plx":13.88,"mag":3.74,"bayer":"55Zet Cet"},"Mothallah":{"ra":28.27044,"dec":29.578829,"pmra":12.02,"pmdec":-233.69,"rv":-16.2,"plx":51.5,"mag":3.42,"bayer":"2Alp Tri"},"Mesarthim":{"ra":28.38255,"dec":19.293852,"pmra":79.43,"pmdec":-99.1,"rv":-1.0,"plx":19.88,"mag":3.88,"bayer":"5Gam2Ari"},"Segin":{"ra":28.59876,"dec":63.670101,"pmra":31.98,"pmdec":-18.66,"rv":-8.0,"plx":7.92,"mag":3.35,"bayer":"45Eps Cas"},"Sheratan":{"ra":28.66002,"dec":20.808035,"pmra":96.32,"pmdec":-108.8,"rv":-4.0,"plx":55.6,"mag":2.64,"bayer":"6Bet Ari"},"Alrescha":{"ra":30.511755,"dec":2.763759,"pmra":33.29,"pmdec":-0.42,"rv":9.0,"plx":21.66,"mag":3.82,"bayer":"113Alp Psc"},"Almach":{"ra":30.97476,"dec":42.329725,"pmra":43.08,"pmdec":-50.85,"rv":-12.0,"plx":8.3,"mag":2.1,"bayer":"57Gam1And"},"Hamal":{"ra":31.793325,"dec":23.462423,"pmra":190.73,"pmdec":-145.77,"rv":-14.4,"plx":49.56,"mag":2.01,"bayer":"13Alp Ari"},"Polaris":{"ra":37.94625,"dec":89.264109,"pmra":44.22,"pmdec":-11.74,"rv":-17.0,"plx":7.54,"mag":1.97,"bayer":"1Alp UMi"},"Kaffaljidhma":{"ra":40.82517,"dec":3.235818,"pmra":-146.43,"pmdec":-145.27,"rv":-5.1,"plx":40.97,"mag":3.47,"bayer":"86Gam Cet"},"Lilii Borea":{"ra":41.9772,"dec":29.247118,"pmra":148.42,"pmdec":-125.76,"rv":-15.0,"plx":19.01,"mag":4.52,"bayer":"39 Ari"},"Bharani":{"ra":42.495945,"dec":27.260507,"pmra":65.47,"pmdec":-116.59,"rv":4.0,"plx":19.69,"mag":3.61,"bayer":"41 Ari"},"Miram":{"ra":42.674175,"dec":55.895496,"pmra":16.64,"pmdec":-13.76,"rv":-1.0,"plx":3.71,"mag":3.77,"bayer":"15Eta Per"},"Angetenar":{"ra":42.759675,"dec":-21.004019,"pmra":-39.0,"pmdec":-16.63,"rv":-9.0,"plx":17.45,"mag":4.76,"bayer":"2Tau2Eri"},"Azha":{"ra":44.10687,"dec":-8.898144,"pmra":77.73,"pmdec":-219.99,"rv":-20.0,"plx":23.89,"mag":3.89,"bayer":"3Eta Eri"},"Acamar":{"ra":44.565345,"dec":-40.304672,"pmra":-53.53,"pmdec":25.71,"rv":12.0,"plx":20.23,"mag":2.88,"bayer":"The1Eri"},"Menkar":{"ra":45.56988,"dec":4.089734,"pmra":-11.81,"pmdec":-78.76,"rv":-26.0,"plx":13.09,"mag":2.54,"bayer":"92Alp Cet"},"Algol":{"ra":47.04222,"dec":40.955648,"pmra":2.39,"pmdec":-1.44,"rv":4.0,"plx":36.27,"mag":2.09,"bayer":"26Bet Per"},"Misam":{"ra":47.37387,"dec":44.857544,"pmra":173.01,"pmdec":-142.05,"rv":29.0,"plx":28.93,"mag":3.79,"bayer":"27Kap Per"},"Botein":{"ra":47.90733,"dec":19.726677,"pmra":154.61,"pmdec":-8.39,"rv":25.0,"plx":19.22,"mag":4.35,"bayer":"57Del Ari"},"Dalim":{"ra":48.018735,"dec":-28.987618,"pmra":371.49,"pmdec":612.26,"rv":-20.0,"plx":70.24,"mag":3.8,"bayer":"Alp For"},"Zibal":{"ra":48.95844,"dec":-8.81973,"pmra":-3.82,"pmdec":45.52,"rv":-4.0,"plx":29.72,"mag":4.8,"bayer":"13Zet Eri"},"82 G. Eri":{"ra":49.97916,"dec":-43.069784,"pmra":3038.08,"pmdec":726.34,"rv":86.7,"plx":165.47,"mag":4.26,"bayer":""},"Mirfak":{"ra":51.08067,"dec":49.86118,"pmra":24.11,"pmdec":-26.01,"rv":-2.0,"plx":6.44,"mag":1.79,"bayer":"33Alp Per"},"Ran":{"ra":53.23272,"dec":-9.458262,"pmra":-976.44,"pmdec":17.97,"rv":16.9,"plx":310.94,"mag":3.72,"bayer":"18Eps Eri"},"Rana":{"ra":55.81209,"dec":-9.763395,"pmra":-91.71,"pmdec":742.23,"rv":-5.1,"plx":110.61,"mag":3.52,"bayer":"23Del Eri"},"Atik":{"ra":56.07972,"dec":32.288248,"pmra":8.11,"pmdec":-10.32,"rv":19.0,"plx":2.91,"mag":3.84,"bayer":"38Omi Per"},"Electra":{"ra":56.218905,"dec":24.113339,"pmra":21.55,"pmdec":-44.92,"rv":12.0,"plx":8.06,"mag":3.72,"bayer":"17 Tau"},"Taygeta":{"ra":56.30205,"dec":24.467278,"pmra":19.35,"pmdec":-41.63,"rv":6.0,"plx":7.97,"mag":4.3,"bayer":"19 Tau"},"Maia":{"ra":56.456685,"dec":24.367748,"pmra":21.09,"pmdec":-45.03,"rv":8.0,"plx":8.51,"mag":3.87,"bayer":"20 Tau"},"Merope":{"ra":56.58156,"dec":23.948358,"pmra":21.17,"pmdec":-42.67,"rv":6.0,"plx":8.58,"mag":4.14,"bayer":"23 Tau"},"Alcyone":{"ra":56.87115,"dec":24.105137,"pmra":19.35,"pmdec":-43.11,"rv":10.0,"plx":8.09,"mag":2.85,"bayer":"25Eta Tau"},"Atlas":{"ra":57.290595,"dec":24.053415,"pmra":17.77,"pmdec":-44.7,"rv":9.0,"plx":8.53,"mag":3.62,"bayer":"27 Tau"},"Zaurak":{"ra":59.507355,"dec":-13.508515,"pmra":60.51,"pmdec":-111.34,"rv":62.0,"plx":16.04,"mag":2.97,"bayer":"34Gam Eri"},"Menkib":{"ra":59.74125,"dec":35.791033,"pmra":1.92,"pmdec":2.3,"rv":70.0,"plx":2.62,"mag":3.98,"bayer":"46Xi Per"},"Beid":{"ra":62.966415,"dec":-6.837581,"pmra":11.92,"pmdec":81.28,"rv":11.0,"plx":26.8,"mag":4.04,"bayer":"38Omi1Eri"},"Keid":{"ra":63.818055,"dec":-7.652871,"pmra":-2239.33,"pmdec":-3419.86,"rv":-42.7,"plx":200.62,"mag":4.43,"bayer":"40Omi2Eri"},"Prima Hyadum":{"ra":64.948335,"dec":15.627642,"pmra":115.29,"pmdec":-23.86,"rv":39.0,"plx":20.19,"mag":3.65,"bayer":"54Gam Tau"},"Secunda Hyadum":{"ra":65.733705,"dec":17.542514,"pmra":107.75,"pmdec":-28.84,"rv":39.0,"plx":20.96,"mag":3.77,"bayer":"61Del1Tau"},"Beemim":{"ra":66.009195,"dec":-34.016846,"pmra":73.77,"pmdec":57.57,"rv":24.0,"plx":11.01,"mag":3.97,"bayer":"43 Eri"},"Ain":{"ra":67.154145,"dec":19.180431,"pmra":107.23,"pmdec":-36.77,"rv":39.0,"plx":22.24,"mag":3.53,"bayer":"74Eps Tau"},"Chamukuy":{"ra":67.165575,"dec":15.870883,"pmra":108.66,"pmdec":-26.39,"rv":40.0,"plx":21.69,"mag":3.4,"bayer":"78The2Tau"},"Theemin":{"ra":68.88768,"dec":-30.562341,"pmra":-48.92,"pmdec":-12.75,"rv":-4.0,"plx":15.25,"mag":3.81,"bayer":"52Ups2Eri"},"Aldebaran":{"ra":68.980155,"dec":16.509301,"pmra":62.78,"pmdec":-189.36,"rv":54.5,"plx":48.94,"mag":0.87,"bayer":"87Alp Tau"},"Sceptrum":{"ra":69.5451,"dec":-14.30402,"pmra":-77.86,"pmdec":-178.06,"rv":41.8,"plx":29.69,"mag":3.86,"bayer":"53 Eri"},"Tabit":{"ra":72.460035,"dec":6.961276,"pmra":463.44,"pmdec":11.62,"rv":24.4,"plx":123.94,"mag":3.19,"bayer":"1Pi 3Ori"},"Hassaleh":{"ra":74.24841,"dec":33.16609,"pmra":3.63,"pmdec":-18.54,"rv":18.0,"plx":6.61,"mag":2.69,"bayer":"3Iot Aur"},"Almaaz":{"ra":75.492225,"dec":43.823308,"pmra":0.18,"pmdec":-2.31,"rv":-3.0,"plx":1.53,"mag":3.03,"bayer":"7Eps Aur"},"Saclateni":{"ra":75.619515,"dec":41.075837,"pmra":8.88,"pmdec":-21.43,"rv":13.0,"plx":4.15,"mag":3.69,"bayer":"8Zet Aur"},"Haedus":{"ra":76.6287,"dec":41.234474,"pmra":30.6,"pmdec":-68.41,"rv":7.0,"plx":13.4,"mag":3.18,"bayer":"10Eta Aur"},"Cursa":{"ra":76.962435,"dec":-5.086446,"pmra":-83.39,"pmdec":-75.44,"rv":-9.2,"plx":36.5,"mag":2.78,"bayer":"67Bet Eri"},"Rigel":{"ra":78.63447,"dec":-8.20164,"pmra":1.87,"pmdec":-0.56,"rv":21.0,"plx":3.78,"mag":0.18,"bayer":"19Bet Ori"},"Capella":{"ra":79.17225,"dec":45.997991,"pmra":75.52,"pmdec":-427.13,"rv":22.2,"plx":76.2,"mag":0.08,"bayer":"13Alp Aur"},"Bellatrix":{"ra":81.282765,"dec":6.349702,"pmra":-8.75,"pmdec":-13.28,"rv":18.0,"plx":12.92,"mag":1.64,"bayer":"24Gam Ori"},"Elnath":{"ra":81.57297,"dec":28.60745,"pmra":23.28,"pmdec":-174.22,"rv":9.0,"plx":24.36,"mag":1.65,"bayer":"112Bet Tau"},"Nihal":{"ra":82.06134,"dec":-20.759441,"pmra":-5.03,"pmdec":-85.92,"rv":-14.0,"plx":20.34,"mag":2.81,"bayer":"9Bet Lep"},"Mintaka":{"ra":83.001675,"dec":-0.299092,"pmra":1.67,"pmdec":0.56,"rv":16.0,"plx":4.71,"mag":2.25,"bayer":"34Del Ori"},"Arneb":{"ra":83.18256,"dec":-17.822289,"pmra":3.27,"pmdec":1.54,"rv":24.0,"plx":1.47,"mag":2.58,"bayer":"11Alp Lep"},"Meissa":{"ra":83.784495,"dec":9.934158,"pmra":-1.03,"pmdec":-1.86,"rv":34.0,"plx":2.97,"mag":3.39,"bayer":"39Lam Ori"},"Hatysa":{"ra":83.858265,"dec":-5.909901,"pmra":2.27,"pmdec":-0.62,"rv":22.0,"plx":1.4,"mag":2.75,"bayer":"44Iot Ori"},"Alnilam":{"ra":84.053385,"dec":-1.20192,"pmra":1.49,"pmdec":-1.06,"rv":26.0,"plx":1.65,"mag":1.69,"bayer":"46Eps Ori"},"Tianguan":{"ra":84.411195,"dec":21.142549,"pmra":2.39,"pmdec":-18.04,"rv":20.0,"plx":7.33,"mag":2.97,"bayer":"123Zet Tau"},"Phact":{"ra":84.912255,"dec":-34.074108,"pmra":-0.1,"pmdec":-24.05,"rv":35.0,"plx":12.48,"mag":2.65,"bayer":"Alp Col"},"Alnitak":{"ra":85.189695,"dec":-1.942572,"pmra":3.99,"pmdec":2.54,"rv":18.0,"plx":4.43,"mag":1.74,"bayer":"50Zet Ori"},"Saiph":{"ra":86.939115,"dec":-9.669605,"pmra":1.55,"pmdec":-1.2,"rv":21.0,"plx":5.04,"mag":2.07,"bayer":"53Kap Ori"},"Wazn":{"ra":87.739935,"dec":-35.768309,"pmra":55.74,"pmdec":404.68,"rv":89.0,"plx":37.41,"mag":3.12,"bayer":"Bet Col"},"Betelgeuse":{"ra":88.792935,"dec":7.407063,"pmra":27.33,"pmdec":10.86,"rv":21.0,"plx":6.55,"mag":0.45,"bayer":"58Alp Ori"},"Menkalinan":{"ra":89.882235,"dec":44.947433,"pmra":-56.41,"pmdec":-0.88,"rv":-19.4,"plx":40.21,"mag":1.9,"bayer":"34Bet Aur"},"Mahasim":{"ra":89.930265,"dec":37.212585,"pmra":42.09,"pmdec":-73.61,"rv":30.0,"plx":19.7,"mag":2.65,"bayer":"37The Aur"},"Elkurud":{"ra":91.881795,"dec":-37.25292,"pmra":0.9,"pmdec":0.3,"rv":45.0,"plx":4.52,"mag":5.0,"bayer":"The Col"},"Propus":{"ra":93.719415,"dec":22.506799,"pmra":-62.53,"pmdec":-10.24,"rv":19.0,"plx":8.48,"mag":3.31,"bayer":"7Eta Gem"},"Furud":{"ra":95.078295,"dec":-30.063367,"pmra":8.0,"pmdec":3.81,"rv":32.0,"plx":9.0,"mag":3.02,"bayer":"1Zet CMa"},"Mirzam":{"ra":95.674935,"dec":-17.955918,"pmra":-3.45,"pmdec":-0.47,"rv":34.0,"plx":6.62,"mag":1.98,"bayer":"2Bet CMa"},"Tejat":{"ra":95.740095,"dec":22.513586,"pmra":56.84,"pmdec":-108.79,"rv":55.0,"plx":14.08,"mag":2.87,"bayer":"13Mu Gem"},"Canopus":{"ra":95.987925,"dec":-52.69566,"pmra":19.99,"pmdec":23.67,"rv":21.0,"plx":10.55,"mag":-0.62,"bayer":"Alp Car"},"Alhena":{"ra":99.42792,"dec":16.399252,"pmra":-2.04,"pmdec":-66.92,"rv":-13.0,"plx":29.84,"mag":1.93,"bayer":"24Gam Gem"},"Mebsuta":{"ra":100.98303,"dec":25.131124,"pmra":-5.93,"pmdec":-12.81,"rv":10.0,"plx":3.86,"mag":3.06,"bayer":"27Eps Gem"},"Sirius":{"ra":101.287215,"dec":-16.716116,"pmra":-546.01,"pmdec":-1223.08,"rv":-9.4,"plx":379.2,"mag":-1.44,"bayer":"9Alp CMa"},"Alzirr":{"ra":101.32236,"dec":12.895591,"pmra":-115.16,"pmdec":-190.91,"rv":30.0,"plx":55.56,"mag":3.35,"bayer":"31Xi Gem"},"Adhara":{"ra":104.656455,"dec":-28.972084,"pmra":2.63,"pmdec":2.29,"rv":27.0,"plx":8.05,"mag":1.5,"bayer":"21Eps CMa"},"Nganurganity":{"ra":105.42978,"dec":-27.93483,"pmra":-6.01,"pmdec":4.64,"rv":22.0,"plx":2.91,"mag":3.49,"bayer":"22Sig CMa"},"Muliphein":{"ra":105.939555,"dec":-15.633286,"pmra":-0.81,"pmdec":-11.2,"rv":32.0,"plx":7.38,"mag":4.11,"bayer":"23Gam CMa"},"Mekbuda":{"ra":106.027215,"dec":20.570297,"pmra":-5.72,"pmdec":-0.96,"rv":7.0,"plx":2.37,"mag":4.01,"bayer":"43Zet Gem"},"Wezen":{"ra":107.097855,"dec":-26.3932,"pmra":-2.75,"pmdec":3.33,"rv":34.0,"plx":2.03,"mag":1.83,"bayer":"25Del CMa"},"Wasat":{"ra":110.030745,"dec":21.98232,"pmra":-18.72,"pmdec":-7.76,"rv":-15.3,"plx":53.94,"mag":3.5,"bayer":"55Del Gem"},"Aludra":{"ra":111.02376,"dec":-29.303104,"pmra":-3.76,"pmdec":6.66,"rv":41.0,"plx":1.64,"mag":2.45,"bayer":"31Eta CMa"},"Gomeisa":{"ra":111.78768,"dec":8.289315,"pmra":-50.28,"pmdec":-38.45,"rv":22.0,"plx":20.17,"mag":2.89,"bayer":"3Bet CMi"},"Castor":{"ra":113.64951,"dec":31.888276,"pmra":-206.33,"pmdec":-148.18,"rv":6.0,"plx":64.12,"mag":1.58,"bayer":"66Alp Gem"},"Jishui":{"ra":114.7914,"dec":34.584346,"pmra":-35.97,"pmdec":-118.03,"rv":7.0,"plx":19.61,"mag":4.89,"bayer":"71Omi Gem"},"Procyon":{"ra":114.825495,"dec":5.224993,"pmra":-716.57,"pmdec":-1034.58,"rv":-4.0,"plx":284.56,"mag":0.4,"bayer":"10Alp CMi"},"Pollux":{"ra":116.329155,"dec":28.026199,"pmra":-625.69,"pmdec":-45.95,"rv":3.6,"plx":96.54,"mag":1.16,"bayer":"78Bet Gem"},"Azmidi":{"ra":117.323565,"dec":-24.859786,"pmra":-5.56,"pmdec":-0.71,"rv":3.0,"plx":2.72,"mag":3.34,"bayer":"7Xi Pup"},"Naos":{"ra":120.896055,"dec":-40.003148,"pmra":-30.82,"pmdec":16.77,"rv":-24.0,"plx":3.01,"mag":2.21,"bayer":"Zet Pup"},"Tureis":{"ra":121.886055,"dec":-24.304324,"pmra":-83.29,"pmdec":46.38,"rv":46.0,"plx":51.33,"mag":2.83,"bayer":"15Rho Pup"},"Tegmine":{"ra":123.053025,"dec":17.647771,"pmra":28.29,"pmdec":-150.94,"rv":-11.0,"plx":39.87,"mag":4.67,"bayer":"16Zet2Cnc"},"Tarf":{"ra":124.12884,"dec":9.185545,"pmra":-46.8,"pmdec":-48.65,"rv":22.0,"plx":10.75,"mag":3.53,"bayer":"17Bet Cnc"},"Avior":{"ra":125.62854,"dec":-59.509483,"pmra":-25.34,"pmdec":22.72,"rv":2.0,"plx":5.39,"mag":1.86,"bayer":"Eps Car"},"Alsciaukat":{"ra":125.70882,"dec":43.188131,"pmra":-25.62,"pmdec":-99.44,"rv":24.0,"plx":8.53,"mag":4.25,"bayer":"31 Lyn"},"Muscida":{"ra":127.566465,"dec":60.718169,"pmra":-134.31,"pmdec":-107.73,"rv":20.0,"plx":18.21,"mag":3.35,"bayer":"1Omi UMa"},"Minchir":{"ra":129.689325,"dec":3.341435,"pmra":-19.03,"pmdec":-16.29,"rv":25.0,"plx":8.75,"mag":4.45,"bayer":"5Sig Hya"},"Asellus Borealis":{"ra":130.821465,"dec":21.468501,"pmra":-106.94,"pmdec":-39.25,"rv":29.0,"plx":18.0,"mag":4.66,"bayer":"43Gam Cnc"},"Asellus Australis":{"ra":131.17125,"dec":18.154309,"pmra":-17.1,"pmdec":-228.46,"rv":17.0,"plx":24.98,"mag":3.94,"bayer":"47Del Cnc"},"Alsephina":{"ra":131.175885,"dec":-54.708821,"pmra":28.78,"pmdec":-104.14,"rv":2.2,"plx":40.49,"mag":1.93,"bayer":"Del Vel"},"Ashlesha":{"ra":131.693805,"dec":6.418809,"pmra":-231.04,"pmdec":-40.17,"rv":36.0,"plx":25.23,"mag":3.38,"bayer":"11Eps Hya"},"Acubens":{"ra":134.62176,"dec":11.857701,"pmra":41.45,"pmdec":-29.22,"rv":-14.0,"plx":17.32,"mag":4.26,"bayer":"65Alp Cnc"},"Talitha":{"ra":134.80242,"dec":48.041826,"pmra":-441.12,"pmdec":-215.21,"rv":9.0,"plx":68.92,"mag":3.12,"bayer":"9Iot UMa"},"Alkaphrah":{"ra":135.906405,"dec":47.156525,"pmra":-37.37,"pmdec":-55.39,"rv":4.0,"plx":9.1,"mag":3.57,"bayer":"12Kap UMa"},"Suhail":{"ra":136.99902,"dec":-43.432589,"pmra":-23.21,"pmdec":14.28,"rv":18.0,"plx":5.99,"mag":2.23,"bayer":"Lam Vel"},"Miaplacidus":{"ra":138.300615,"dec":-69.717208,"pmra":-157.66,"pmdec":108.91,"rv":-5.0,"plx":28.82,"mag":1.67,"bayer":"Bet Car"},"Aspidiske":{"ra":139.27257,"dec":-59.275229,"pmra":-19.03,"pmdec":13.11,"rv":13.0,"plx":4.26,"mag":2.21,"bayer":"Iot Car"},"Markeb":{"ra":140.52843,"dec":-55.010668,"pmra":-10.72,"pmdec":11.24,"rv":22.0,"plx":5.7,"mag":2.47,"bayer":"Kap Vel"},"Alphard":{"ra":141.89685,"dec":-8.658603,"pmra":-14.49,"pmdec":33.25,"rv":-4.0,"plx":18.09,"mag":1.99,"bayer":"30Alp Hya"},"Alterf":{"ra":142.930125,"dec":22.967971,"pmra":-19.38,"pmdec":-39.04,"rv":27.0,"plx":9.91,"mag":4.32,"bayer":"4Lam Leo"},"Ukdah":{"ra":144.964005,"dec":-1.14281,"pmra":47.81,"pmdec":-62.92,"rv":23.0,"plx":12.39,"mag":3.9,"bayer":"35Iot Hya"},"Subra":{"ra":145.287645,"dec":9.892308,"pmra":-143.67,"pmdec":-37.45,"rv":27.0,"plx":25.03,"mag":3.52,"bayer":"14Omi Leo"},"Ras Elased Australis":{"ra":146.46282,"dec":23.774255,"pmra":-46.09,"pmdec":-9.57,"rv":4.0,"plx":13.22,"mag":2.97,"bayer":"17Eps Leo"},"Zhang":{"ra":147.86955,"dec":-14.846603,"pmra":18.68,"pmdec":-21.88,"rv":-15.0,"plx":12.36,"mag":4.11,"bayer":"39Ups1Hya"},"Rasalas":{"ra":148.19097,"dec":26.006951,"pmra":-216.29,"pmdec":-54.92,"rv":14.0,"plx":26.28,"mag":3.88,"bayer":"24Mu Leo"},"Felis":{"ra":148.717545,"dec":-19.00936,"pmra":-46.09,"pmdec":-37.04,"rv":50.0,"plx":5.31,"mag":4.94,"bayer":""},"Regulus":{"ra":152.09298,"dec":11.967207,"pmra":-249.4,"pmdec":4.91,"rv":6.0,"plx":41.13,"mag":1.36,"bayer":"32Alp Leo"},"Adhafera":{"ra":154.172565,"dec":23.417311,"pmra":19.84,"pmdec":-7.3,"rv":-16.0,"plx":11.9,"mag":3.43,"bayer":"36Zet Leo"},"Tania Borealis":{"ra":154.27428,"dec":42.914365,"pmra":-170.11,"pmdec":-42.64,"rv":18.0,"plx":23.72,"mag":3.45,"bayer":"33Lam UMa"},"Algieba":{"ra":154.993095,"dec":19.841489,"pmra":310.77,"pmdec":-152.88,"rv":-37.0,"plx":25.07,"mag":2.01,"bayer":"41Gam1Leo"},"Tania Australis":{"ra":155.582325,"dec":41.499516,"pmra":-80.47,"pmdec":34.1,"rv":-21.0,"plx":14.16,"mag":3.06,"bayer":"34Mu UMa"},"Praecipua":{"ra":163.32789,"dec":34.214871,"pmra":92.47,"pmdec":-286.06,"rv":16.0,"plx":34.38,"mag":3.79,"bayer":"46 LMi"},"Alkes":{"ra":164.94366,"dec":-18.298783,"pmra":-462.39,"pmdec":129.11,"rv":47.0,"plx":20.49,"mag":4.08,"bayer":"7Alp Crt"},"Merak":{"ra":165.460155,"dec":56.382427,"pmra":81.66,"pmdec":33.74,"rv":-12.0,"plx":40.9,"mag":2.34,"bayer":"48Bet UMa"},"Dubhe":{"ra":165.932325,"dec":61.751033,"pmra":-136.46,"pmdec":-35.25,"rv":-9.0,"plx":26.54,"mag":1.81,"bayer":"50Alp UMa"},"Zosma":{"ra":168.52707,"dec":20.523717,"pmra":143.31,"pmdec":-130.43,"rv":-20.2,"plx":55.82,"mag":2.56,"bayer":"68Del Leo"},"Chertan":{"ra":168.560025,"dec":15.42957,"pmra":-59.01,"pmdec":-79.37,"rv":8.0,"plx":19.76,"mag":3.33,"bayer":"70The Leo"},"Alula Borealis":{"ra":169.619745,"dec":33.094306,"pmra":-26.61,"pmdec":27.51,"rv":-9.0,"plx":8.17,"mag":3.49,"bayer":"54Nu UMa"},"Giausar":{"ra":172.851105,"dec":69.331076,"pmra":-41.14,"pmdec":-18.79,"rv":7.0,"plx":9.79,"mag":3.82,"bayer":"1Lam Dra"},"Taiyangshou":{"ra":176.512725,"dec":47.779406,"pmra":-138.38,"pmdec":28.37,"rv":-9.0,"plx":17.76,"mag":3.69,"bayer":"63Chi UMa"},"Denebola":{"ra":177.264945,"dec":14.57206,"pmra":-499.02,"pmdec":-113.78,"rv":-0.2,"plx":90.91,"mag":2.14,"bayer":"94Bet Leo"},"Zavijava":{"ra":177.67383,"dec":1.764718,"pmra":740.96,"pmdec":-271.18,"rv":4.3,"plx":91.5,"mag":3.59,"bayer":"5Bet Vir"},"Phecda":{"ra":178.45752,"dec":53.69476,"pmra":107.76,"pmdec":11.16,"rv":-13.0,"plx":39.21,"mag":2.41,"bayer":"64Gam UMa"},"Alchiba":{"ra":182.103375,"dec":-24.728875,"pmra":100.18,"pmdec":-39.33,"rv":2.9,"plx":66.95,"mag":4.02,"bayer":"1Alp Crv"},"Imai":{"ra":183.786405,"dec":-58.748928,"pmra":-36.68,"pmdec":-10.72,"rv":22.0,"plx":9.45,"mag":2.79,"bayer":"Del Cru"},"Megrez":{"ra":183.85629,"dec":57.032617,"pmra":103.56,"pmdec":7.81,"rv":-13.4,"plx":40.51,"mag":3.32,"bayer":"69Del UMa"},"Gienah":{"ra":183.951555,"dec":-17.541929,"pmra":-159.58,"pmdec":22.31,"rv":-4.0,"plx":21.23,"mag":2.58,"bayer":"4Gam Crv"},"Zaniah":{"ra":184.97649,"dec":-0.666803,"pmra":-59.14,"pmdec":-23.13,"rv":2.0,"plx":12.29,"mag":3.89,"bayer":"15Eta Vir"},"Ginan":{"ra":185.340465,"dec":-60.401147,"pmra":-171.06,"pmdec":91.82,"rv":-5.0,"plx":14.19,"mag":3.59,"bayer":"Eps Cru"},"Acrux":{"ra":186.649665,"dec":-63.099092,"pmra":-35.37,"pmdec":-14.73,"rv":-11.0,"plx":10.13,"mag":0.77,"bayer":"Alp1Cru"},"Algorab":{"ra":187.466085,"dec":-16.515432,"pmra":-209.97,"pmdec":-139.3,"rv":9.0,"plx":37.55,"mag":2.94,"bayer":"7Del Crv"},"Gacrux":{"ra":187.791435,"dec":-57.113212,"pmra":27.94,"pmdec":-264.33,"rv":21.0,"plx":36.83,"mag":1.59,"bayer":"Gam Cru"},"Chara":{"ra":188.436165,"dec":41.35748,"pmra":-705.06,"pmdec":292.93,"rv":6.6,"plx":118.49,"mag":4.24,"bayer":"8Bet CVn"},"Kraz":{"ra":188.596815,"dec":-23.396759,"pmra":0.86,"pmdec":-56.0,"rv":-8.0,"plx":22.39,"mag":2.65,"bayer":"9Bet Crv"},"Porrima":{"ra":190.415175,"dec":-1.449375,"pmra":-616.66,"pmdec":60.66,"rv":-19.9,"plx":85.58,"mag":2.74,"bayer":"29Gam Vir"},"Mimosa":{"ra":191.930385,"dec":-59.688764,"pmra":-48.24,"pmdec":-12.82,"rv":16.0,"plx":11.71,"mag":1.25,"bayer":"Bet Cru"},"Alioth":{"ra":193.50708,"dec":55.959821,"pmra":111.74,"pmdec":-8.99,"rv":-9.0,"plx":39.51,"mag":1.76,"bayer":"77Eps UMa"},"Minelauva":{"ra":193.900875,"dec":3.39747,"pmra":-471.44,"pmdec":-52.81,"rv":-18.0,"plx":16.44,"mag":3.39,"bayer":"43Del Vir"},"Cor Caroli":{"ra":194.007105,"dec":38.31838,"pmra":-233.43,"pmdec":54.98,"rv":-3.0,"plx":28.41,"mag":2.89,"bayer":"12Alp2CVn"},"Vindemiatrix":{"ra":195.54417,"dec":10.95915,"pmra":-275.05,"pmdec":19.96,"rv":-14.0,"plx":29.76,"mag":2.85,"bayer":"47Eps Vir"},"Diadem":{"ra":197.497035,"dec":17.529431,"pmra":-445.95,"pmdec":129.69,"rv":-11.6,"plx":56.1,"mag":4.32,"bayer":"42Alp Com"},"Mizar":{"ra":200.981205,"dec":54.925362,"pmra":121.23,"pmdec":-22.01,"rv":-5.6,"plx":38.01,"mag":2.23,"bayer":"79Zet UMa"},"Spica":{"ra":201.298245,"dec":-11.161322,"pmra":-42.5,"pmdec":-31.73,"rv":1.0,"plx":13.06,"mag":0.98,"bayer":"67Alp Vir"},"Alcor":{"ra":201.306195,"dec":54.987958,"pmra":120.35,"pmdec":-16.94,"rv":-8.9,"plx":39.91,"mag":3.99,"bayer":"80 UMa"},"Heze":{"ra":203.6733,"dec":-0.59582,"pmra":-278.89,"pmdec":48.56,"rv":-13.2,"plx":44.03,"mag":3.38,"bayer":"79Zet Vir"},"Alkaid":{"ra":206.88531,"dec":49.313265,"pmra":-121.23,"pmdec":-15.56,"rv":-11.0,"plx":31.38,"mag":1.85,"bayer":"85Eta UMa"},"Muphrid":{"ra":208.671165,"dec":18.397717,"pmra":-60.95,"pmdec":-358.1,"rv":1.0,"plx":87.75,"mag":2.68,"bayer":"8Eta Boo"},"Hadar":{"ra":210.955935,"dec":-60.373039,"pmra":-33.96,"pmdec":-25.06,"rv":6.0,"plx":8.32,"mag":0.61,"bayer":"Bet Cen"},"Thuban":{"ra":211.097475,"dec":64.37585,"pmra":-56.52,"pmdec":17.19,"rv":-13.0,"plx":10.76,"mag":3.67,"bayer":"11Alp Dra"},"Menkent":{"ra":211.670925,"dec":-36.369954,"pmra":-519.29,"pmdec":-517.87,"rv":1.3,"plx":55.45,"mag":2.06,"bayer":"5The Cen"},"Kang":{"ra":213.223935,"dec":-10.273702,"pmra":8.04,"pmdec":140.79,"rv":-4.0,"plx":12.8,"mag":4.18,"bayer":"98Kap Vir"},"Arcturus":{"ra":213.91545,"dec":19.18241,"pmra":-1093.45,"pmdec":-1999.4,"rv":-5.0,"plx":88.83,"mag":-0.05,"bayer":"16Alp Boo"},"Syrma":{"ra":214.00362,"dec":-6.000547,"pmra":-25.84,"pmdec":-419.84,"rv":14.6,"plx":44.97,"mag":4.07,"bayer":"99Iot Vir"},"Xuange":{"ra":214.09611,"dec":46.088305,"pmra":-187.42,"pmdec":159.01,"rv":-8.1,"plx":32.94,"mag":4.18,"bayer":"19Lam Boo"},"Khambalia":{"ra":214.77747,"dec":-13.371095,"pmra":-17.12,"pmdec":29.39,"rv":-11.0,"plx":17.49,"mag":4.52,"bayer":"100Lam Vir"},"Elgafar":{"ra":217.05057,"dec":-2.227957,"pmra":-140.94,"pmdec":-2.92,"rv":-10.1,"plx":27.58,"mag":4.81,"bayer":"105Phi Vir"},"Seginus":{"ra":218.01954,"dec":38.308253,"pmra":-115.55,"pmdec":151.87,"rv":-37.0,"plx":37.58,"mag":3.04,"bayer":"27Gam Boo"},"Toliman":{"ra":219.90519,"dec":-60.8383,"pmra":-3678.19,"pmdec":481.84,"rv":-26.2,"plx":754.83,"mag":1.35,"bayer":"Alp2Cen"},"Rigil Kentaurus":{"ra":219.911475,"dec":-60.833976,"pmra":-3678.19,"pmdec":481.84,"rv":-26.2,"plx":754.83,"mag":-0.01,"bayer":"Alp1Cen"},"Izar":{"ra":221.24676,"dec":27.074222,"pmra":-50.65,"pmdec":20.0,"rv":-23.0,"plx":16.1,"mag":2.35,"bayer":"36Eps Boo"},"Kochab":{"ra":222.676575,"dec":74.155505,"pmra":-32.29,"pmdec":11.91,"rv":17.0,"plx":24.91,"mag":2.07,"bayer":"7Bet UMi"},"Zubenelgenubi":{"ra":222.719655,"dec":-16.041778,"pmra":-105.69,"pmdec":-69.0,"rv":-46.7,"plx":43.03,"mag":2.75,"bayer":"9Alp2Lib"},"Nekkar":{"ra":225.48654,"dec":40.390566,"pmra":-40.2,"pmdec":-29.22,"rv":-20.0,"plx":14.48,"mag":3.49,"bayer":"42Bet Boo"},"Brachium":{"ra":226.017585,"dec":-25.281965,"pmra":-71.85,"pmdec":-44.69,"rv":-4.0,"plx":11.31,"mag":3.25,"bayer":"20Sig Lib"},"Zubeneschamali":{"ra":229.251735,"dec":-9.382917,"pmra":-96.39,"pmdec":-20.76,"rv":-35.0,"plx":17.62,"mag":2.61,"bayer":"27Bet Lib"},"Pherkad":{"ra":230.182245,"dec":71.834016,"pmra":-18.03,"pmdec":17.68,"rv":-4.0,"plx":6.7,"mag":3.0,"bayer":"13Gam UMi"},"Alkalurops":{"ra":231.122715,"dec":37.377167,"pmra":-147.68,"pmdec":84.69,"rv":-8.6,"plx":28.83,"mag":4.31,"bayer":"51Mu 1Boo"},"Edasich":{"ra":231.23241,"dec":58.966065,"pmra":-8.27,"pmdec":17.3,"rv":-11.0,"plx":32.23,"mag":3.29,"bayer":"12Iot Dra"},"Nusakan":{"ra":231.95727,"dec":29.105703,"pmra":-181.39,"pmdec":86.84,"rv":-19.0,"plx":29.17,"mag":3.66,"bayer":"3Bet CrB"},"Alphecca":{"ra":233.67192,"dec":26.714693,"pmra":120.38,"pmdec":-89.44,"rv":2.0,"plx":43.46,"mag":2.22,"bayer":"5Alp CrB"},"Zubenelhakrabi":{"ra":233.881575,"dec":-14.789537,"pmra":65.67,"pmdec":6.93,"rv":-28.2,"plx":19.99,"mag":3.91,"bayer":"38Gam Lib"},"Unukalhai":{"ra":236.06697,"dec":6.425627,"pmra":134.66,"pmdec":44.14,"rv":2.7,"plx":44.1,"mag":2.63,"bayer":"24Alp Ser"},"Gudja":{"ra":237.184905,"dec":18.141564,"pmra":-51.78,"pmdec":-88.72,"rv":-39.0,"plx":8.54,"mag":4.09,"bayer":"35Kap Ser"},"Iklil":{"ra":239.221155,"dec":-29.214073,"pmra":-15.2,"pmdec":-25.1,"rv":3.3,"plx":6.91,"mag":3.87,"bayer":"5Rho Sco"},"Fang":{"ra":239.712975,"dec":-26.114105,"pmra":-12.0,"pmdec":-25.71,"rv":-3.0,"plx":5.57,"mag":2.89,"bayer":"6Pi Sco"},"Dschubba":{"ra":240.083355,"dec":-22.62171,"pmra":-8.67,"pmdec":-36.9,"rv":-7.0,"plx":6.64,"mag":2.29,"bayer":"7Del Sco"},"Acrab":{"ra":241.3593,"dec":-19.805453,"pmra":-6.75,"pmdec":-24.89,"rv":-1.0,"plx":8.07,"mag":2.56,"bayer":"8Bet1Sco"},"Acrab B":{"ra":241.36065,"dec":-19.80186,"pmra":-34.59,"pmdec":-7.47,"rv":-4.0,"plx":8.19,"mag":4.9,"bayer":"8Bet2Sco"},"Marsic":{"ra":242.018865,"dec":17.04698,"pmra":-34.29,"pmdec":-5.46,"rv":-11.0,"plx":8.87,"mag":5.0,"bayer":"7Kap Her"},"Jabbah":{"ra":242.99889,"dec":-19.460708,"pmra":-9.7,"pmdec":-25.25,"rv":2.0,"plx":6.88,"mag":4.0,"bayer":"14Nu Sco"},"Yed Prior":{"ra":243.58641,"dec":-3.694323,"pmra":-45.83,"pmdec":-142.91,"rv":-20.0,"plx":19.06,"mag":2.73,"bayer":"1Del Oph"},"Yed Posterior":{"ra":244.58037,"dec":-4.692511,"pmra":82.39,"pmdec":40.08,"rv":-7.7,"plx":30.64,"mag":3.23,"bayer":"2Eps Oph"},"Alniyat":{"ra":245.297145,"dec":-25.592796,"pmra":-10.03,"pmdec":-18.03,"rv":3.0,"plx":4.68,"mag":2.9,"bayer":"20Sig Sco"},"Athebyne":{"ra":245.9979,"dec":61.514213,"pmra":-16.98,"pmdec":56.68,"rv":-13.7,"plx":35.42,"mag":2.73,"bayer":"14Eta Dra"},"Cujam":{"ra":246.35397,"dec":14.03327,"pmra":39.39,"pmdec":-59.89,"rv":-6.0,"plx":13.04,"mag":4.57,"bayer":"24Ome Her"},"Antares":{"ra":247.35192,"dec":-26.432002,"pmra":-10.16,"pmdec":-23.21,"rv":-3.0,"plx":5.89,"mag":1.06,"bayer":"21Alp Sco"},"Kornephoros":{"ra":247.55502,"dec":21.489613,"pmra":-98.43,"pmdec":-14.49,"rv":-26.0,"plx":23.44,"mag":2.78,"bayer":"27Bet Her"},"Marfik":{"ra":247.728435,"dec":1.983923,"pmra":-31.37,"pmdec":-73.0,"rv":-14.0,"plx":18.84,"mag":3.82,"bayer":"10Lam Oph"},"Paikauhale":{"ra":248.970645,"dec":-28.216016,"pmra":-8.59,"pmdec":-22.5,"rv":2.0,"plx":6.88,"mag":2.82,"bayer":"23Tau Sco"},"Atria":{"ra":252.166155,"dec":-69.027715,"pmra":17.85,"pmdec":-32.92,"rv":-3.0,"plx":8.35,"mag":1.91,"bayer":"Alp TrA"},"Larawag":{"ra":252.5412,"dec":-34.293232,"pmra":-611.83,"pmdec":-255.87,"rv":-3.0,"plx":51.19,"mag":2.29,"bayer":"26Eps Sco"},"Xamidimura":{"ra":252.967635,"dec":-38.04738,"pmra":-8.84,"pmdec":-21.6,"rv":-25.0,"plx":6.51,"mag":3.0,"bayer":"Mu 1Sco"},"Pipirima":{"ra":253.083945,"dec":-38.017536,"pmra":-12.92,"pmdec":-23.8,"rv":1.0,"plx":6.88,"mag":3.56,"bayer":"Mu 2Sco"},"Aldhibah":{"ra":257.19672,"dec":65.714683,"pmra":-20.76,"pmdec":19.15,"rv":-17.0,"plx":9.93,"mag":3.17,"bayer":"22Zet Dra"},"Sabik":{"ra":257.59452,"dec":-15.72491,"pmra":41.16,"pmdec":97.65,"rv":-2.4,"plx":36.91,"mag":2.43,"bayer":"35Eta Oph"},"Rasalgethi":{"ra":258.661905,"dec":14.390333,"pmra":-6.71,"pmdec":32.78,"rv":-33.0,"plx":9.07,"mag":2.78,"bayer":"64Alp1Her"},"Sarin":{"ra":258.757965,"dec":24.839204,"pmra":-21.14,"pmdec":-157.68,"rv":-40.0,"plx":43.41,"mag":3.12,"bayer":"65Del Her"},"Guniibuu":{"ra":258.83754,"dec":-26.602829,"pmra":-473.69,"pmdec":-1143.93,"rv":0.9,"plx":168.54,"mag":4.33,"bayer":"36 Oph"},"Rastaban":{"ra":262.608195,"dec":52.301387,"pmra":-15.59,"pmdec":11.57,"rv":-20.0,"plx":8.58,"mag":2.79,"bayer":"23Bet Dra"},"Maasym":{"ra":262.68462,"dec":26.110645,"pmra":18.39,"pmdec":16.78,"rv":-26.0,"plx":8.83,"mag":4.41,"bayer":"76Lam Her"},"Lesath":{"ra":262.69098,"dec":-37.295811,"pmra":-4.19,"pmdec":-29.14,"rv":8.0,"plx":5.66,"mag":2.7,"bayer":"34Ups Sco"},"Yildun":{"ra":263.05377,"dec":86.58646,"pmra":10.54,"pmdec":53.97,"rv":-8.0,"plx":18.95,"mag":4.35,"bayer":"23Del UMi"},"Shaula":{"ra":263.402175,"dec":-37.103821,"pmra":-8.9,"pmdec":-29.95,"rv":-3.0,"plx":5.71,"mag":1.62,"bayer":"35Lam Sco"},"Rasalhague":{"ra":263.733615,"dec":12.560035,"pmra":110.08,"pmdec":-222.61,"rv":12.6,"plx":67.13,"mag":2.08,"bayer":"55Alp Oph"},"Sargas":{"ra":264.3297,"dec":-42.997824,"pmra":6.06,"pmdec":-0.95,"rv":1.0,"plx":10.86,"mag":1.86,"bayer":"The Sco"},"Dziban":{"ra":265.48467,"dec":72.148843,"pmra":26.6,"pmdec":-269.77,"rv":-13.7,"plx":43.79,"mag":4.57,"bayer":"31Psi1Dra"},"Cebalrai":{"ra":265.868145,"dec":4.567303,"pmra":-40.67,"pmdec":158.8,"rv":-12.0,"plx":39.85,"mag":2.76,"bayer":"60Bet Oph"},"Fuyue":{"ra":267.464475,"dec":-37.043304,"pmra":42.09,"pmdec":27.77,"rv":25.0,"plx":25.92,"mag":3.19,"bayer":""},"Grumium":{"ra":268.38201,"dec":56.872643,"pmra":93.65,"pmdec":78.44,"rv":-26.0,"plx":28.98,"mag":3.73,"bayer":"32Xi Dra"},"Eltanin":{"ra":269.151555,"dec":51.488895,"pmra":-8.52,"pmdec":-23.05,"rv":-28.0,"plx":21.14,"mag":2.24,"bayer":"33Gam Dra"},"Alnasl":{"ra":271.452045,"dec":-30.424091,"pmra":-55.75,"pmdec":-181.53,"rv":22.0,"plx":33.67,"mag":2.98,"bayer":"10Gam2Sgr"},"Polis":{"ra":273.44088,"dec":-21.058834,"pmra":1.72,"pmdec":-1.39,"rv":-6.0,"plx":0.01,"mag":3.84,"bayer":"13Mu Sgr"},"Kaus Media":{"ra":275.2485,"dec":-29.828103,"pmra":29.96,"pmdec":-26.38,"rv":-20.0,"plx":9.38,"mag":2.72,"bayer":"19Del Sgr"},"Kaus Australis":{"ra":276.04302,"dec":-34.384616,"pmra":-39.61,"pmdec":-124.05,"rv":-15.0,"plx":22.76,"mag":1.79,"bayer":"20Eps Sgr"},"Fafnir":{"ra":276.496035,"dec":65.56348,"pmra":106.52,"pmdec":-27.07,"rv":32.0,"plx":10.36,"mag":4.82,"bayer":"42 Dra"},"Kaus Borealis":{"ra":276.992685,"dec":-25.4217,"pmra":-44.81,"pmdec":-186.29,"rv":-43.2,"plx":41.72,"mag":2.82,"bayer":"22Lam Sgr"},"Vega":{"ra":279.2346,"dec":38.783692,"pmra":201.02,"pmdec":287.46,"rv":-12.1,"plx":130.23,"mag":0.03,"bayer":"3Alp Lyr"},"Sheliak":{"ra":282.519975,"dec":33.362667,"pmra":1.1,"pmdec":-4.46,"rv":-19.0,"plx":3.39,"mag":3.52,"bayer":"10Bet Lyr"},"Ainalrami":{"ra":283.542405,"dec":-22.744834,"pmra":2.95,"pmdec":-5.7,"rv":-12.0,"plx":2.9,"mag":4.86,"bayer":"32Nu 1Sgr"},"Nunki":{"ra":283.81635,"dec":-26.296722,"pmra":13.87,"pmdec":-52.65,"rv":-11.0,"plx":14.32,"mag":2.05,"bayer":"34Sig Sgr"},"Alya":{"ra":284.054925,"dec":4.203595,"pmra":37.69,"pmdec":26.98,"rv":-46.0,"plx":21.09,"mag":4.62,"bayer":"63The1Ser"},"Alya B":{"ra":284.061015,"dec":4.202132,"pmra":52.42,"pmdec":31.17,"rv":-53.0,"plx":19.25,"mag":4.98,"bayer":"63The2Ser"},"Sulafat":{"ra":284.735925,"dec":32.689557,"pmra":-2.76,"pmdec":1.77,"rv":-21.0,"plx":5.26,"mag":3.25,"bayer":"14Gam Lyr"},"Ascella":{"ra":285.65298,"dec":-29.880105,"pmra":-14.1,"pmdec":3.66,"rv":22.0,"plx":36.98,"mag":2.6,"bayer":"38Zet Sgr"},"Okab":{"ra":286.352535,"dec":13.863478,"pmra":-7.04,"pmdec":-95.31,"rv":-25.0,"plx":39.28,"mag":2.99,"bayer":"17Zet Aql"},"Meridiana":{"ra":287.368035,"dec":-37.904474,"pmra":85.73,"pmdec":-96.65,"rv":-18.0,"plx":26.02,"mag":4.11,"bayer":"Alp CrA"},"Albaldah":{"ra":287.440965,"dec":-21.023615,"pmra":-1.17,"pmdec":-36.83,"rv":-10.0,"plx":6.4,"mag":2.88,"bayer":"41Pi Sgr"},"Altais":{"ra":288.138375,"dec":67.661541,"pmra":94.49,"pmdec":92.3,"rv":25.0,"plx":33.48,"mag":3.07,"bayer":"57Del Dra"},"Aladfar":{"ra":288.43953,"dec":39.145968,"pmra":-1.59,"pmdec":-0.61,"rv":-8.0,"plx":2.35,"mag":4.43,"bayer":"20Eta Lyr"},"Arkab Prior":{"ra":290.659545,"dec":-44.458965,"pmra":7.31,"pmdec":-22.43,"rv":-11.0,"plx":10.4,"mag":3.96,"bayer":"Bet1Sgr"},"Arkab Posterior":{"ra":290.80464,"dec":-44.799778,"pmra":92.78,"pmdec":-53.73,"rv":19.0,"plx":24.31,"mag":4.27,"bayer":"Bet2Sgr"},"Rukbat":{"ra":290.971545,"dec":-40.61594,"pmra":32.67,"pmdec":-120.81,"rv":-1.0,"plx":17.94,"mag":3.96,"bayer":"Alp Sgr"},"Anser":{"ra":292.176405,"dec":24.664905,"pmra":-126.45,"pmdec":-106.99,"rv":-86.0,"plx":10.97,"mag":4.44,"bayer":"6Alp Vul"},"Albireo":{"ra":292.680345,"dec":27.959681,"pmra":-7.09,"pmdec":-5.63,"rv":-24.0,"plx":7.51,"mag":3.05,"bayer":"6Bet1Cyg"},"Alsafi":{"ra":293.087235,"dec":69.661175,"pmra":598.43,"pmdec":-1738.81,"rv":28.2,"plx":173.77,"mag":4.67,"bayer":"61Sig Dra"},"Sham":{"ra":295.024125,"dec":18.01389,"pmra":15.09,"pmdec":-19.72,"rv":2.0,"plx":7.67,"mag":4.39,"bayer":"5Alp Sge"},"Fawaris":{"ra":296.24361,"dec":45.13081,"pmra":43.22,"pmdec":48.44,"rv":-20.0,"plx":19.77,"mag":2.86,"bayer":"18Del Cyg"},"Tarazed":{"ra":296.56491,"dec":10.613261,"pmra":15.72,"pmdec":-3.08,"rv":-2.0,"plx":8.26,"mag":2.72,"bayer":"50Gam Aql"},"Altair":{"ra":297.69582,"dec":8.868322,"pmra":536.82,"pmdec":385.54,"rv":-26.1,"plx":194.95,"mag":0.76,"bayer":"53Alp Aql"},"Libertas":{"ra":298.56201,"dec":8.461453,"pmra":101.43,"pmdec":-81.28,"rv":-42.0,"plx":17.77,"mag":4.71,"bayer":"59Xi Aql"},"Alshain":{"ra":298.828305,"dec":6.406763,"pmra":46.35,"pmdec":-481.32,"rv":-40.7,"plx":73.0,"mag":3.71,"bayer":"60Bet Aql"},"Terebellum":{"ra":298.959765,"dec":-26.299506,"pmra":203.96,"pmdec":74.4,"rv":-21.0,"plx":38.48,"mag":4.7,"bayer":"58Ome Sgr"},"Algedi":{"ra":304.51356,"dec":-12.544852,"pmra":61.78,"pmdec":2.85,"rv":0.7,"plx":30.82,"mag":3.58,"bayer":"6Alp2Cap"},"Alshat":{"ra":305.165895,"dec":-12.75908,"pmra":15.71,"pmdec":-14.63,"rv":-2.0,"plx":12.88,"mag":4.77,"bayer":"8Nu Cap"},"Dabih":{"ra":305.252805,"dec":-14.781367,"pmra":48.42,"pmdec":14.0,"rv":-19.0,"plx":9.98,"mag":3.05,"bayer":"9Bet Cap"},"Sadr":{"ra":305.557095,"dec":40.256679,"pmra":2.43,"pmdec":-0.93,"rv":-8.0,"plx":1.78,"mag":2.23,"bayer":"37Gam Cyg"},"Peacock":{"ra":306.411885,"dec":-56.73509,"pmra":7.71,"pmdec":-86.15,"rv":2.0,"plx":18.24,"mag":1.94,"bayer":"Alp Pav"},"Aldulfin":{"ra":308.303205,"dec":11.303263,"pmra":10.75,"pmdec":-28.54,"rv":-19.0,"plx":9.87,"mag":4.03,"bayer":"2Eps Del"},"Rotanev":{"ra":309.38724,"dec":14.595087,"pmra":118.28,"pmdec":-47.65,"rv":-23.0,"plx":32.33,"mag":3.64,"bayer":"6Bet Del"},"Sualocin":{"ra":309.909525,"dec":15.912072,"pmra":54.14,"pmdec":7.91,"rv":-3.0,"plx":12.85,"mag":3.77,"bayer":"9Alp Del"},"Deneb":{"ra":310.35798,"dec":45.280338,"pmra":1.56,"pmdec":1.55,"rv":-5.0,"plx":2.31,"mag":1.25,"bayer":"50Alp Cyg"},"Aljanah":{"ra":311.55267,"dec":33.970256,"pmra":356.16,"pmdec":330.28,"rv":-10.9,"plx":44.86,"mag":2.48,"bayer":"53Eps Cyg"},"Albali":{"ra":311.91897,"dec":-9.495776,"pmra":31.89,"pmdec":-35.32,"rv":-16.0,"plx":15.7,"mag":3.78,"bayer":"2Eps Aqr"},"Kitalpha":{"ra":318.955965,"dec":5.247845,"pmra":59.63,"pmdec":-94.33,"rv":-16.0,"plx":17.14,"mag":3.92,"bayer":"8Alp Equ"},"Alderamin":{"ra":319.64445,"dec":62.585573,"pmra":149.91,"pmdec":48.27,"rv":-11.5,"plx":66.5,"mag":2.45,"bayer":"5Alp Cep"},"Alfirk":{"ra":322.16493,"dec":70.560716,"pmra":12.6,"pmdec":8.73,"rv":-8.0,"plx":4.76,"mag":3.23,"bayer":"8Bet Cep"},"Sadalsuud":{"ra":322.88973,"dec":-5.571172,"pmra":22.79,"pmdec":-6.7,"rv":7.0,"plx":6.07,"mag":2.9,"bayer":"22Bet Aqr"},"Bunda":{"ra":324.437955,"dec":-7.854201,"pmra":114.29,"pmdec":-24.44,"rv":-21.0,"plx":18.26,"mag":4.68,"bayer":"23Xi Aqr"},"Nashira":{"ra":325.022715,"dec":-16.662308,"pmra":187.39,"pmdec":-22.33,"rv":-31.2,"plx":20.77,"mag":3.69,"bayer":"40Gam Cap"},"Azelfafage":{"ra":325.523595,"dec":51.189622,"pmra":5.25,"pmdec":-2.11,"rv":-8.0,"plx":1.89,"mag":4.69,"bayer":"80Pi 1Cyg"},"Enif":{"ra":326.046495,"dec":9.875011,"pmra":30.02,"pmdec":1.38,"rv":5.0,"plx":4.73,"mag":2.38,"bayer":"8Eps Peg"},"Deneb Algedi":{"ra":326.760165,"dec":-16.127286,"pmra":263.26,"pmdec":-296.23,"rv":-6.3,"plx":84.27,"mag":2.85,"bayer":"49Del Cap"},"Aldhanab":{"ra":328.48212,"dec":-37.364852,"pmra":95.88,"pmdec":-12.1,"rv":-2.0,"plx":15.45,"mag":3.0,"bayer":"Gam Gru"},"Kurhah":{"ra":330.947025,"dec":64.627971,"pmra":214.46,"pmdec":89.29,"rv":-6.0,"plx":33.79,"mag":4.26,"bayer":"17Xi Cep"},"Sadalmelik":{"ra":331.445985,"dec":-0.319851,"pmra":17.9,"pmdec":-9.93,"rv":8.0,"plx":6.23,"mag":2.95,"bayer":"34Alp Aqr"},"Alnair":{"ra":332.058135,"dec":-46.960975,"pmra":127.6,"pmdec":-147.91,"rv":10.9,"plx":32.29,"mag":1.73,"bayer":"Alp Gru"},"Biham":{"ra":332.54994,"dec":6.197865,"pmra":281.96,"pmdec":31.23,"rv":-7.9,"plx":35.34,"mag":3.52,"bayer":"26The Peg"},"Ancha":{"ra":334.208475,"dec":-7.78329,"pmra":118.95,"pmdec":-21.91,"rv":-15.0,"plx":17.4,"mag":4.17,"bayer":"43The Aqr"},"Sadachbia":{"ra":335.41407,"dec":-1.387331,"pmra":129.24,"pmdec":8.9,"rv":-25.6,"plx":19.92,"mag":3.86,"bayer":"48Gam Aqr"},"Homam":{"ra":340.365495,"dec":10.831364,"pmra":77.38,"pmdec":-10.98,"rv":7.0,"plx":15.96,"mag":3.41,"bayer":"42Zet Peg"},"Tiaki":{"ra":340.666725,"dec":-46.884577,"pmra":135.68,"pmdec":-4.51,"rv":2.0,"plx":18.43,"mag":2.07,"bayer":"Bet Gru"},"Matar":{"ra":340.75056,"dec":30.221245,"pmra":13.11,"pmdec":-26.11,"rv":4.0,"plx":15.22,"mag":2.93,"bayer":"44Eta Peg"},"Sadalbari":{"ra":342.500775,"dec":24.601579,"pmra":144.11,"pmdec":-43.44,"rv":15.3,"plx":30.74,"mag":3.51,"bayer":"48Mu Peg"},"Skat":{"ra":343.662555,"dec":-15.82082,"pmra":-44.08,"pmdec":-24.81,"rv":18.0,"plx":20.31,"mag":3.27,"bayer":"76Del Aqr"},"Fomalhaut":{"ra":344.41257,"dec":-29.622236,"pmra":329.22,"pmdec":-164.22,"rv":6.1,"plx":129.81,"mag":1.17,"bayer":"24Alp PsA"},"Scheat":{"ra":345.943515,"dec":28.082789,"pmra":187.76,"pmdec":137.61,"rv":9.0,"plx":16.64,"mag":2.44,"bayer":"53Bet Peg"},"Fumalsamakah":{"ra":345.969225,"dec":3.820045,"pmra":12.86,"pmdec":-10.13,"rv":0.3,"plx":7.99,"mag":4.48,"bayer":"4Bet Psc"},"Markab":{"ra":346.19022,"dec":15.205264,"pmra":61.1,"pmdec":-42.56,"rv":-4.0,"plx":24.46,"mag":2.49,"bayer":"54Alp Peg"},"Salm":{"ra":350.15934,"dec":23.740337,"pmra":30.48,"pmdec":-9.14,"rv":16.0,"plx":20.17,"mag":4.58,"bayer":"62Tau Peg"},"Alkarab":{"ra":351.344895,"dec":23.404101,"pmra":193.12,"pmdec":36.47,"rv":-11.0,"plx":19.14,"mag":4.42,"bayer":"68Ups Peg"},"Errai":{"ra":354.8373,"dec":77.632276,"pmra":-48.85,"pmdec":127.18,"rv":-43.1,"plx":70.91,"mag":3.21,"bayer":"35Gam Cep"},"Castor B":{"ra":113.652405,"dec":31.89052,"pmra":-162.69,"pmdec":-98.14,"rv":-1.2,"plx":63.27,"mag":2.85,"bayer":"66Alp Gem"},"Alula Australis":{"ra":169.54677,"dec":31.528783,"pmra":-425.24,"pmdec":-581.01,"rv":-15.9,"plx":96.0,"mag":4.33,"bayer":"53Xi UMa"},"Alula Australis B":{"ra":169.54677,"dec":31.528783,"pmra":-425.24,"pmdec":-581.01,"rv":-13.6,"plx":96.0,"mag":4.8,"bayer":"53Xi UMa"},"Graffias":{"ra":241.09161,"dec":-11.374611,"pmra":-61.63,"pmdec":-33.19,"rv":-32.2,"plx":41.1,"mag":4.84,"bayer":"Xi Sco"},"Galactic Center":{"ra":266.4168371,"dec":-29.0078106,"pmra":-3.151,"pmdec":-5.547,"rv":0.0,"plx":0.125,"mag":99.0,"bayer":"Sgr A*"}}}
@@ -0,0 +1 @@
1
+ { "provenance": "HYG database v4.1 (github.com/astronexus/HYG-Database, CC BY-SA 4.0): named stars to mag 5, ICRS J2000 with proper motions; Galactic Center per Reid & Brunthaler 2004", "frame": "ICRS J2000.0", "stars": { "Sol": { "ra": 0.0, "dec": 0.0, "pmra": 0.0, "pmdec": 0.0, "rv": 0.0, "plx": 0.0, "mag": -26.7, "bayer": "" }, "Alpheratz": { "ra": 2.096865, "dec": 29.090432, "pmra": 135.68, "pmdec": -162.95, "rv": -12.0, "plx": 33.62, "mag": 2.07, "bayer": "21Alp And" }, "Caph": { "ra": 2.293305, "dec": 59.14978, "pmra": 523.39, "pmdec": -180.42, "rv": 11.3, "plx": 59.58, "mag": 2.28, "bayer": "11Bet Cas" }, "Algenib": { "ra": 3.30897, "dec": 15.183596, "pmra": 4.7, "pmdec": -8.24, "rv": 4.0, "plx": 8.33, "mag": 2.83, "bayer": "88Gam Peg" }, "Ankaa": { "ra": 6.57084, "dec": -42.305981, "pmra": 232.76, "pmdec": -353.64, "rv": 75.0, "plx": 38.5, "mag": 2.4, "bayer": "Alp Phe" }, "Fulu": { "ra": 9.24282, "dec": 53.896909, "pmra": 17.77, "pmdec": -9.15, "rv": 2.0, "plx": 5.5, "mag": 3.69, "bayer": "17Zet Cas" }, "Schedar": { "ra": 10.12674, "dec": 56.537331, "pmra": 50.36, "pmdec": -32.17, "rv": -4.0, "plx": 14.29, "mag": 2.24, "bayer": "18Alp Cas" }, "Diphda": { "ra": 10.89735, "dec": -17.986605, "pmra": 232.79, "pmdec": 32.71, "rv": 13.3, "plx": 33.86, "mag": 2.04, "bayer": "16Bet Cet" }, "Achird": { "ra": 12.2739, "dec": 57.815187, "pmra": 1087.11, "pmdec": -559.65, "rv": 8.2, "plx": 167.98, "mag": 3.46, "bayer": "24Eta Cas" }, "Castula": { "ra": 14.16648, "dec": 59.181056, "pmra": -92.56, "pmdec": -45.33, "rv": -47.0, "plx": 16.32, "mag": 4.62, "bayer": "28Ups2Cas" }, "Cih": { "ra": 14.177145, "dec": 60.71674, "pmra": 25.65, "pmdec": -3.82, "rv": -7.0, "plx": 5.94, "mag": 2.15, "bayer": "27Gam Cas" }, "Wurren": { "ra": 17.09613, "dec": -55.24576, "pmra": 21.17, "pmdec": 29.7, "rv": 15.0, "plx": 10.92, "mag": 3.94, "bayer": "Zet Phe" }, "Mirach": { "ra": 17.43291, "dec": 35.620558, "pmra": 175.59, "pmdec": -112.23, "rv": -0.8, "plx": 16.52, "mag": 2.07, "bayer": "43Bet And" }, "Adhil": { "ra": 20.585055, "dec": 45.528778, "pmra": 32.21, "pmdec": 8.73, "rv": -13.0, "plx": 15.21, "mag": 4.87, "bayer": "46Xi And" }, "Ruchbah": { "ra": 21.45324, "dec": 60.235283, "pmra": 297.24, "pmdec": -49.49, "rv": 7.0, "plx": 32.81, "mag": 2.66, "bayer": "37Del Cas" }, "Alpherg": { "ra": 22.870875, "dec": 15.345823, "pmra": 25.73, "pmdec": -3.29, "rv": 15.0, "plx": 9.33, "mag": 3.62, "bayer": "99Eta Psc" }, "Titawin": { "ra": 24.199485, "dec": 41.405459, "pmra": -172.57, "pmdec": -381.01, "rv": -28.7, "plx": 74.12, "mag": 4.1, "bayer": "50Ups And" }, "Achernar": { "ra": 24.42834, "dec": -57.236757, "pmra": 88.02, "pmdec": -40.08, "rv": 16.0, "plx": 23.39, "mag": 0.45, "bayer": "Alp Eri" }, "Nembus": { "ra": 24.498075, "dec": 48.628213, "pmra": 60.9, "pmdec": -112.42, "rv": 16.0, "plx": 18.41, "mag": 3.59, "bayer": "51 And" }, "Torcular": { "ra": 26.34846, "dec": 9.157736, "pmra": 70.82, "pmdec": 38.99, "rv": 14.0, "plx": 11.67, "mag": 4.26, "bayer": "110Omi Psc" }, "Baten Kaitos": { "ra": 27.86514, "dec": -10.335038, "pmra": 38.78, "pmdec": -38.04, "rv": 9.0, "plx": 13.88, "mag": 3.74, "bayer": "55Zet Cet" }, "Mothallah": { "ra": 28.27044, "dec": 29.578829, "pmra": 12.02, "pmdec": -233.69, "rv": -16.2, "plx": 51.5, "mag": 3.42, "bayer": "2Alp Tri" }, "Mesarthim": { "ra": 28.38255, "dec": 19.293852, "pmra": 79.43, "pmdec": -99.1, "rv": -1.0, "plx": 19.88, "mag": 3.88, "bayer": "5Gam2Ari" }, "Segin": { "ra": 28.59876, "dec": 63.670101, "pmra": 31.98, "pmdec": -18.66, "rv": -8.0, "plx": 7.92, "mag": 3.35, "bayer": "45Eps Cas" }, "Sheratan": { "ra": 28.66002, "dec": 20.808035, "pmra": 96.32, "pmdec": -108.8, "rv": -4.0, "plx": 55.6, "mag": 2.64, "bayer": "6Bet Ari" }, "Alrescha": { "ra": 30.511755, "dec": 2.763759, "pmra": 33.29, "pmdec": -0.42, "rv": 9.0, "plx": 21.66, "mag": 3.82, "bayer": "113Alp Psc" }, "Almach": { "ra": 30.97476, "dec": 42.329725, "pmra": 43.08, "pmdec": -50.85, "rv": -12.0, "plx": 8.3, "mag": 2.1, "bayer": "57Gam1And" }, "Hamal": { "ra": 31.793325, "dec": 23.462423, "pmra": 190.73, "pmdec": -145.77, "rv": -14.4, "plx": 49.56, "mag": 2.01, "bayer": "13Alp Ari" }, "Polaris": { "ra": 37.94625, "dec": 89.264109, "pmra": 44.22, "pmdec": -11.74, "rv": -17.0, "plx": 7.54, "mag": 1.97, "bayer": "1Alp UMi" }, "Kaffaljidhma": { "ra": 40.82517, "dec": 3.235818, "pmra": -146.43, "pmdec": -145.27, "rv": -5.1, "plx": 40.97, "mag": 3.47, "bayer": "86Gam Cet" }, "Lilii Borea": { "ra": 41.9772, "dec": 29.247118, "pmra": 148.42, "pmdec": -125.76, "rv": -15.0, "plx": 19.01, "mag": 4.52, "bayer": "39 Ari" }, "Bharani": { "ra": 42.495945, "dec": 27.260507, "pmra": 65.47, "pmdec": -116.59, "rv": 4.0, "plx": 19.69, "mag": 3.61, "bayer": "41 Ari" }, "Miram": { "ra": 42.674175, "dec": 55.895496, "pmra": 16.64, "pmdec": -13.76, "rv": -1.0, "plx": 3.71, "mag": 3.77, "bayer": "15Eta Per" }, "Angetenar": { "ra": 42.759675, "dec": -21.004019, "pmra": -39.0, "pmdec": -16.63, "rv": -9.0, "plx": 17.45, "mag": 4.76, "bayer": "2Tau2Eri" }, "Azha": { "ra": 44.10687, "dec": -8.898144, "pmra": 77.73, "pmdec": -219.99, "rv": -20.0, "plx": 23.89, "mag": 3.89, "bayer": "3Eta Eri" }, "Acamar": { "ra": 44.565345, "dec": -40.304672, "pmra": -53.53, "pmdec": 25.71, "rv": 12.0, "plx": 20.23, "mag": 2.88, "bayer": "The1Eri" }, "Menkar": { "ra": 45.56988, "dec": 4.089734, "pmra": -11.81, "pmdec": -78.76, "rv": -26.0, "plx": 13.09, "mag": 2.54, "bayer": "92Alp Cet" }, "Algol": { "ra": 47.04222, "dec": 40.955648, "pmra": 2.39, "pmdec": -1.44, "rv": 4.0, "plx": 36.27, "mag": 2.09, "bayer": "26Bet Per" }, "Misam": { "ra": 47.37387, "dec": 44.857544, "pmra": 173.01, "pmdec": -142.05, "rv": 29.0, "plx": 28.93, "mag": 3.79, "bayer": "27Kap Per" }, "Botein": { "ra": 47.90733, "dec": 19.726677, "pmra": 154.61, "pmdec": -8.39, "rv": 25.0, "plx": 19.22, "mag": 4.35, "bayer": "57Del Ari" }, "Dalim": { "ra": 48.018735, "dec": -28.987618, "pmra": 371.49, "pmdec": 612.26, "rv": -20.0, "plx": 70.24, "mag": 3.8, "bayer": "Alp For" }, "Zibal": { "ra": 48.95844, "dec": -8.81973, "pmra": -3.82, "pmdec": 45.52, "rv": -4.0, "plx": 29.72, "mag": 4.8, "bayer": "13Zet Eri" }, "82 G. Eri": { "ra": 49.97916, "dec": -43.069784, "pmra": 3038.08, "pmdec": 726.34, "rv": 86.7, "plx": 165.47, "mag": 4.26, "bayer": "" }, "Mirfak": { "ra": 51.08067, "dec": 49.86118, "pmra": 24.11, "pmdec": -26.01, "rv": -2.0, "plx": 6.44, "mag": 1.79, "bayer": "33Alp Per" }, "Ran": { "ra": 53.23272, "dec": -9.458262, "pmra": -976.44, "pmdec": 17.97, "rv": 16.9, "plx": 310.94, "mag": 3.72, "bayer": "18Eps Eri" }, "Rana": { "ra": 55.81209, "dec": -9.763395, "pmra": -91.71, "pmdec": 742.23, "rv": -5.1, "plx": 110.61, "mag": 3.52, "bayer": "23Del Eri" }, "Atik": { "ra": 56.07972, "dec": 32.288248, "pmra": 8.11, "pmdec": -10.32, "rv": 19.0, "plx": 2.91, "mag": 3.84, "bayer": "38Omi Per" }, "Electra": { "ra": 56.218905, "dec": 24.113339, "pmra": 21.55, "pmdec": -44.92, "rv": 12.0, "plx": 8.06, "mag": 3.72, "bayer": "17 Tau" }, "Taygeta": { "ra": 56.30205, "dec": 24.467278, "pmra": 19.35, "pmdec": -41.63, "rv": 6.0, "plx": 7.97, "mag": 4.3, "bayer": "19 Tau" }, "Maia": { "ra": 56.456685, "dec": 24.367748, "pmra": 21.09, "pmdec": -45.03, "rv": 8.0, "plx": 8.51, "mag": 3.87, "bayer": "20 Tau" }, "Merope": { "ra": 56.58156, "dec": 23.948358, "pmra": 21.17, "pmdec": -42.67, "rv": 6.0, "plx": 8.58, "mag": 4.14, "bayer": "23 Tau" }, "Alcyone": { "ra": 56.87115, "dec": 24.105137, "pmra": 19.35, "pmdec": -43.11, "rv": 10.0, "plx": 8.09, "mag": 2.85, "bayer": "25Eta Tau" }, "Atlas": { "ra": 57.290595, "dec": 24.053415, "pmra": 17.77, "pmdec": -44.7, "rv": 9.0, "plx": 8.53, "mag": 3.62, "bayer": "27 Tau" }, "Zaurak": { "ra": 59.507355, "dec": -13.508515, "pmra": 60.51, "pmdec": -111.34, "rv": 62.0, "plx": 16.04, "mag": 2.97, "bayer": "34Gam Eri" }, "Menkib": { "ra": 59.74125, "dec": 35.791033, "pmra": 1.92, "pmdec": 2.3, "rv": 70.0, "plx": 2.62, "mag": 3.98, "bayer": "46Xi Per" }, "Beid": { "ra": 62.966415, "dec": -6.837581, "pmra": 11.92, "pmdec": 81.28, "rv": 11.0, "plx": 26.8, "mag": 4.04, "bayer": "38Omi1Eri" }, "Keid": { "ra": 63.818055, "dec": -7.652871, "pmra": -2239.33, "pmdec": -3419.86, "rv": -42.7, "plx": 200.62, "mag": 4.43, "bayer": "40Omi2Eri" }, "Prima Hyadum": { "ra": 64.948335, "dec": 15.627642, "pmra": 115.29, "pmdec": -23.86, "rv": 39.0, "plx": 20.19, "mag": 3.65, "bayer": "54Gam Tau" }, "Secunda Hyadum": { "ra": 65.733705, "dec": 17.542514, "pmra": 107.75, "pmdec": -28.84, "rv": 39.0, "plx": 20.96, "mag": 3.77, "bayer": "61Del1Tau" }, "Beemim": { "ra": 66.009195, "dec": -34.016846, "pmra": 73.77, "pmdec": 57.57, "rv": 24.0, "plx": 11.01, "mag": 3.97, "bayer": "43 Eri" }, "Ain": { "ra": 67.154145, "dec": 19.180431, "pmra": 107.23, "pmdec": -36.77, "rv": 39.0, "plx": 22.24, "mag": 3.53, "bayer": "74Eps Tau" }, "Chamukuy": { "ra": 67.165575, "dec": 15.870883, "pmra": 108.66, "pmdec": -26.39, "rv": 40.0, "plx": 21.69, "mag": 3.4, "bayer": "78The2Tau" }, "Theemin": { "ra": 68.88768, "dec": -30.562341, "pmra": -48.92, "pmdec": -12.75, "rv": -4.0, "plx": 15.25, "mag": 3.81, "bayer": "52Ups2Eri" }, "Aldebaran": { "ra": 68.980155, "dec": 16.509301, "pmra": 62.78, "pmdec": -189.36, "rv": 54.5, "plx": 48.94, "mag": 0.87, "bayer": "87Alp Tau" }, "Sceptrum": { "ra": 69.5451, "dec": -14.30402, "pmra": -77.86, "pmdec": -178.06, "rv": 41.8, "plx": 29.69, "mag": 3.86, "bayer": "53 Eri" }, "Tabit": { "ra": 72.460035, "dec": 6.961276, "pmra": 463.44, "pmdec": 11.62, "rv": 24.4, "plx": 123.94, "mag": 3.19, "bayer": "1Pi 3Ori" }, "Hassaleh": { "ra": 74.24841, "dec": 33.16609, "pmra": 3.63, "pmdec": -18.54, "rv": 18.0, "plx": 6.61, "mag": 2.69, "bayer": "3Iot Aur" }, "Almaaz": { "ra": 75.492225, "dec": 43.823308, "pmra": 0.18, "pmdec": -2.31, "rv": -3.0, "plx": 1.53, "mag": 3.03, "bayer": "7Eps Aur" }, "Saclateni": { "ra": 75.619515, "dec": 41.075837, "pmra": 8.88, "pmdec": -21.43, "rv": 13.0, "plx": 4.15, "mag": 3.69, "bayer": "8Zet Aur" }, "Haedus": { "ra": 76.6287, "dec": 41.234474, "pmra": 30.6, "pmdec": -68.41, "rv": 7.0, "plx": 13.4, "mag": 3.18, "bayer": "10Eta Aur" }, "Cursa": { "ra": 76.962435, "dec": -5.086446, "pmra": -83.39, "pmdec": -75.44, "rv": -9.2, "plx": 36.5, "mag": 2.78, "bayer": "67Bet Eri" }, "Rigel": { "ra": 78.63447, "dec": -8.20164, "pmra": 1.87, "pmdec": -0.56, "rv": 21.0, "plx": 3.78, "mag": 0.18, "bayer": "19Bet Ori" }, "Capella": { "ra": 79.17225, "dec": 45.997991, "pmra": 75.52, "pmdec": -427.13, "rv": 22.2, "plx": 76.2, "mag": 0.08, "bayer": "13Alp Aur" }, "Bellatrix": { "ra": 81.282765, "dec": 6.349702, "pmra": -8.75, "pmdec": -13.28, "rv": 18.0, "plx": 12.92, "mag": 1.64, "bayer": "24Gam Ori" }, "Elnath": { "ra": 81.57297, "dec": 28.60745, "pmra": 23.28, "pmdec": -174.22, "rv": 9.0, "plx": 24.36, "mag": 1.65, "bayer": "112Bet Tau" }, "Nihal": { "ra": 82.06134, "dec": -20.759441, "pmra": -5.03, "pmdec": -85.92, "rv": -14.0, "plx": 20.34, "mag": 2.81, "bayer": "9Bet Lep" }, "Mintaka": { "ra": 83.001675, "dec": -0.299092, "pmra": 1.67, "pmdec": 0.56, "rv": 16.0, "plx": 4.71, "mag": 2.25, "bayer": "34Del Ori" }, "Arneb": { "ra": 83.18256, "dec": -17.822289, "pmra": 3.27, "pmdec": 1.54, "rv": 24.0, "plx": 1.47, "mag": 2.58, "bayer": "11Alp Lep" }, "Meissa": { "ra": 83.784495, "dec": 9.934158, "pmra": -1.03, "pmdec": -1.86, "rv": 34.0, "plx": 2.97, "mag": 3.39, "bayer": "39Lam Ori" }, "Hatysa": { "ra": 83.858265, "dec": -5.909901, "pmra": 2.27, "pmdec": -0.62, "rv": 22.0, "plx": 1.4, "mag": 2.75, "bayer": "44Iot Ori" }, "Alnilam": { "ra": 84.053385, "dec": -1.20192, "pmra": 1.49, "pmdec": -1.06, "rv": 26.0, "plx": 1.65, "mag": 1.69, "bayer": "46Eps Ori" }, "Tianguan": { "ra": 84.411195, "dec": 21.142549, "pmra": 2.39, "pmdec": -18.04, "rv": 20.0, "plx": 7.33, "mag": 2.97, "bayer": "123Zet Tau" }, "Phact": { "ra": 84.912255, "dec": -34.074108, "pmra": -0.1, "pmdec": -24.05, "rv": 35.0, "plx": 12.48, "mag": 2.65, "bayer": "Alp Col" }, "Alnitak": { "ra": 85.189695, "dec": -1.942572, "pmra": 3.99, "pmdec": 2.54, "rv": 18.0, "plx": 4.43, "mag": 1.74, "bayer": "50Zet Ori" }, "Saiph": { "ra": 86.939115, "dec": -9.669605, "pmra": 1.55, "pmdec": -1.2, "rv": 21.0, "plx": 5.04, "mag": 2.07, "bayer": "53Kap Ori" }, "Wazn": { "ra": 87.739935, "dec": -35.768309, "pmra": 55.74, "pmdec": 404.68, "rv": 89.0, "plx": 37.41, "mag": 3.12, "bayer": "Bet Col" }, "Betelgeuse": { "ra": 88.792935, "dec": 7.407063, "pmra": 27.33, "pmdec": 10.86, "rv": 21.0, "plx": 6.55, "mag": 0.45, "bayer": "58Alp Ori" }, "Menkalinan": { "ra": 89.882235, "dec": 44.947433, "pmra": -56.41, "pmdec": -0.88, "rv": -19.4, "plx": 40.21, "mag": 1.9, "bayer": "34Bet Aur" }, "Mahasim": { "ra": 89.930265, "dec": 37.212585, "pmra": 42.09, "pmdec": -73.61, "rv": 30.0, "plx": 19.7, "mag": 2.65, "bayer": "37The Aur" }, "Elkurud": { "ra": 91.881795, "dec": -37.25292, "pmra": 0.9, "pmdec": 0.3, "rv": 45.0, "plx": 4.52, "mag": 5.0, "bayer": "The Col" }, "Propus": { "ra": 93.719415, "dec": 22.506799, "pmra": -62.53, "pmdec": -10.24, "rv": 19.0, "plx": 8.48, "mag": 3.31, "bayer": "7Eta Gem" }, "Furud": { "ra": 95.078295, "dec": -30.063367, "pmra": 8.0, "pmdec": 3.81, "rv": 32.0, "plx": 9.0, "mag": 3.02, "bayer": "1Zet CMa" }, "Mirzam": { "ra": 95.674935, "dec": -17.955918, "pmra": -3.45, "pmdec": -0.47, "rv": 34.0, "plx": 6.62, "mag": 1.98, "bayer": "2Bet CMa" }, "Tejat": { "ra": 95.740095, "dec": 22.513586, "pmra": 56.84, "pmdec": -108.79, "rv": 55.0, "plx": 14.08, "mag": 2.87, "bayer": "13Mu Gem" }, "Canopus": { "ra": 95.987925, "dec": -52.69566, "pmra": 19.99, "pmdec": 23.67, "rv": 21.0, "plx": 10.55, "mag": -0.62, "bayer": "Alp Car" }, "Alhena": { "ra": 99.42792, "dec": 16.399252, "pmra": -2.04, "pmdec": -66.92, "rv": -13.0, "plx": 29.84, "mag": 1.93, "bayer": "24Gam Gem" }, "Mebsuta": { "ra": 100.98303, "dec": 25.131124, "pmra": -5.93, "pmdec": -12.81, "rv": 10.0, "plx": 3.86, "mag": 3.06, "bayer": "27Eps Gem" }, "Sirius": { "ra": 101.287215, "dec": -16.716116, "pmra": -546.01, "pmdec": -1223.08, "rv": -9.4, "plx": 379.2, "mag": -1.44, "bayer": "9Alp CMa" }, "Alzirr": { "ra": 101.32236, "dec": 12.895591, "pmra": -115.16, "pmdec": -190.91, "rv": 30.0, "plx": 55.56, "mag": 3.35, "bayer": "31Xi Gem" }, "Adhara": { "ra": 104.656455, "dec": -28.972084, "pmra": 2.63, "pmdec": 2.29, "rv": 27.0, "plx": 8.05, "mag": 1.5, "bayer": "21Eps CMa" }, "Nganurganity": { "ra": 105.42978, "dec": -27.93483, "pmra": -6.01, "pmdec": 4.64, "rv": 22.0, "plx": 2.91, "mag": 3.49, "bayer": "22Sig CMa" }, "Muliphein": { "ra": 105.939555, "dec": -15.633286, "pmra": -0.81, "pmdec": -11.2, "rv": 32.0, "plx": 7.38, "mag": 4.11, "bayer": "23Gam CMa" }, "Mekbuda": { "ra": 106.027215, "dec": 20.570297, "pmra": -5.72, "pmdec": -0.96, "rv": 7.0, "plx": 2.37, "mag": 4.01, "bayer": "43Zet Gem" }, "Wezen": { "ra": 107.097855, "dec": -26.3932, "pmra": -2.75, "pmdec": 3.33, "rv": 34.0, "plx": 2.03, "mag": 1.83, "bayer": "25Del CMa" }, "Wasat": { "ra": 110.030745, "dec": 21.98232, "pmra": -18.72, "pmdec": -7.76, "rv": -15.3, "plx": 53.94, "mag": 3.5, "bayer": "55Del Gem" }, "Aludra": { "ra": 111.02376, "dec": -29.303104, "pmra": -3.76, "pmdec": 6.66, "rv": 41.0, "plx": 1.64, "mag": 2.45, "bayer": "31Eta CMa" }, "Gomeisa": { "ra": 111.78768, "dec": 8.289315, "pmra": -50.28, "pmdec": -38.45, "rv": 22.0, "plx": 20.17, "mag": 2.89, "bayer": "3Bet CMi" }, "Castor": { "ra": 113.64951, "dec": 31.888276, "pmra": -206.33, "pmdec": -148.18, "rv": 6.0, "plx": 64.12, "mag": 1.58, "bayer": "66Alp Gem" }, "Jishui": { "ra": 114.7914, "dec": 34.584346, "pmra": -35.97, "pmdec": -118.03, "rv": 7.0, "plx": 19.61, "mag": 4.89, "bayer": "71Omi Gem" }, "Procyon": { "ra": 114.825495, "dec": 5.224993, "pmra": -716.57, "pmdec": -1034.58, "rv": -4.0, "plx": 284.56, "mag": 0.4, "bayer": "10Alp CMi" }, "Pollux": { "ra": 116.329155, "dec": 28.026199, "pmra": -625.69, "pmdec": -45.95, "rv": 3.6, "plx": 96.54, "mag": 1.16, "bayer": "78Bet Gem" }, "Azmidi": { "ra": 117.323565, "dec": -24.859786, "pmra": -5.56, "pmdec": -0.71, "rv": 3.0, "plx": 2.72, "mag": 3.34, "bayer": "7Xi Pup" }, "Naos": { "ra": 120.896055, "dec": -40.003148, "pmra": -30.82, "pmdec": 16.77, "rv": -24.0, "plx": 3.01, "mag": 2.21, "bayer": "Zet Pup" }, "Tureis": { "ra": 121.886055, "dec": -24.304324, "pmra": -83.29, "pmdec": 46.38, "rv": 46.0, "plx": 51.33, "mag": 2.83, "bayer": "15Rho Pup" }, "Tegmine": { "ra": 123.053025, "dec": 17.647771, "pmra": 28.29, "pmdec": -150.94, "rv": -11.0, "plx": 39.87, "mag": 4.67, "bayer": "16Zet2Cnc" }, "Tarf": { "ra": 124.12884, "dec": 9.185545, "pmra": -46.8, "pmdec": -48.65, "rv": 22.0, "plx": 10.75, "mag": 3.53, "bayer": "17Bet Cnc" }, "Avior": { "ra": 125.62854, "dec": -59.509483, "pmra": -25.34, "pmdec": 22.72, "rv": 2.0, "plx": 5.39, "mag": 1.86, "bayer": "Eps Car" }, "Alsciaukat": { "ra": 125.70882, "dec": 43.188131, "pmra": -25.62, "pmdec": -99.44, "rv": 24.0, "plx": 8.53, "mag": 4.25, "bayer": "31 Lyn" }, "Muscida": { "ra": 127.566465, "dec": 60.718169, "pmra": -134.31, "pmdec": -107.73, "rv": 20.0, "plx": 18.21, "mag": 3.35, "bayer": "1Omi UMa" }, "Minchir": { "ra": 129.689325, "dec": 3.341435, "pmra": -19.03, "pmdec": -16.29, "rv": 25.0, "plx": 8.75, "mag": 4.45, "bayer": "5Sig Hya" }, "Asellus Borealis": { "ra": 130.821465, "dec": 21.468501, "pmra": -106.94, "pmdec": -39.25, "rv": 29.0, "plx": 18.0, "mag": 4.66, "bayer": "43Gam Cnc" }, "Asellus Australis": { "ra": 131.17125, "dec": 18.154309, "pmra": -17.1, "pmdec": -228.46, "rv": 17.0, "plx": 24.98, "mag": 3.94, "bayer": "47Del Cnc" }, "Alsephina": { "ra": 131.175885, "dec": -54.708821, "pmra": 28.78, "pmdec": -104.14, "rv": 2.2, "plx": 40.49, "mag": 1.93, "bayer": "Del Vel" }, "Ashlesha": { "ra": 131.693805, "dec": 6.418809, "pmra": -231.04, "pmdec": -40.17, "rv": 36.0, "plx": 25.23, "mag": 3.38, "bayer": "11Eps Hya" }, "Acubens": { "ra": 134.62176, "dec": 11.857701, "pmra": 41.45, "pmdec": -29.22, "rv": -14.0, "plx": 17.32, "mag": 4.26, "bayer": "65Alp Cnc" }, "Talitha": { "ra": 134.80242, "dec": 48.041826, "pmra": -441.12, "pmdec": -215.21, "rv": 9.0, "plx": 68.92, "mag": 3.12, "bayer": "9Iot UMa" }, "Alkaphrah": { "ra": 135.906405, "dec": 47.156525, "pmra": -37.37, "pmdec": -55.39, "rv": 4.0, "plx": 9.1, "mag": 3.57, "bayer": "12Kap UMa" }, "Suhail": { "ra": 136.99902, "dec": -43.432589, "pmra": -23.21, "pmdec": 14.28, "rv": 18.0, "plx": 5.99, "mag": 2.23, "bayer": "Lam Vel" }, "Miaplacidus": { "ra": 138.300615, "dec": -69.717208, "pmra": -157.66, "pmdec": 108.91, "rv": -5.0, "plx": 28.82, "mag": 1.67, "bayer": "Bet Car" }, "Aspidiske": { "ra": 139.27257, "dec": -59.275229, "pmra": -19.03, "pmdec": 13.11, "rv": 13.0, "plx": 4.26, "mag": 2.21, "bayer": "Iot Car" }, "Markeb": { "ra": 140.52843, "dec": -55.010668, "pmra": -10.72, "pmdec": 11.24, "rv": 22.0, "plx": 5.7, "mag": 2.47, "bayer": "Kap Vel" }, "Alphard": { "ra": 141.89685, "dec": -8.658603, "pmra": -14.49, "pmdec": 33.25, "rv": -4.0, "plx": 18.09, "mag": 1.99, "bayer": "30Alp Hya" }, "Alterf": { "ra": 142.930125, "dec": 22.967971, "pmra": -19.38, "pmdec": -39.04, "rv": 27.0, "plx": 9.91, "mag": 4.32, "bayer": "4Lam Leo" }, "Ukdah": { "ra": 144.964005, "dec": -1.14281, "pmra": 47.81, "pmdec": -62.92, "rv": 23.0, "plx": 12.39, "mag": 3.9, "bayer": "35Iot Hya" }, "Subra": { "ra": 145.287645, "dec": 9.892308, "pmra": -143.67, "pmdec": -37.45, "rv": 27.0, "plx": 25.03, "mag": 3.52, "bayer": "14Omi Leo" }, "Ras Elased Australis": { "ra": 146.46282, "dec": 23.774255, "pmra": -46.09, "pmdec": -9.57, "rv": 4.0, "plx": 13.22, "mag": 2.97, "bayer": "17Eps Leo" }, "Zhang": { "ra": 147.86955, "dec": -14.846603, "pmra": 18.68, "pmdec": -21.88, "rv": -15.0, "plx": 12.36, "mag": 4.11, "bayer": "39Ups1Hya" }, "Rasalas": { "ra": 148.19097, "dec": 26.006951, "pmra": -216.29, "pmdec": -54.92, "rv": 14.0, "plx": 26.28, "mag": 3.88, "bayer": "24Mu Leo" }, "Felis": { "ra": 148.717545, "dec": -19.00936, "pmra": -46.09, "pmdec": -37.04, "rv": 50.0, "plx": 5.31, "mag": 4.94, "bayer": "" }, "Regulus": { "ra": 152.09298, "dec": 11.967207, "pmra": -249.4, "pmdec": 4.91, "rv": 6.0, "plx": 41.13, "mag": 1.36, "bayer": "32Alp Leo" }, "Adhafera": { "ra": 154.172565, "dec": 23.417311, "pmra": 19.84, "pmdec": -7.3, "rv": -16.0, "plx": 11.9, "mag": 3.43, "bayer": "36Zet Leo" }, "Tania Borealis": { "ra": 154.27428, "dec": 42.914365, "pmra": -170.11, "pmdec": -42.64, "rv": 18.0, "plx": 23.72, "mag": 3.45, "bayer": "33Lam UMa" }, "Algieba": { "ra": 154.993095, "dec": 19.841489, "pmra": 310.77, "pmdec": -152.88, "rv": -37.0, "plx": 25.07, "mag": 2.01, "bayer": "41Gam1Leo" }, "Tania Australis": { "ra": 155.582325, "dec": 41.499516, "pmra": -80.47, "pmdec": 34.1, "rv": -21.0, "plx": 14.16, "mag": 3.06, "bayer": "34Mu UMa" }, "Praecipua": { "ra": 163.32789, "dec": 34.214871, "pmra": 92.47, "pmdec": -286.06, "rv": 16.0, "plx": 34.38, "mag": 3.79, "bayer": "46 LMi" }, "Alkes": { "ra": 164.94366, "dec": -18.298783, "pmra": -462.39, "pmdec": 129.11, "rv": 47.0, "plx": 20.49, "mag": 4.08, "bayer": "7Alp Crt" }, "Merak": { "ra": 165.460155, "dec": 56.382427, "pmra": 81.66, "pmdec": 33.74, "rv": -12.0, "plx": 40.9, "mag": 2.34, "bayer": "48Bet UMa" }, "Dubhe": { "ra": 165.932325, "dec": 61.751033, "pmra": -136.46, "pmdec": -35.25, "rv": -9.0, "plx": 26.54, "mag": 1.81, "bayer": "50Alp UMa" }, "Zosma": { "ra": 168.52707, "dec": 20.523717, "pmra": 143.31, "pmdec": -130.43, "rv": -20.2, "plx": 55.82, "mag": 2.56, "bayer": "68Del Leo" }, "Chertan": { "ra": 168.560025, "dec": 15.42957, "pmra": -59.01, "pmdec": -79.37, "rv": 8.0, "plx": 19.76, "mag": 3.33, "bayer": "70The Leo" }, "Alula Borealis": { "ra": 169.619745, "dec": 33.094306, "pmra": -26.61, "pmdec": 27.51, "rv": -9.0, "plx": 8.17, "mag": 3.49, "bayer": "54Nu UMa" }, "Giausar": { "ra": 172.851105, "dec": 69.331076, "pmra": -41.14, "pmdec": -18.79, "rv": 7.0, "plx": 9.79, "mag": 3.82, "bayer": "1Lam Dra" }, "Taiyangshou": { "ra": 176.512725, "dec": 47.779406, "pmra": -138.38, "pmdec": 28.37, "rv": -9.0, "plx": 17.76, "mag": 3.69, "bayer": "63Chi UMa" }, "Denebola": { "ra": 177.264945, "dec": 14.57206, "pmra": -499.02, "pmdec": -113.78, "rv": -0.2, "plx": 90.91, "mag": 2.14, "bayer": "94Bet Leo" }, "Zavijava": { "ra": 177.67383, "dec": 1.764718, "pmra": 740.96, "pmdec": -271.18, "rv": 4.3, "plx": 91.5, "mag": 3.59, "bayer": "5Bet Vir" }, "Phecda": { "ra": 178.45752, "dec": 53.69476, "pmra": 107.76, "pmdec": 11.16, "rv": -13.0, "plx": 39.21, "mag": 2.41, "bayer": "64Gam UMa" }, "Alchiba": { "ra": 182.103375, "dec": -24.728875, "pmra": 100.18, "pmdec": -39.33, "rv": 2.9, "plx": 66.95, "mag": 4.02, "bayer": "1Alp Crv" }, "Imai": { "ra": 183.786405, "dec": -58.748928, "pmra": -36.68, "pmdec": -10.72, "rv": 22.0, "plx": 9.45, "mag": 2.79, "bayer": "Del Cru" }, "Megrez": { "ra": 183.85629, "dec": 57.032617, "pmra": 103.56, "pmdec": 7.81, "rv": -13.4, "plx": 40.51, "mag": 3.32, "bayer": "69Del UMa" }, "Gienah": { "ra": 183.951555, "dec": -17.541929, "pmra": -159.58, "pmdec": 22.31, "rv": -4.0, "plx": 21.23, "mag": 2.58, "bayer": "4Gam Crv" }, "Zaniah": { "ra": 184.97649, "dec": -0.666803, "pmra": -59.14, "pmdec": -23.13, "rv": 2.0, "plx": 12.29, "mag": 3.89, "bayer": "15Eta Vir" }, "Ginan": { "ra": 185.340465, "dec": -60.401147, "pmra": -171.06, "pmdec": 91.82, "rv": -5.0, "plx": 14.19, "mag": 3.59, "bayer": "Eps Cru" }, "Acrux": { "ra": 186.649665, "dec": -63.099092, "pmra": -35.37, "pmdec": -14.73, "rv": -11.0, "plx": 10.13, "mag": 0.77, "bayer": "Alp1Cru" }, "Algorab": { "ra": 187.466085, "dec": -16.515432, "pmra": -209.97, "pmdec": -139.3, "rv": 9.0, "plx": 37.55, "mag": 2.94, "bayer": "7Del Crv" }, "Gacrux": { "ra": 187.791435, "dec": -57.113212, "pmra": 27.94, "pmdec": -264.33, "rv": 21.0, "plx": 36.83, "mag": 1.59, "bayer": "Gam Cru" }, "Chara": { "ra": 188.436165, "dec": 41.35748, "pmra": -705.06, "pmdec": 292.93, "rv": 6.6, "plx": 118.49, "mag": 4.24, "bayer": "8Bet CVn" }, "Kraz": { "ra": 188.596815, "dec": -23.396759, "pmra": 0.86, "pmdec": -56.0, "rv": -8.0, "plx": 22.39, "mag": 2.65, "bayer": "9Bet Crv" }, "Porrima": { "ra": 190.415175, "dec": -1.449375, "pmra": -616.66, "pmdec": 60.66, "rv": -19.9, "plx": 85.58, "mag": 2.74, "bayer": "29Gam Vir" }, "Mimosa": { "ra": 191.930385, "dec": -59.688764, "pmra": -48.24, "pmdec": -12.82, "rv": 16.0, "plx": 11.71, "mag": 1.25, "bayer": "Bet Cru" }, "Alioth": { "ra": 193.50708, "dec": 55.959821, "pmra": 111.74, "pmdec": -8.99, "rv": -9.0, "plx": 39.51, "mag": 1.76, "bayer": "77Eps UMa" }, "Minelauva": { "ra": 193.900875, "dec": 3.39747, "pmra": -471.44, "pmdec": -52.81, "rv": -18.0, "plx": 16.44, "mag": 3.39, "bayer": "43Del Vir" }, "Cor Caroli": { "ra": 194.007105, "dec": 38.31838, "pmra": -233.43, "pmdec": 54.98, "rv": -3.0, "plx": 28.41, "mag": 2.89, "bayer": "12Alp2CVn" }, "Vindemiatrix": { "ra": 195.54417, "dec": 10.95915, "pmra": -275.05, "pmdec": 19.96, "rv": -14.0, "plx": 29.76, "mag": 2.85, "bayer": "47Eps Vir" }, "Diadem": { "ra": 197.497035, "dec": 17.529431, "pmra": -445.95, "pmdec": 129.69, "rv": -11.6, "plx": 56.1, "mag": 4.32, "bayer": "42Alp Com" }, "Mizar": { "ra": 200.981205, "dec": 54.925362, "pmra": 121.23, "pmdec": -22.01, "rv": -5.6, "plx": 38.01, "mag": 2.23, "bayer": "79Zet UMa" }, "Spica": { "ra": 201.298245, "dec": -11.161322, "pmra": -42.5, "pmdec": -31.73, "rv": 1.0, "plx": 13.06, "mag": 0.98, "bayer": "67Alp Vir" }, "Alcor": { "ra": 201.306195, "dec": 54.987958, "pmra": 120.35, "pmdec": -16.94, "rv": -8.9, "plx": 39.91, "mag": 3.99, "bayer": "80 UMa" }, "Heze": { "ra": 203.6733, "dec": -0.59582, "pmra": -278.89, "pmdec": 48.56, "rv": -13.2, "plx": 44.03, "mag": 3.38, "bayer": "79Zet Vir" }, "Alkaid": { "ra": 206.88531, "dec": 49.313265, "pmra": -121.23, "pmdec": -15.56, "rv": -11.0, "plx": 31.38, "mag": 1.85, "bayer": "85Eta UMa" }, "Muphrid": { "ra": 208.671165, "dec": 18.397717, "pmra": -60.95, "pmdec": -358.1, "rv": 1.0, "plx": 87.75, "mag": 2.68, "bayer": "8Eta Boo" }, "Hadar": { "ra": 210.955935, "dec": -60.373039, "pmra": -33.96, "pmdec": -25.06, "rv": 6.0, "plx": 8.32, "mag": 0.61, "bayer": "Bet Cen" }, "Thuban": { "ra": 211.097475, "dec": 64.37585, "pmra": -56.52, "pmdec": 17.19, "rv": -13.0, "plx": 10.76, "mag": 3.67, "bayer": "11Alp Dra" }, "Menkent": { "ra": 211.670925, "dec": -36.369954, "pmra": -519.29, "pmdec": -517.87, "rv": 1.3, "plx": 55.45, "mag": 2.06, "bayer": "5The Cen" }, "Kang": { "ra": 213.223935, "dec": -10.273702, "pmra": 8.04, "pmdec": 140.79, "rv": -4.0, "plx": 12.8, "mag": 4.18, "bayer": "98Kap Vir" }, "Arcturus": { "ra": 213.91545, "dec": 19.18241, "pmra": -1093.45, "pmdec": -1999.4, "rv": -5.0, "plx": 88.83, "mag": -0.05, "bayer": "16Alp Boo" }, "Syrma": { "ra": 214.00362, "dec": -6.000547, "pmra": -25.84, "pmdec": -419.84, "rv": 14.6, "plx": 44.97, "mag": 4.07, "bayer": "99Iot Vir" }, "Xuange": { "ra": 214.09611, "dec": 46.088305, "pmra": -187.42, "pmdec": 159.01, "rv": -8.1, "plx": 32.94, "mag": 4.18, "bayer": "19Lam Boo" }, "Khambalia": { "ra": 214.77747, "dec": -13.371095, "pmra": -17.12, "pmdec": 29.39, "rv": -11.0, "plx": 17.49, "mag": 4.52, "bayer": "100Lam Vir" }, "Elgafar": { "ra": 217.05057, "dec": -2.227957, "pmra": -140.94, "pmdec": -2.92, "rv": -10.1, "plx": 27.58, "mag": 4.81, "bayer": "105Phi Vir" }, "Seginus": { "ra": 218.01954, "dec": 38.308253, "pmra": -115.55, "pmdec": 151.87, "rv": -37.0, "plx": 37.58, "mag": 3.04, "bayer": "27Gam Boo" }, "Toliman": { "ra": 219.90519, "dec": -60.8383, "pmra": -3678.19, "pmdec": 481.84, "rv": -26.2, "plx": 754.83, "mag": 1.35, "bayer": "Alp2Cen" }, "Rigil Kentaurus": { "ra": 219.911475, "dec": -60.833976, "pmra": -3678.19, "pmdec": 481.84, "rv": -26.2, "plx": 754.83, "mag": -0.01, "bayer": "Alp1Cen" }, "Izar": { "ra": 221.24676, "dec": 27.074222, "pmra": -50.65, "pmdec": 20.0, "rv": -23.0, "plx": 16.1, "mag": 2.35, "bayer": "36Eps Boo" }, "Kochab": { "ra": 222.676575, "dec": 74.155505, "pmra": -32.29, "pmdec": 11.91, "rv": 17.0, "plx": 24.91, "mag": 2.07, "bayer": "7Bet UMi" }, "Zubenelgenubi": { "ra": 222.719655, "dec": -16.041778, "pmra": -105.69, "pmdec": -69.0, "rv": -46.7, "plx": 43.03, "mag": 2.75, "bayer": "9Alp2Lib" }, "Nekkar": { "ra": 225.48654, "dec": 40.390566, "pmra": -40.2, "pmdec": -29.22, "rv": -20.0, "plx": 14.48, "mag": 3.49, "bayer": "42Bet Boo" }, "Brachium": { "ra": 226.017585, "dec": -25.281965, "pmra": -71.85, "pmdec": -44.69, "rv": -4.0, "plx": 11.31, "mag": 3.25, "bayer": "20Sig Lib" }, "Zubeneschamali": { "ra": 229.251735, "dec": -9.382917, "pmra": -96.39, "pmdec": -20.76, "rv": -35.0, "plx": 17.62, "mag": 2.61, "bayer": "27Bet Lib" }, "Pherkad": { "ra": 230.182245, "dec": 71.834016, "pmra": -18.03, "pmdec": 17.68, "rv": -4.0, "plx": 6.7, "mag": 3.0, "bayer": "13Gam UMi" }, "Alkalurops": { "ra": 231.122715, "dec": 37.377167, "pmra": -147.68, "pmdec": 84.69, "rv": -8.6, "plx": 28.83, "mag": 4.31, "bayer": "51Mu 1Boo" }, "Edasich": { "ra": 231.23241, "dec": 58.966065, "pmra": -8.27, "pmdec": 17.3, "rv": -11.0, "plx": 32.23, "mag": 3.29, "bayer": "12Iot Dra" }, "Nusakan": { "ra": 231.95727, "dec": 29.105703, "pmra": -181.39, "pmdec": 86.84, "rv": -19.0, "plx": 29.17, "mag": 3.66, "bayer": "3Bet CrB" }, "Alphecca": { "ra": 233.67192, "dec": 26.714693, "pmra": 120.38, "pmdec": -89.44, "rv": 2.0, "plx": 43.46, "mag": 2.22, "bayer": "5Alp CrB" }, "Zubenelhakrabi": { "ra": 233.881575, "dec": -14.789537, "pmra": 65.67, "pmdec": 6.93, "rv": -28.2, "plx": 19.99, "mag": 3.91, "bayer": "38Gam Lib" }, "Unukalhai": { "ra": 236.06697, "dec": 6.425627, "pmra": 134.66, "pmdec": 44.14, "rv": 2.7, "plx": 44.1, "mag": 2.63, "bayer": "24Alp Ser" }, "Gudja": { "ra": 237.184905, "dec": 18.141564, "pmra": -51.78, "pmdec": -88.72, "rv": -39.0, "plx": 8.54, "mag": 4.09, "bayer": "35Kap Ser" }, "Iklil": { "ra": 239.221155, "dec": -29.214073, "pmra": -15.2, "pmdec": -25.1, "rv": 3.3, "plx": 6.91, "mag": 3.87, "bayer": "5Rho Sco" }, "Fang": { "ra": 239.712975, "dec": -26.114105, "pmra": -12.0, "pmdec": -25.71, "rv": -3.0, "plx": 5.57, "mag": 2.89, "bayer": "6Pi Sco" }, "Dschubba": { "ra": 240.083355, "dec": -22.62171, "pmra": -8.67, "pmdec": -36.9, "rv": -7.0, "plx": 6.64, "mag": 2.29, "bayer": "7Del Sco" }, "Acrab": { "ra": 241.3593, "dec": -19.805453, "pmra": -6.75, "pmdec": -24.89, "rv": -1.0, "plx": 8.07, "mag": 2.56, "bayer": "8Bet1Sco" }, "Acrab B": { "ra": 241.36065, "dec": -19.80186, "pmra": -34.59, "pmdec": -7.47, "rv": -4.0, "plx": 8.19, "mag": 4.9, "bayer": "8Bet2Sco" }, "Marsic": { "ra": 242.018865, "dec": 17.04698, "pmra": -34.29, "pmdec": -5.46, "rv": -11.0, "plx": 8.87, "mag": 5.0, "bayer": "7Kap Her" }, "Jabbah": { "ra": 242.99889, "dec": -19.460708, "pmra": -9.7, "pmdec": -25.25, "rv": 2.0, "plx": 6.88, "mag": 4.0, "bayer": "14Nu Sco" }, "Yed Prior": { "ra": 243.58641, "dec": -3.694323, "pmra": -45.83, "pmdec": -142.91, "rv": -20.0, "plx": 19.06, "mag": 2.73, "bayer": "1Del Oph" }, "Yed Posterior": { "ra": 244.58037, "dec": -4.692511, "pmra": 82.39, "pmdec": 40.08, "rv": -7.7, "plx": 30.64, "mag": 3.23, "bayer": "2Eps Oph" }, "Alniyat": { "ra": 245.297145, "dec": -25.592796, "pmra": -10.03, "pmdec": -18.03, "rv": 3.0, "plx": 4.68, "mag": 2.9, "bayer": "20Sig Sco" }, "Athebyne": { "ra": 245.9979, "dec": 61.514213, "pmra": -16.98, "pmdec": 56.68, "rv": -13.7, "plx": 35.42, "mag": 2.73, "bayer": "14Eta Dra" }, "Cujam": { "ra": 246.35397, "dec": 14.03327, "pmra": 39.39, "pmdec": -59.89, "rv": -6.0, "plx": 13.04, "mag": 4.57, "bayer": "24Ome Her" }, "Antares": { "ra": 247.35192, "dec": -26.432002, "pmra": -10.16, "pmdec": -23.21, "rv": -3.0, "plx": 5.89, "mag": 1.06, "bayer": "21Alp Sco" }, "Kornephoros": { "ra": 247.55502, "dec": 21.489613, "pmra": -98.43, "pmdec": -14.49, "rv": -26.0, "plx": 23.44, "mag": 2.78, "bayer": "27Bet Her" }, "Marfik": { "ra": 247.728435, "dec": 1.983923, "pmra": -31.37, "pmdec": -73.0, "rv": -14.0, "plx": 18.84, "mag": 3.82, "bayer": "10Lam Oph" }, "Paikauhale": { "ra": 248.970645, "dec": -28.216016, "pmra": -8.59, "pmdec": -22.5, "rv": 2.0, "plx": 6.88, "mag": 2.82, "bayer": "23Tau Sco" }, "Atria": { "ra": 252.166155, "dec": -69.027715, "pmra": 17.85, "pmdec": -32.92, "rv": -3.0, "plx": 8.35, "mag": 1.91, "bayer": "Alp TrA" }, "Larawag": { "ra": 252.5412, "dec": -34.293232, "pmra": -611.83, "pmdec": -255.87, "rv": -3.0, "plx": 51.19, "mag": 2.29, "bayer": "26Eps Sco" }, "Xamidimura": { "ra": 252.967635, "dec": -38.04738, "pmra": -8.84, "pmdec": -21.6, "rv": -25.0, "plx": 6.51, "mag": 3.0, "bayer": "Mu 1Sco" }, "Pipirima": { "ra": 253.083945, "dec": -38.017536, "pmra": -12.92, "pmdec": -23.8, "rv": 1.0, "plx": 6.88, "mag": 3.56, "bayer": "Mu 2Sco" }, "Aldhibah": { "ra": 257.19672, "dec": 65.714683, "pmra": -20.76, "pmdec": 19.15, "rv": -17.0, "plx": 9.93, "mag": 3.17, "bayer": "22Zet Dra" }, "Sabik": { "ra": 257.59452, "dec": -15.72491, "pmra": 41.16, "pmdec": 97.65, "rv": -2.4, "plx": 36.91, "mag": 2.43, "bayer": "35Eta Oph" }, "Rasalgethi": { "ra": 258.661905, "dec": 14.390333, "pmra": -6.71, "pmdec": 32.78, "rv": -33.0, "plx": 9.07, "mag": 2.78, "bayer": "64Alp1Her" }, "Sarin": { "ra": 258.757965, "dec": 24.839204, "pmra": -21.14, "pmdec": -157.68, "rv": -40.0, "plx": 43.41, "mag": 3.12, "bayer": "65Del Her" }, "Guniibuu": { "ra": 258.83754, "dec": -26.602829, "pmra": -473.69, "pmdec": -1143.93, "rv": 0.9, "plx": 168.54, "mag": 4.33, "bayer": "36 Oph" }, "Rastaban": { "ra": 262.608195, "dec": 52.301387, "pmra": -15.59, "pmdec": 11.57, "rv": -20.0, "plx": 8.58, "mag": 2.79, "bayer": "23Bet Dra" }, "Maasym": { "ra": 262.68462, "dec": 26.110645, "pmra": 18.39, "pmdec": 16.78, "rv": -26.0, "plx": 8.83, "mag": 4.41, "bayer": "76Lam Her" }, "Lesath": { "ra": 262.69098, "dec": -37.295811, "pmra": -4.19, "pmdec": -29.14, "rv": 8.0, "plx": 5.66, "mag": 2.7, "bayer": "34Ups Sco" }, "Yildun": { "ra": 263.05377, "dec": 86.58646, "pmra": 10.54, "pmdec": 53.97, "rv": -8.0, "plx": 18.95, "mag": 4.35, "bayer": "23Del UMi" }, "Shaula": { "ra": 263.402175, "dec": -37.103821, "pmra": -8.9, "pmdec": -29.95, "rv": -3.0, "plx": 5.71, "mag": 1.62, "bayer": "35Lam Sco" }, "Rasalhague": { "ra": 263.733615, "dec": 12.560035, "pmra": 110.08, "pmdec": -222.61, "rv": 12.6, "plx": 67.13, "mag": 2.08, "bayer": "55Alp Oph" }, "Sargas": { "ra": 264.3297, "dec": -42.997824, "pmra": 6.06, "pmdec": -0.95, "rv": 1.0, "plx": 10.86, "mag": 1.86, "bayer": "The Sco" }, "Dziban": { "ra": 265.48467, "dec": 72.148843, "pmra": 26.6, "pmdec": -269.77, "rv": -13.7, "plx": 43.79, "mag": 4.57, "bayer": "31Psi1Dra" }, "Cebalrai": { "ra": 265.868145, "dec": 4.567303, "pmra": -40.67, "pmdec": 158.8, "rv": -12.0, "plx": 39.85, "mag": 2.76, "bayer": "60Bet Oph" }, "Fuyue": { "ra": 267.464475, "dec": -37.043304, "pmra": 42.09, "pmdec": 27.77, "rv": 25.0, "plx": 25.92, "mag": 3.19, "bayer": "" }, "Grumium": { "ra": 268.38201, "dec": 56.872643, "pmra": 93.65, "pmdec": 78.44, "rv": -26.0, "plx": 28.98, "mag": 3.73, "bayer": "32Xi Dra" }, "Eltanin": { "ra": 269.151555, "dec": 51.488895, "pmra": -8.52, "pmdec": -23.05, "rv": -28.0, "plx": 21.14, "mag": 2.24, "bayer": "33Gam Dra" }, "Alnasl": { "ra": 271.452045, "dec": -30.424091, "pmra": -55.75, "pmdec": -181.53, "rv": 22.0, "plx": 33.67, "mag": 2.98, "bayer": "10Gam2Sgr" }, "Polis": { "ra": 273.44088, "dec": -21.058834, "pmra": 1.72, "pmdec": -1.39, "rv": -6.0, "plx": 0.01, "mag": 3.84, "bayer": "13Mu Sgr" }, "Kaus Media": { "ra": 275.2485, "dec": -29.828103, "pmra": 29.96, "pmdec": -26.38, "rv": -20.0, "plx": 9.38, "mag": 2.72, "bayer": "19Del Sgr" }, "Kaus Australis": { "ra": 276.04302, "dec": -34.384616, "pmra": -39.61, "pmdec": -124.05, "rv": -15.0, "plx": 22.76, "mag": 1.79, "bayer": "20Eps Sgr" }, "Fafnir": { "ra": 276.496035, "dec": 65.56348, "pmra": 106.52, "pmdec": -27.07, "rv": 32.0, "plx": 10.36, "mag": 4.82, "bayer": "42 Dra" }, "Kaus Borealis": { "ra": 276.992685, "dec": -25.4217, "pmra": -44.81, "pmdec": -186.29, "rv": -43.2, "plx": 41.72, "mag": 2.82, "bayer": "22Lam Sgr" }, "Vega": { "ra": 279.2346, "dec": 38.783692, "pmra": 201.02, "pmdec": 287.46, "rv": -12.1, "plx": 130.23, "mag": 0.03, "bayer": "3Alp Lyr" }, "Sheliak": { "ra": 282.519975, "dec": 33.362667, "pmra": 1.1, "pmdec": -4.46, "rv": -19.0, "plx": 3.39, "mag": 3.52, "bayer": "10Bet Lyr" }, "Ainalrami": { "ra": 283.542405, "dec": -22.744834, "pmra": 2.95, "pmdec": -5.7, "rv": -12.0, "plx": 2.9, "mag": 4.86, "bayer": "32Nu 1Sgr" }, "Nunki": { "ra": 283.81635, "dec": -26.296722, "pmra": 13.87, "pmdec": -52.65, "rv": -11.0, "plx": 14.32, "mag": 2.05, "bayer": "34Sig Sgr" }, "Alya": { "ra": 284.054925, "dec": 4.203595, "pmra": 37.69, "pmdec": 26.98, "rv": -46.0, "plx": 21.09, "mag": 4.62, "bayer": "63The1Ser" }, "Alya B": { "ra": 284.061015, "dec": 4.202132, "pmra": 52.42, "pmdec": 31.17, "rv": -53.0, "plx": 19.25, "mag": 4.98, "bayer": "63The2Ser" }, "Sulafat": { "ra": 284.735925, "dec": 32.689557, "pmra": -2.76, "pmdec": 1.77, "rv": -21.0, "plx": 5.26, "mag": 3.25, "bayer": "14Gam Lyr" }, "Ascella": { "ra": 285.65298, "dec": -29.880105, "pmra": -14.1, "pmdec": 3.66, "rv": 22.0, "plx": 36.98, "mag": 2.6, "bayer": "38Zet Sgr" }, "Okab": { "ra": 286.352535, "dec": 13.863478, "pmra": -7.04, "pmdec": -95.31, "rv": -25.0, "plx": 39.28, "mag": 2.99, "bayer": "17Zet Aql" }, "Meridiana": { "ra": 287.368035, "dec": -37.904474, "pmra": 85.73, "pmdec": -96.65, "rv": -18.0, "plx": 26.02, "mag": 4.11, "bayer": "Alp CrA" }, "Albaldah": { "ra": 287.440965, "dec": -21.023615, "pmra": -1.17, "pmdec": -36.83, "rv": -10.0, "plx": 6.4, "mag": 2.88, "bayer": "41Pi Sgr" }, "Altais": { "ra": 288.138375, "dec": 67.661541, "pmra": 94.49, "pmdec": 92.3, "rv": 25.0, "plx": 33.48, "mag": 3.07, "bayer": "57Del Dra" }, "Aladfar": { "ra": 288.43953, "dec": 39.145968, "pmra": -1.59, "pmdec": -0.61, "rv": -8.0, "plx": 2.35, "mag": 4.43, "bayer": "20Eta Lyr" }, "Arkab Prior": { "ra": 290.659545, "dec": -44.458965, "pmra": 7.31, "pmdec": -22.43, "rv": -11.0, "plx": 10.4, "mag": 3.96, "bayer": "Bet1Sgr" }, "Arkab Posterior": { "ra": 290.80464, "dec": -44.799778, "pmra": 92.78, "pmdec": -53.73, "rv": 19.0, "plx": 24.31, "mag": 4.27, "bayer": "Bet2Sgr" }, "Rukbat": { "ra": 290.971545, "dec": -40.61594, "pmra": 32.67, "pmdec": -120.81, "rv": -1.0, "plx": 17.94, "mag": 3.96, "bayer": "Alp Sgr" }, "Anser": { "ra": 292.176405, "dec": 24.664905, "pmra": -126.45, "pmdec": -106.99, "rv": -86.0, "plx": 10.97, "mag": 4.44, "bayer": "6Alp Vul" }, "Albireo": { "ra": 292.680345, "dec": 27.959681, "pmra": -7.09, "pmdec": -5.63, "rv": -24.0, "plx": 7.51, "mag": 3.05, "bayer": "6Bet1Cyg" }, "Alsafi": { "ra": 293.087235, "dec": 69.661175, "pmra": 598.43, "pmdec": -1738.81, "rv": 28.2, "plx": 173.77, "mag": 4.67, "bayer": "61Sig Dra" }, "Sham": { "ra": 295.024125, "dec": 18.01389, "pmra": 15.09, "pmdec": -19.72, "rv": 2.0, "plx": 7.67, "mag": 4.39, "bayer": "5Alp Sge" }, "Fawaris": { "ra": 296.24361, "dec": 45.13081, "pmra": 43.22, "pmdec": 48.44, "rv": -20.0, "plx": 19.77, "mag": 2.86, "bayer": "18Del Cyg" }, "Tarazed": { "ra": 296.56491, "dec": 10.613261, "pmra": 15.72, "pmdec": -3.08, "rv": -2.0, "plx": 8.26, "mag": 2.72, "bayer": "50Gam Aql" }, "Altair": { "ra": 297.69582, "dec": 8.868322, "pmra": 536.82, "pmdec": 385.54, "rv": -26.1, "plx": 194.95, "mag": 0.76, "bayer": "53Alp Aql" }, "Libertas": { "ra": 298.56201, "dec": 8.461453, "pmra": 101.43, "pmdec": -81.28, "rv": -42.0, "plx": 17.77, "mag": 4.71, "bayer": "59Xi Aql" }, "Alshain": { "ra": 298.828305, "dec": 6.406763, "pmra": 46.35, "pmdec": -481.32, "rv": -40.7, "plx": 73.0, "mag": 3.71, "bayer": "60Bet Aql" }, "Terebellum": { "ra": 298.959765, "dec": -26.299506, "pmra": 203.96, "pmdec": 74.4, "rv": -21.0, "plx": 38.48, "mag": 4.7, "bayer": "58Ome Sgr" }, "Algedi": { "ra": 304.51356, "dec": -12.544852, "pmra": 61.78, "pmdec": 2.85, "rv": 0.7, "plx": 30.82, "mag": 3.58, "bayer": "6Alp2Cap" }, "Alshat": { "ra": 305.165895, "dec": -12.75908, "pmra": 15.71, "pmdec": -14.63, "rv": -2.0, "plx": 12.88, "mag": 4.77, "bayer": "8Nu Cap" }, "Dabih": { "ra": 305.252805, "dec": -14.781367, "pmra": 48.42, "pmdec": 14.0, "rv": -19.0, "plx": 9.98, "mag": 3.05, "bayer": "9Bet Cap" }, "Sadr": { "ra": 305.557095, "dec": 40.256679, "pmra": 2.43, "pmdec": -0.93, "rv": -8.0, "plx": 1.78, "mag": 2.23, "bayer": "37Gam Cyg" }, "Peacock": { "ra": 306.411885, "dec": -56.73509, "pmra": 7.71, "pmdec": -86.15, "rv": 2.0, "plx": 18.24, "mag": 1.94, "bayer": "Alp Pav" }, "Aldulfin": { "ra": 308.303205, "dec": 11.303263, "pmra": 10.75, "pmdec": -28.54, "rv": -19.0, "plx": 9.87, "mag": 4.03, "bayer": "2Eps Del" }, "Rotanev": { "ra": 309.38724, "dec": 14.595087, "pmra": 118.28, "pmdec": -47.65, "rv": -23.0, "plx": 32.33, "mag": 3.64, "bayer": "6Bet Del" }, "Sualocin": { "ra": 309.909525, "dec": 15.912072, "pmra": 54.14, "pmdec": 7.91, "rv": -3.0, "plx": 12.85, "mag": 3.77, "bayer": "9Alp Del" }, "Deneb": { "ra": 310.35798, "dec": 45.280338, "pmra": 1.56, "pmdec": 1.55, "rv": -5.0, "plx": 2.31, "mag": 1.25, "bayer": "50Alp Cyg" }, "Aljanah": { "ra": 311.55267, "dec": 33.970256, "pmra": 356.16, "pmdec": 330.28, "rv": -10.9, "plx": 44.86, "mag": 2.48, "bayer": "53Eps Cyg" }, "Albali": { "ra": 311.91897, "dec": -9.495776, "pmra": 31.89, "pmdec": -35.32, "rv": -16.0, "plx": 15.7, "mag": 3.78, "bayer": "2Eps Aqr" }, "Kitalpha": { "ra": 318.955965, "dec": 5.247845, "pmra": 59.63, "pmdec": -94.33, "rv": -16.0, "plx": 17.14, "mag": 3.92, "bayer": "8Alp Equ" }, "Alderamin": { "ra": 319.64445, "dec": 62.585573, "pmra": 149.91, "pmdec": 48.27, "rv": -11.5, "plx": 66.5, "mag": 2.45, "bayer": "5Alp Cep" }, "Alfirk": { "ra": 322.16493, "dec": 70.560716, "pmra": 12.6, "pmdec": 8.73, "rv": -8.0, "plx": 4.76, "mag": 3.23, "bayer": "8Bet Cep" }, "Sadalsuud": { "ra": 322.88973, "dec": -5.571172, "pmra": 22.79, "pmdec": -6.7, "rv": 7.0, "plx": 6.07, "mag": 2.9, "bayer": "22Bet Aqr" }, "Bunda": { "ra": 324.437955, "dec": -7.854201, "pmra": 114.29, "pmdec": -24.44, "rv": -21.0, "plx": 18.26, "mag": 4.68, "bayer": "23Xi Aqr" }, "Nashira": { "ra": 325.022715, "dec": -16.662308, "pmra": 187.39, "pmdec": -22.33, "rv": -31.2, "plx": 20.77, "mag": 3.69, "bayer": "40Gam Cap" }, "Azelfafage": { "ra": 325.523595, "dec": 51.189622, "pmra": 5.25, "pmdec": -2.11, "rv": -8.0, "plx": 1.89, "mag": 4.69, "bayer": "80Pi 1Cyg" }, "Enif": { "ra": 326.046495, "dec": 9.875011, "pmra": 30.02, "pmdec": 1.38, "rv": 5.0, "plx": 4.73, "mag": 2.38, "bayer": "8Eps Peg" }, "Deneb Algedi": { "ra": 326.760165, "dec": -16.127286, "pmra": 263.26, "pmdec": -296.23, "rv": -6.3, "plx": 84.27, "mag": 2.85, "bayer": "49Del Cap" }, "Aldhanab": { "ra": 328.48212, "dec": -37.364852, "pmra": 95.88, "pmdec": -12.1, "rv": -2.0, "plx": 15.45, "mag": 3.0, "bayer": "Gam Gru" }, "Kurhah": { "ra": 330.947025, "dec": 64.627971, "pmra": 214.46, "pmdec": 89.29, "rv": -6.0, "plx": 33.79, "mag": 4.26, "bayer": "17Xi Cep" }, "Sadalmelik": { "ra": 331.445985, "dec": -0.319851, "pmra": 17.9, "pmdec": -9.93, "rv": 8.0, "plx": 6.23, "mag": 2.95, "bayer": "34Alp Aqr" }, "Alnair": { "ra": 332.058135, "dec": -46.960975, "pmra": 127.6, "pmdec": -147.91, "rv": 10.9, "plx": 32.29, "mag": 1.73, "bayer": "Alp Gru" }, "Biham": { "ra": 332.54994, "dec": 6.197865, "pmra": 281.96, "pmdec": 31.23, "rv": -7.9, "plx": 35.34, "mag": 3.52, "bayer": "26The Peg" }, "Ancha": { "ra": 334.208475, "dec": -7.78329, "pmra": 118.95, "pmdec": -21.91, "rv": -15.0, "plx": 17.4, "mag": 4.17, "bayer": "43The Aqr" }, "Sadachbia": { "ra": 335.41407, "dec": -1.387331, "pmra": 129.24, "pmdec": 8.9, "rv": -25.6, "plx": 19.92, "mag": 3.86, "bayer": "48Gam Aqr" }, "Homam": { "ra": 340.365495, "dec": 10.831364, "pmra": 77.38, "pmdec": -10.98, "rv": 7.0, "plx": 15.96, "mag": 3.41, "bayer": "42Zet Peg" }, "Tiaki": { "ra": 340.666725, "dec": -46.884577, "pmra": 135.68, "pmdec": -4.51, "rv": 2.0, "plx": 18.43, "mag": 2.07, "bayer": "Bet Gru" }, "Matar": { "ra": 340.75056, "dec": 30.221245, "pmra": 13.11, "pmdec": -26.11, "rv": 4.0, "plx": 15.22, "mag": 2.93, "bayer": "44Eta Peg" }, "Sadalbari": { "ra": 342.500775, "dec": 24.601579, "pmra": 144.11, "pmdec": -43.44, "rv": 15.3, "plx": 30.74, "mag": 3.51, "bayer": "48Mu Peg" }, "Skat": { "ra": 343.662555, "dec": -15.82082, "pmra": -44.08, "pmdec": -24.81, "rv": 18.0, "plx": 20.31, "mag": 3.27, "bayer": "76Del Aqr" }, "Fomalhaut": { "ra": 344.41257, "dec": -29.622236, "pmra": 329.22, "pmdec": -164.22, "rv": 6.1, "plx": 129.81, "mag": 1.17, "bayer": "24Alp PsA" }, "Scheat": { "ra": 345.943515, "dec": 28.082789, "pmra": 187.76, "pmdec": 137.61, "rv": 9.0, "plx": 16.64, "mag": 2.44, "bayer": "53Bet Peg" }, "Fumalsamakah": { "ra": 345.969225, "dec": 3.820045, "pmra": 12.86, "pmdec": -10.13, "rv": 0.3, "plx": 7.99, "mag": 4.48, "bayer": "4Bet Psc" }, "Markab": { "ra": 346.19022, "dec": 15.205264, "pmra": 61.1, "pmdec": -42.56, "rv": -4.0, "plx": 24.46, "mag": 2.49, "bayer": "54Alp Peg" }, "Salm": { "ra": 350.15934, "dec": 23.740337, "pmra": 30.48, "pmdec": -9.14, "rv": 16.0, "plx": 20.17, "mag": 4.58, "bayer": "62Tau Peg" }, "Alkarab": { "ra": 351.344895, "dec": 23.404101, "pmra": 193.12, "pmdec": 36.47, "rv": -11.0, "plx": 19.14, "mag": 4.42, "bayer": "68Ups Peg" }, "Errai": { "ra": 354.8373, "dec": 77.632276, "pmra": -48.85, "pmdec": 127.18, "rv": -43.1, "plx": 70.91, "mag": 3.21, "bayer": "35Gam Cep" }, "Castor B": { "ra": 113.652405, "dec": 31.89052, "pmra": -162.69, "pmdec": -98.14, "rv": -1.2, "plx": 63.27, "mag": 2.85, "bayer": "66Alp Gem" }, "Alula Australis": { "ra": 169.54677, "dec": 31.528783, "pmra": -425.24, "pmdec": -581.01, "rv": -15.9, "plx": 96.0, "mag": 4.33, "bayer": "53Xi UMa" }, "Alula Australis B": { "ra": 169.54677, "dec": 31.528783, "pmra": -425.24, "pmdec": -581.01, "rv": -13.6, "plx": 96.0, "mag": 4.8, "bayer": "53Xi UMa" }, "Graffias": { "ra": 241.09161, "dec": -11.374611, "pmra": -61.63, "pmdec": -33.19, "rv": -32.2, "plx": 41.1, "mag": 4.84, "bayer": "Xi Sco" }, "Galactic Center": { "ra": 266.4168371, "dec": -29.0078106, "pmra": -3.151, "pmdec": -5.547, "rv": 0.0, "plx": 0.125, "mag": 99.0, "bayer": "Sgr A*" } } }
@@ -1,7 +1,8 @@
1
- /** Bundler-friendly embedded dataset: ~85 KB gzipped total. Imports JSON
1
+ /** Bundler-friendly embedded dataset: ~98 KB gzipped total. Imports JSON
2
2
  * statically so web bundlers (Next.js, Vite) inline it -- charts fully
3
- * client-side. The precise moon tier is intentionally NOT here (729 KB);
4
- * fetch it lazily and pass via { ...embeddedData, moonCheb } if wanted. */
3
+ * client-side, including the HYG fixed-star catalog. The precise moon tier
4
+ * is intentionally NOT here (729 KB); fetch it lazily and pass via
5
+ * { ...embeddedData, moonCheb } if wanted. */
5
6
  import mercury from "../data/vsop87d_mercury.embedded.json" with { type: "json" };
6
7
  import venus from "../data/vsop87d_venus.embedded.json" with { type: "json" };
7
8
  import earth from "../data/vsop87d_earth.embedded.json" with { type: "json" };
@@ -14,7 +15,8 @@ import nutation from "../data/nutation_iau1980.json" with { type: "json" };
14
15
  import moonMeeus from "../data/moon_meeus47.json" with { type: "json" };
15
16
  import pluto from "../data/pluto_meeus37.json" with { type: "json" };
16
17
  import chiron from "../data/chiron_cheb.json" with { type: "json" };
18
+ import fixedStars from "../data/fixed_stars.json" with { type: "json" };
17
19
  export const embeddedData = {
18
20
  vsop: { mercury, venus, earth, mars, jupiter, saturn, uranus, neptune },
19
- nutation, moonMeeus, pluto, chiron,
21
+ nutation, moonMeeus, pluto, chiron, fixedStars,
20
22
  };
@@ -29,7 +29,9 @@ export * from "./rajayoga.js";
29
29
  export * from "./patterns.js";
30
30
  export * from "./signature.js";
31
31
  export * from "./interpretation.js";
32
+ export * from "./interpretation-enrich.js";
32
33
  export * from "./interpret.js";
34
+ export * from "./relational.js";
33
35
  export * from "./brief.js";
34
36
  export * from "./provenance.js";
35
37
  export * from "./anchored.js";
package/dist/src/index.js CHANGED
@@ -29,7 +29,9 @@ export * from "./rajayoga.js";
29
29
  export * from "./patterns.js";
30
30
  export * from "./signature.js";
31
31
  export * from "./interpretation.js";
32
+ export * from "./interpretation-enrich.js";
32
33
  export * from "./interpret.js";
34
+ export * from "./relational.js";
33
35
  export * from "./brief.js";
34
36
  export * from "./provenance.js";
35
37
  export * from "./anchored.js";
@@ -74,6 +74,58 @@ export declare function hasLot(filter?: {
74
74
  sign?: string;
75
75
  house?: number;
76
76
  }): Selector;
77
+ /** Matches transit-to-natal aspect atoms. */
78
+ export declare function hasTransit(filter?: {
79
+ transit?: string;
80
+ natal?: string;
81
+ aspect?: string;
82
+ phase?: string;
83
+ minStrength?: number;
84
+ }): Selector;
85
+ /** Matches synastry aspect or house-overlay atoms. */
86
+ export declare function hasSynastry(filter?: {
87
+ mode?: "aspect" | "overlay";
88
+ a?: string;
89
+ b?: string;
90
+ aspect?: string;
91
+ body?: string;
92
+ partner?: "a" | "b";
93
+ house?: number;
94
+ }): Selector;
95
+ /** Matches a composite midpoint placement. */
96
+ export declare function hasComposite(filter?: {
97
+ body?: string;
98
+ sign?: string;
99
+ }): Selector;
100
+ /** Matches an active time-lord period. */
101
+ export declare function hasTimelord(filter?: {
102
+ system?: "profection" | "zr" | "firdaria" | "dasha";
103
+ level?: string;
104
+ lord?: string;
105
+ }): Selector;
106
+ /** Matches finer essential-dignity facts (term, face, triplicity, almuten). */
107
+ export declare function hasDignityFine(filter?: {
108
+ facet?: "term" | "face" | "triplicity" | "almuten";
109
+ body?: string;
110
+ ruler?: string;
111
+ }): Selector;
112
+ /** Matches a nakshatra placement. */
113
+ export declare function hasNakshatra(filter?: {
114
+ body?: string;
115
+ name?: string;
116
+ lord?: string;
117
+ }): Selector;
118
+ /** Matches a varga (divisional chart) placement. */
119
+ export declare function hasVarga(filter?: {
120
+ division?: number;
121
+ body?: string;
122
+ sign?: string;
123
+ }): Selector;
124
+ /** Matches a classical yoga. */
125
+ export declare function hasYoga(filter?: {
126
+ yoga?: string;
127
+ body?: string;
128
+ }): Selector;
77
129
  /** Matches only when every selector matches; returns the union of their atoms. */
78
130
  export declare function matchAll(...sels: Selector[]): Selector;
79
131
  /** Matches when any selector matches; returns the atoms from those that did. */
@@ -74,6 +74,86 @@ export function hasLot(filter = {}) {
74
74
  && (filter.sign === undefined || a.sign === filter.sign)
75
75
  && (filter.house === undefined || a.house === filter.house)));
76
76
  }
77
+ /** Matches transit-to-natal aspect atoms. */
78
+ export function hasTransit(filter = {}) {
79
+ return (ctx) => hit(ctx.atoms.filter((a) => {
80
+ if (a.kind !== "transit")
81
+ return false;
82
+ if (filter.transit !== undefined && a.transit !== filter.transit)
83
+ return false;
84
+ if (filter.natal !== undefined && a.natal !== filter.natal)
85
+ return false;
86
+ if (filter.aspect !== undefined && a.aspect !== filter.aspect)
87
+ return false;
88
+ if (filter.phase !== undefined && a.phase !== filter.phase)
89
+ return false;
90
+ if (filter.minStrength !== undefined && a.strength < filter.minStrength)
91
+ return false;
92
+ return true;
93
+ }));
94
+ }
95
+ /** Matches synastry aspect or house-overlay atoms. */
96
+ export function hasSynastry(filter = {}) {
97
+ return (ctx) => hit(ctx.atoms.filter((a) => {
98
+ if (a.kind !== "synastry")
99
+ return false;
100
+ if (filter.mode !== undefined && a.mode !== filter.mode)
101
+ return false;
102
+ if (filter.a !== undefined && a.a !== filter.a)
103
+ return false;
104
+ if (filter.b !== undefined && a.b !== filter.b)
105
+ return false;
106
+ if (filter.aspect !== undefined && a.aspect !== filter.aspect)
107
+ return false;
108
+ if (filter.body !== undefined && a.body !== filter.body)
109
+ return false;
110
+ if (filter.partner !== undefined && a.partner !== filter.partner)
111
+ return false;
112
+ if (filter.house !== undefined && a.house !== filter.house)
113
+ return false;
114
+ return true;
115
+ }));
116
+ }
117
+ /** Matches a composite midpoint placement. */
118
+ export function hasComposite(filter = {}) {
119
+ return (ctx) => hit(ctx.atoms.filter((a) => a.kind === "composite"
120
+ && (filter.body === undefined || a.body === filter.body)
121
+ && (filter.sign === undefined || a.sign === filter.sign)));
122
+ }
123
+ /** Matches an active time-lord period. */
124
+ export function hasTimelord(filter = {}) {
125
+ return (ctx) => hit(ctx.atoms.filter((a) => a.kind === "timelord"
126
+ && (filter.system === undefined || a.system === filter.system)
127
+ && (filter.level === undefined || a.level === filter.level)
128
+ && (filter.lord === undefined || a.lord === filter.lord)));
129
+ }
130
+ /** Matches finer essential-dignity facts (term, face, triplicity, almuten). */
131
+ export function hasDignityFine(filter = {}) {
132
+ return (ctx) => hit(ctx.atoms.filter((a) => a.kind === "dignity"
133
+ && (filter.facet === undefined || a.facet === filter.facet)
134
+ && (filter.body === undefined || a.body === filter.body)
135
+ && (filter.ruler === undefined || a.ruler === filter.ruler)));
136
+ }
137
+ /** Matches a nakshatra placement. */
138
+ export function hasNakshatra(filter = {}) {
139
+ return (ctx) => hit(ctx.atoms.filter((a) => a.kind === "nakshatra"
140
+ && (filter.body === undefined || a.body === filter.body)
141
+ && (filter.name === undefined || a.name === filter.name)
142
+ && (filter.lord === undefined || a.lord === filter.lord)));
143
+ }
144
+ /** Matches a varga (divisional chart) placement. */
145
+ export function hasVarga(filter = {}) {
146
+ return (ctx) => hit(ctx.atoms.filter((a) => a.kind === "varga"
147
+ && (filter.division === undefined || a.division === filter.division)
148
+ && (filter.body === undefined || a.body === filter.body)
149
+ && (filter.sign === undefined || a.sign === filter.sign)));
150
+ }
151
+ /** Matches a classical yoga. */
152
+ export function hasYoga(filter = {}) {
153
+ return (ctx) => hit(ctx.atoms.filter((a) => a.kind === "yoga"
154
+ && (filter.yoga === undefined || a.yoga === filter.yoga)
155
+ && (filter.body === undefined || a.bodies.includes(filter.body))));
156
+ }
77
157
  // ----------------------------------------------------------------- combinators
78
158
  /** Matches only when every selector matches; returns the union of their atoms. */
79
159
  export function matchAll(...sels) {
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Enrich an {@link interpretationContext} with diachronic and Vedic facts at a
3
+ * target instant — transits, time-lords, nakshatras, vargas, yogas.
4
+ */
5
+ import { type Chart, type Engine, type Zodiac } from "./chart.js";
6
+ import type { ContextOptions } from "./interpretation.js";
7
+ export interface EnrichTarget {
8
+ jd: number;
9
+ lat: number;
10
+ lonEast: number;
11
+ zodiac?: Zodiac;
12
+ }
13
+ export interface EnrichFlags {
14
+ /** Project transit-to-natal aspects. Default true. */
15
+ transits?: boolean;
16
+ /** Project profection, ZR, firdaria, dasha. Default true. */
17
+ timelords?: boolean;
18
+ /** Project nakshatras, D9, yogas. Default true when chart zodiac is sidereal. */
19
+ vedic?: boolean;
20
+ /** Max orb for transit aspects. Default 3. */
21
+ transitOrb?: number;
22
+ }
23
+ /**
24
+ * Build {@link ContextOptions} extras for a natal chart evaluated at `target`.
25
+ * Merge the result into `interpretationContext(chart, { ...base, ...extras })`.
26
+ */
27
+ export declare function enrichContextOptions(engine: Engine, chart: Chart, target: EnrichTarget, flags?: EnrichFlags): Pick<ContextOptions, "transits" | "timelords" | "vedic">;
28
+ /** Synastry and composite atoms for two natal charts (A is the projection base). */
29
+ export declare function enrichSynastryOptions(engine: Engine, chartA: Chart, chartB: Chart, opts?: {
30
+ orb?: number;
31
+ zodiac?: Zodiac;
32
+ }): Pick<ContextOptions, "synastry" | "composite">;
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Enrich an {@link interpretationContext} with diachronic and Vedic facts at a
3
+ * target instant — transits, time-lords, nakshatras, vargas, yogas.
4
+ */
5
+ import { BODIES } from "./chart.js";
6
+ import { firdariaAt } from "./firdaria.js";
7
+ import { profectionAt } from "./profections.js";
8
+ import { zrAt } from "./releasing.js";
9
+ import { compositePlacements, synastryAspects, synastryOverlays, transitAspects, } from "./relational.js";
10
+ import { vimshottariAt } from "./vedic.js";
11
+ import { yogasAt } from "./yogas.js";
12
+ /**
13
+ * Build {@link ContextOptions} extras for a natal chart evaluated at `target`.
14
+ * Merge the result into `interpretationContext(chart, { ...base, ...extras })`.
15
+ */
16
+ export function enrichContextOptions(engine, chart, target, flags = {}) {
17
+ const zodiac = target.zodiac ?? chart.zodiac;
18
+ const { lat, lonEast } = target;
19
+ const out = {};
20
+ if (flags.transits !== false) {
21
+ out.transits = transitAspects(chart, engine, target.jd, {
22
+ maxOrb: flags.transitOrb ?? 3, zodiac,
23
+ });
24
+ }
25
+ if (flags.timelords !== false) {
26
+ const prof = profectionAt(engine, chart.jdUt, target.jd, lat, lonEast, zodiac);
27
+ const zr = zrAt(engine, chart.jdUt, target.jd, lat, lonEast);
28
+ const fir = firdariaAt(engine, chart.jdUt, target.jd, lat, lonEast);
29
+ const dasha = vimshottariAt(engine, chart.jdUt, target.jd, "sidereal:lahiri");
30
+ out.timelords = {
31
+ profection: prof,
32
+ zr: {
33
+ l1: zr.l1, l2: zr.l2, l3: zr.l3, l4: zr.l4, lot: zr.lot,
34
+ },
35
+ firdaria: { major: fir.major, sub: fir.sub, day: fir.day },
36
+ dasha: {
37
+ maha: dasha.maha, antar: dasha.antar ?? null,
38
+ pratyantar: dasha.pratyantar ?? null, moon_nakshatra: dasha.moon_nakshatra,
39
+ },
40
+ };
41
+ }
42
+ const wantVedic = flags.vedic ?? zodiac.startsWith("sidereal");
43
+ if (wantVedic) {
44
+ out.vedic = {
45
+ nakshatraBodies: ["moon", "sun", "mars", "mercury", "jupiter", "venus", "saturn"],
46
+ vargas: [9],
47
+ yogas: yogasAt(engine, chart.jdUt, lat, lonEast, "sidereal:lahiri"),
48
+ };
49
+ }
50
+ return out;
51
+ }
52
+ /** Synastry and composite atoms for two natal charts (A is the projection base). */
53
+ export function enrichSynastryOptions(engine, chartA, chartB, opts = {}) {
54
+ const orb = opts.orb ?? 4;
55
+ const zodiac = opts.zodiac ?? chartA.zodiac;
56
+ return {
57
+ synastry: {
58
+ aspects: synastryAspects(chartA, chartB, orb),
59
+ overlays: synastryOverlays(chartA, chartB),
60
+ },
61
+ composite: compositePlacements(engine, chartA.jdUt, chartB.jdUt, BODIES, zodiac),
62
+ };
63
+ }
@@ -3,8 +3,10 @@ import type { AspectPhase } from "./electional.js";
3
3
  import { ChartPattern } from "./patterns.js";
4
4
  import { ChartSignature } from "./signature.js";
5
5
  import type { Realm, Certainty } from "./provenance.js";
6
+ import type { Profection } from "./profections.js";
7
+ import type { CompositePlacement, SynastryAspectHit, SynastryOverlays, TransitHit } from "./relational.js";
6
8
  /** Atom kinds in an {@link InterpretationContext}. */
7
- export type FactKind = "placement" | "aspect" | "pattern" | "signature" | "angle" | "dispositor" | "reception" | "star" | "lot";
9
+ export type FactKind = "placement" | "aspect" | "pattern" | "signature" | "angle" | "dispositor" | "reception" | "star" | "lot" | "transit" | "synastry" | "composite" | "timelord" | "dignity" | "nakshatra" | "varga" | "yoga";
8
10
  interface FactAtomBase {
9
11
  /** Stable, content-addressable id, e.g. `"placement:mars"` or
10
12
  * `"aspect:mars~saturn:square"`. Interpretations cite this. */
@@ -89,7 +91,66 @@ export interface LotAtom extends FactAtomBase {
89
91
  signDeg: number;
90
92
  house: number;
91
93
  }
92
- export type FactAtom = PlacementAtom | AspectAtom | PatternAtom | SignatureAtom | AngleAtom | DispositorAtom | ReceptionAtom | StarAtom | LotAtom;
94
+ export interface TransitAtom extends FactAtomBase {
95
+ kind: "transit";
96
+ transit: string;
97
+ natal: string;
98
+ aspect: string;
99
+ orb: number;
100
+ phase: AspectPhase;
101
+ strength: number;
102
+ natalHouse: number;
103
+ }
104
+ export interface SynastryAtom extends FactAtomBase {
105
+ kind: "synastry";
106
+ mode: "aspect" | "overlay";
107
+ a?: string;
108
+ b?: string;
109
+ aspect?: string;
110
+ orb?: number;
111
+ strength?: number;
112
+ body?: string;
113
+ partner?: "a" | "b";
114
+ house?: number;
115
+ }
116
+ export interface CompositeAtom extends FactAtomBase {
117
+ kind: "composite";
118
+ body: string;
119
+ sign: string;
120
+ signDeg: number;
121
+ }
122
+ export interface TimelordAtom extends FactAtomBase {
123
+ kind: "timelord";
124
+ system: "profection" | "zr" | "firdaria" | "dasha";
125
+ level: string;
126
+ lord: string;
127
+ sign?: string;
128
+ }
129
+ export interface DignityAtom extends FactAtomBase {
130
+ kind: "dignity";
131
+ facet: "term" | "face" | "triplicity" | "almuten";
132
+ body: string;
133
+ ruler?: string;
134
+ }
135
+ export interface NakshatraAtom extends FactAtomBase {
136
+ kind: "nakshatra";
137
+ body: string;
138
+ name: string;
139
+ pada: number;
140
+ lord: string;
141
+ }
142
+ export interface VargaAtom extends FactAtomBase {
143
+ kind: "varga";
144
+ division: number;
145
+ body: string;
146
+ sign: string;
147
+ }
148
+ export interface YogaAtom extends FactAtomBase {
149
+ kind: "yoga";
150
+ yoga: string;
151
+ planets: string[];
152
+ }
153
+ export type FactAtom = PlacementAtom | AspectAtom | PatternAtom | SignatureAtom | AngleAtom | DispositorAtom | ReceptionAtom | StarAtom | LotAtom | TransitAtom | SynastryAtom | CompositeAtom | TimelordAtom | DignityAtom | NakshatraAtom | VargaAtom | YogaAtom;
93
154
  /** A chart as a flat, ranked list of {@link FactAtom}s. */
94
155
  export interface InterpretationContext {
95
156
  jdUt: number;
@@ -129,6 +190,18 @@ export interface SalienceWeights {
129
190
  star: number;
130
191
  /** Added to a Hermetic lot (the Part of Fortune and its companions). */
131
192
  lot: number;
193
+ /** Added to a transit-to-natal aspect. */
194
+ transit: number;
195
+ /** Added to a synastry aspect or house overlay. */
196
+ synastry: number;
197
+ /** Added to a composite midpoint placement. */
198
+ composite: number;
199
+ /** Added to an active time-lord period. */
200
+ timelord: number;
201
+ /** Added to a finer essential-dignity fact. */
202
+ dignityFine: number;
203
+ /** Added to a nakshatra / varga / yoga fact. */
204
+ vedic: number;
132
205
  }
133
206
  export declare const DEFAULT_SALIENCE: SalienceWeights;
134
207
  export interface ContextOptions {
@@ -159,6 +232,48 @@ export interface ContextOptions {
159
232
  signDeg: number;
160
233
  house: number;
161
234
  }[];
235
+ /** Transit-to-natal hits, e.g. from {@link transitAspects}. */
236
+ transits?: TransitHit[];
237
+ /** Synastry aspects and/or house overlays between two charts. */
238
+ synastry?: {
239
+ aspects?: SynastryAspectHit[];
240
+ overlays?: SynastryOverlays;
241
+ };
242
+ /** Composite midpoint placements, e.g. from {@link compositePlacements}. */
243
+ composite?: CompositePlacement[];
244
+ /** Active time-lord periods at a target instant (caller-supplied). */
245
+ timelords?: {
246
+ profection?: Profection;
247
+ zr?: {
248
+ l1: string;
249
+ l2: string;
250
+ l3: string;
251
+ l4: string;
252
+ lot?: string;
253
+ };
254
+ firdaria?: {
255
+ major: string | null;
256
+ sub: string | null;
257
+ day?: boolean;
258
+ };
259
+ dasha?: {
260
+ maha: string;
261
+ antar?: string | null;
262
+ pratyantar?: string | null;
263
+ moon_nakshatra?: string;
264
+ };
265
+ };
266
+ /** Vedic structure facts (caller-supplied or auto from sidereal chart). */
267
+ vedic?: {
268
+ /** Project nakshatras for these bodies from the chart longitudes. */
269
+ nakshatraBodies?: string[];
270
+ /** Project varga D-n for these bodies (default `[9]` when set true). */
271
+ vargas?: number[] | true;
272
+ yogas?: {
273
+ yoga: string;
274
+ planets: string[];
275
+ }[];
276
+ };
162
277
  }
163
278
  /**
164
279
  * Project a {@link Chart} into a ranked list of {@link FactAtom}s -- the
@@ -23,7 +23,9 @@ import { mod } from "./core.js";
23
23
  import { SIGNS, DOMICILE, EXALTATION } from "./chart.js";
24
24
  import { detectPatterns } from "./patterns.js";
25
25
  import { chartSignature } from "./signature.js";
26
- import { TRIPLICITY } from "./dignity-score.js";
26
+ import { TRIPLICITY, dignityScore, almuten } from "./dignity-score.js";
27
+ import { nakshatra } from "./vedic.js";
28
+ import { varga } from "./vargas.js";
27
29
  const LUMINARIES = new Set(["sun", "moon"]);
28
30
  const ANGULAR_HOUSES = new Set([1, 4, 7, 10]);
29
31
  const HARD_ASPECTS = new Set(["conjunction", "square", "opposition"]);
@@ -53,7 +55,8 @@ const DIGNITY_RANK = { domicile: 3, exaltation: 2, triplicity: 1 };
53
55
  export const DEFAULT_SALIENCE = {
54
56
  base: 1, luminary: 1.5, angular: 1, chartRuler: 1,
55
57
  dignity: 0.5, hardAspect: 1, pattern: 4, dispositor: 0.5, reception: 2,
56
- star: 2, lot: 2,
58
+ star: 2, lot: 2, transit: 1.5, synastry: 1, composite: 0.8, timelord: 2,
59
+ dignityFine: 0.4, vedic: 1,
57
60
  };
58
61
  /** How much to keep of a time-sensitive atom's salience at each certainty -- the
59
62
  * Moon and the angles move fastest, so an uncertain instant trusts them least. */
@@ -254,6 +257,218 @@ export function interpretationContext(chart, opts = {}) {
254
257
  text: `Lot of ${title(l.lot)} in ${l.sign}, house ${l.house}`,
255
258
  });
256
259
  }
260
+ // Finer essential dignities: term, face, triplicity held, almuten of each degree.
261
+ const chartSect = sunHouse !== undefined && sunHouse >= 7 ? "day" : "night";
262
+ for (const body of CLASSICAL) {
263
+ const p = chart.bodies[body];
264
+ if (!p)
265
+ continue;
266
+ const ds = dignityScore(body, p.lon, chartSect);
267
+ const alm = almuten(p.lon, chartSect);
268
+ let sal = w.base + w.dignityFine;
269
+ if (LUMINARIES.has(body))
270
+ sal += w.luminary;
271
+ atoms.push({
272
+ id: `term:${body}:${ds.term_ruler}`, kind: "dignity", bodies: [body], salience: sal,
273
+ facet: "term", body, ruler: ds.term_ruler,
274
+ text: `${title(body)} in the term of ${title(ds.term_ruler)}`
275
+ + (ds.term > 0 ? " (holds term dignity)" : ""),
276
+ });
277
+ atoms.push({
278
+ id: `face:${body}:${ds.face_ruler}`, kind: "dignity", bodies: [body], salience: sal,
279
+ facet: "face", body, ruler: ds.face_ruler,
280
+ text: `${title(body)} in the face of ${title(ds.face_ruler)}`
281
+ + (ds.face > 0 ? " (holds face dignity)" : ""),
282
+ });
283
+ if (ds.triplicity > 0) {
284
+ atoms.push({
285
+ id: `triplicity:${body}`, kind: "dignity", bodies: [body],
286
+ salience: sal + w.dignity, facet: "triplicity", body,
287
+ text: `${title(body)} holds ${chartSect} triplicity`,
288
+ });
289
+ }
290
+ atoms.push({
291
+ id: `almuten:${body}:${alm.planet}`, kind: "dignity", bodies: [body],
292
+ salience: sal + (alm.planet === body ? w.dignity : 0),
293
+ facet: "almuten", body, ruler: alm.planet,
294
+ text: `${title(alm.planet)} is almuten of ${title(body)}'s degree`,
295
+ });
296
+ }
297
+ // Transit-to-natal aspects (caller-supplied).
298
+ for (const t of opts.transits ?? []) {
299
+ let salience = w.base + w.transit + t.strength;
300
+ if (HARD_ASPECTS.has(t.aspect))
301
+ salience += w.hardAspect;
302
+ if (LUMINARIES.has(t.transit) || LUMINARIES.has(t.natal))
303
+ salience += w.luminary;
304
+ atoms.push({
305
+ id: `transit:${t.transit}~natal_${t.natal}:${t.aspect}`, kind: "transit",
306
+ bodies: [t.transit, t.natal], salience,
307
+ transit: t.transit, natal: t.natal, aspect: t.aspect, orb: t.orb,
308
+ phase: t.phase, strength: t.strength, natalHouse: t.natalHouse,
309
+ text: `Transiting ${title(t.transit)} ${t.aspect} natal ${title(t.natal)} `
310
+ + `(${t.phase}, orb ${t.orb.toFixed(1)}°, natal house ${t.natalHouse})`,
311
+ });
312
+ }
313
+ // Synastry: inter-chart aspects and house overlays.
314
+ for (const s of opts.synastry?.aspects ?? []) {
315
+ let salience = w.base + w.synastry + s.strength;
316
+ if (HARD_ASPECTS.has(s.aspect))
317
+ salience += w.hardAspect;
318
+ if (LUMINARIES.has(s.a) || LUMINARIES.has(s.b))
319
+ salience += w.luminary;
320
+ atoms.push({
321
+ id: `synastry:${s.a}~b_${s.b}:${s.aspect}`, kind: "synastry",
322
+ bodies: [s.a, s.b], salience, mode: "aspect",
323
+ a: s.a, b: s.b, aspect: s.aspect, orb: s.orb, strength: s.strength,
324
+ text: `${title(s.a)} ${s.aspect} partner's ${title(s.b)} (orb ${s.orb.toFixed(1)}°)`,
325
+ });
326
+ }
327
+ const overlays = opts.synastry?.overlays;
328
+ if (overlays) {
329
+ for (const [body, house] of Object.entries(overlays.aInB)) {
330
+ atoms.push({
331
+ id: `synastry:overlay:a:${body}:house:${house}`, kind: "synastry",
332
+ bodies: [body], salience: w.base + w.synastry, mode: "overlay",
333
+ body, partner: "a", house,
334
+ text: `${title(body)} falls in partner's house ${house}`,
335
+ });
336
+ }
337
+ for (const [body, house] of Object.entries(overlays.bInA)) {
338
+ atoms.push({
339
+ id: `synastry:overlay:b:${body}:house:${house}`, kind: "synastry",
340
+ bodies: [body], salience: w.base + w.synastry, mode: "overlay",
341
+ body, partner: "b", house,
342
+ text: `Partner's ${title(body)} falls in house ${house}`,
343
+ });
344
+ }
345
+ }
346
+ // Composite midpoint placements.
347
+ for (const c of opts.composite ?? []) {
348
+ atoms.push({
349
+ id: `composite:${c.body}`, kind: "composite", bodies: [c.body],
350
+ salience: w.base + w.composite + (LUMINARIES.has(c.body) ? w.luminary : 0),
351
+ body: c.body, sign: c.sign, signDeg: c.signDeg,
352
+ text: `Composite ${title(c.body)} in ${c.sign}`,
353
+ });
354
+ }
355
+ // Time-lords: profection, zodiacal releasing, firdaria, dasha.
356
+ const tl = opts.timelords;
357
+ if (tl?.profection) {
358
+ const pf = tl.profection;
359
+ atoms.push({
360
+ id: `profection:year:${pf.annual.sign.toLowerCase()}:${pf.annual.lord}`, kind: "timelord",
361
+ bodies: [pf.annual.lord], salience: w.base + w.timelord, system: "profection",
362
+ level: "year", lord: pf.annual.lord, sign: pf.annual.sign,
363
+ text: `Annual profection: ${pf.annual.sign} (house ${pf.annual.house}), lord ${title(pf.annual.lord)}`,
364
+ });
365
+ atoms.push({
366
+ id: `profection:month:${pf.monthly.sign.toLowerCase()}:${pf.monthly.lord}`, kind: "timelord",
367
+ bodies: [pf.monthly.lord], salience: w.base + w.timelord * 0.7, system: "profection",
368
+ level: "month", lord: pf.monthly.lord, sign: pf.monthly.sign,
369
+ text: `Monthly profection: ${pf.monthly.sign} (house ${pf.monthly.house}), lord ${title(pf.monthly.lord)}`,
370
+ });
371
+ }
372
+ if (tl?.zr) {
373
+ const zrWeight = { l1: 1, l2: 0.75, l3: 0.5, l4: 0.35 };
374
+ const zrLevels = [
375
+ ["l1", tl.zr.l1], ["l2", tl.zr.l2], ["l3", tl.zr.l3], ["l4", tl.zr.l4],
376
+ ];
377
+ for (const [level, sign] of zrLevels) {
378
+ const signIdx = SIGNS.indexOf(sign);
379
+ const lord = signIdx >= 0 ? SIGN_RULER[signIdx] : "";
380
+ atoms.push({
381
+ id: `zr:${level}:${sign.toLowerCase()}:${lord}`, kind: "timelord",
382
+ bodies: lord ? [lord] : [], salience: w.base + w.timelord * (zrWeight[level] ?? 0.5),
383
+ system: "zr", level, lord, sign,
384
+ text: `Zodiacal releasing ${level.toUpperCase()}: ${sign}`
385
+ + (lord ? `, lord ${title(lord)}` : "")
386
+ + (tl.zr.lot ? ` (from Lot of ${title(tl.zr.lot)})` : ""),
387
+ });
388
+ }
389
+ }
390
+ if (tl?.firdaria?.major) {
391
+ atoms.push({
392
+ id: `firdaria:major:${tl.firdaria.major}`, kind: "timelord",
393
+ bodies: [tl.firdaria.major], salience: w.base + w.timelord, system: "firdaria",
394
+ level: "major", lord: tl.firdaria.major,
395
+ text: `Firdaria major period: ${title(tl.firdaria.major)}`
396
+ + (tl.firdaria.day !== undefined ? ` (${tl.firdaria.day ? "day" : "night"} chart)` : ""),
397
+ });
398
+ if (tl.firdaria.sub) {
399
+ atoms.push({
400
+ id: `firdaria:sub:${tl.firdaria.sub}`, kind: "timelord",
401
+ bodies: [tl.firdaria.sub], salience: w.base + w.timelord * 0.7, system: "firdaria",
402
+ level: "sub", lord: tl.firdaria.sub,
403
+ text: `Firdaria sub-period: ${title(tl.firdaria.sub)}`,
404
+ });
405
+ }
406
+ }
407
+ if (tl?.dasha?.maha) {
408
+ const d = tl.dasha;
409
+ atoms.push({
410
+ id: `dasha:maha:${d.maha}`, kind: "timelord", bodies: [d.maha],
411
+ salience: w.base + w.timelord, system: "dasha", level: "maha", lord: d.maha,
412
+ text: `Vimshottari mahadasha: ${title(d.maha)}`
413
+ + (d.moon_nakshatra ? ` (Moon in ${d.moon_nakshatra})` : ""),
414
+ });
415
+ if (d.antar) {
416
+ atoms.push({
417
+ id: `dasha:antar:${d.antar}`, kind: "timelord", bodies: [d.antar],
418
+ salience: w.base + w.timelord * 0.8, system: "dasha", level: "antar", lord: d.antar,
419
+ text: `Vimshottari antardasha: ${title(d.antar)}`,
420
+ });
421
+ }
422
+ if (d.pratyantar) {
423
+ atoms.push({
424
+ id: `dasha:pratyantar:${d.pratyantar}`, kind: "timelord", bodies: [d.pratyantar],
425
+ salience: w.base + w.timelord * 0.6, system: "dasha", level: "pratyantar", lord: d.pratyantar,
426
+ text: `Vimshottari pratyantardasha: ${title(d.pratyantar)}`,
427
+ });
428
+ }
429
+ }
430
+ // Vedic: nakshatras, vargas, yogas.
431
+ const vedic = opts.vedic;
432
+ if (vedic) {
433
+ const nakBodies = vedic.nakshatraBodies
434
+ ?? ["moon", "sun", "mars", "mercury", "jupiter", "venus", "saturn"];
435
+ for (const body of nakBodies) {
436
+ const p = chart.bodies[body];
437
+ if (!p)
438
+ continue;
439
+ const nak = nakshatra(p.lon);
440
+ let salience = w.base + w.vedic;
441
+ if (body === "moon")
442
+ salience += w.luminary;
443
+ atoms.push({
444
+ id: `nakshatra:${body}:${nak.name.replace(/\s+/g, "_")}`, kind: "nakshatra",
445
+ bodies: [body], salience, body, name: nak.name, pada: nak.pada, lord: nak.lord,
446
+ text: `${title(body)} in ${nak.name} (pada ${nak.pada}, lord ${title(nak.lord)})`,
447
+ });
448
+ }
449
+ const vargaDivs = vedic.vargas === true ? [9] : (vedic.vargas ?? []);
450
+ for (const n of vargaDivs) {
451
+ for (const body of nakBodies) {
452
+ const p = chart.bodies[body];
453
+ if (!p)
454
+ continue;
455
+ const v = varga(p.lon, n);
456
+ atoms.push({
457
+ id: `varga:d${n}:${body}:${v.sign.toLowerCase()}`, kind: "varga",
458
+ bodies: [body], salience: w.base + w.vedic, division: n, body, sign: v.sign,
459
+ text: `${title(body)} D${n} (${v.sign})`,
460
+ });
461
+ }
462
+ }
463
+ for (const y of vedic.yogas ?? []) {
464
+ atoms.push({
465
+ id: `yoga:${y.yoga.replace(/\s+/g, "_")}`, kind: "yoga",
466
+ bodies: y.planets, salience: w.base + w.timelord * 0.5 + w.vedic,
467
+ yoga: y.yoga, planets: y.planets,
468
+ text: `Yoga ${y.yoga} (${y.planets.map(title).join(", ")})`,
469
+ });
470
+ }
471
+ }
257
472
  // An inexact instant trusts the fast-moving facts least.
258
473
  const prov = opts.provenance;
259
474
  if (prov?.certainty && prov.certainty !== "exact") {
@@ -0,0 +1,54 @@
1
+ import { type BodyId, type Chart, type Engine, type Zodiac } from "./chart.js";
2
+ import { type AspectPhase } from "./electional.js";
3
+ /** A transiting body aspecting a natal point. */
4
+ export interface TransitHit {
5
+ transit: string;
6
+ natal: string;
7
+ aspect: string;
8
+ orb: number;
9
+ phase: AspectPhase;
10
+ strength: number;
11
+ /** Natal house the transiting body occupies (by natal cusps). */
12
+ natalHouse: number;
13
+ }
14
+ /** An inter-chart aspect between person A's body and person B's body. */
15
+ export interface SynastryAspectHit {
16
+ a: string;
17
+ b: string;
18
+ aspect: string;
19
+ orb: number;
20
+ strength: number;
21
+ }
22
+ export interface SynastryOverlays {
23
+ /** Person A's bodies in person B's houses. */
24
+ aInB: Record<string, number>;
25
+ /** Person B's bodies in person A's houses. */
26
+ bInA: Record<string, number>;
27
+ }
28
+ /** A composite-chart body placement (midpoint method). */
29
+ export interface CompositePlacement {
30
+ body: string;
31
+ lon: number;
32
+ sign: string;
33
+ signDeg: number;
34
+ }
35
+ /**
36
+ * Transiting bodies aspecting a natal chart at `transitJd`. Natal longitudes are
37
+ * fixed; phase reflects the transiting body's motion toward the natal point.
38
+ */
39
+ export declare function transitAspects(natal: Chart, engine: Engine, transitJd: number, opts?: {
40
+ maxOrb?: number;
41
+ zodiac?: Zodiac;
42
+ orbs?: Record<string, number>;
43
+ bodies?: BodyId[];
44
+ }): TransitHit[];
45
+ /**
46
+ * Inter-chart aspects between two natal charts (static snapshot; both speeds 0).
47
+ */
48
+ export declare function synastryAspects(chartA: Chart, chartB: Chart, maxOrb?: number, orbs?: Record<string, number>): SynastryAspectHit[];
49
+ /** House overlays both ways between two charts. */
50
+ export declare function synastryOverlays(chartA: Chart, chartB: Chart): SynastryOverlays;
51
+ /**
52
+ * Midpoint-composite placements for `bodies` from two birth instants.
53
+ */
54
+ export declare function compositePlacements(engine: Engine, jdA: number, jdB: number, bodies?: BodyId[], zodiac?: Zodiac): CompositePlacement[];
@@ -0,0 +1,103 @@
1
+ /**
2
+ * astroengine relational -- diachronic and two-chart derivations for the
3
+ * interpretation layer: transits vs natal, synastry, composite midpoints.
4
+ *
5
+ * Pure geometry on validated positions; no interpretation. Mirrors the MCP
6
+ * transits/synastry/composite tools but returns structured hits the fact
7
+ * projection can turn into citable atoms.
8
+ */
9
+ import { mod } from "./core.js";
10
+ import { ASPECTS, BODIES, DEFAULT_ORBS, NOT_ASPECTABLE, SIGNS, } from "./chart.js";
11
+ import { aspectPhase } from "./electional.js";
12
+ import { compositeLongitudes } from "./derived.js";
13
+ function houseIndex(lon, cusps) {
14
+ for (let i = 0; i < 12; i++) {
15
+ if (mod(lon - cusps[i], 360) < mod(cusps[(i + 1) % 12] - cusps[i], 360))
16
+ return i + 1;
17
+ }
18
+ return 12;
19
+ }
20
+ function aspectHits(lonA, speedA, labelA, lonB, speedB, labelB, maxOrb, orbs) {
21
+ const sep = Math.abs(mod(lonA - lonB + 180, 360) - 180);
22
+ const out = [];
23
+ for (const [name, angle] of Object.entries(ASPECTS)) {
24
+ const limit = Math.min(maxOrb, orbs[name] ?? maxOrb);
25
+ const orb = Math.abs(sep - angle);
26
+ if (orb > limit)
27
+ continue;
28
+ const orbRounded = Math.round(orb * 100) / 100;
29
+ out.push({
30
+ a: labelA, b: labelB, aspect: name, orb: orbRounded,
31
+ phase: aspectPhase(lonA, speedA, lonB, speedB, angle),
32
+ strength: Math.max(0, 1 - orbRounded / limit),
33
+ });
34
+ }
35
+ return out;
36
+ }
37
+ /**
38
+ * Transiting bodies aspecting a natal chart at `transitJd`. Natal longitudes are
39
+ * fixed; phase reflects the transiting body's motion toward the natal point.
40
+ */
41
+ export function transitAspects(natal, engine, transitJd, opts = {}) {
42
+ const maxOrb = opts.maxOrb ?? 3;
43
+ const orbs = opts.orbs ?? DEFAULT_ORBS;
44
+ const zodiac = opts.zodiac ?? natal.zodiac;
45
+ const bodies = opts.bodies ?? BODIES;
46
+ const natalBodies = bodies.filter((b) => natal.bodies[b] && !NOT_ASPECTABLE.has(b));
47
+ const out = [];
48
+ for (const tb of bodies) {
49
+ if (NOT_ASPECTABLE.has(tb))
50
+ continue;
51
+ const tp = engine.position(tb, transitJd, { zodiac });
52
+ const natalHouse = houseIndex(tp.lon, natal.cusps);
53
+ for (const nb of natalBodies) {
54
+ const nLon = natal.bodies[nb].lon;
55
+ for (const hit of aspectHits(tp.lon, tp.speed, tb, nLon, 0, nb, maxOrb, orbs)) {
56
+ out.push({
57
+ transit: hit.a, natal: hit.b, aspect: hit.aspect,
58
+ orb: hit.orb, phase: hit.phase, strength: hit.strength, natalHouse,
59
+ });
60
+ }
61
+ }
62
+ }
63
+ return out;
64
+ }
65
+ /**
66
+ * Inter-chart aspects between two natal charts (static snapshot; both speeds 0).
67
+ */
68
+ export function synastryAspects(chartA, chartB, maxOrb = 4, orbs = DEFAULT_ORBS) {
69
+ const bodies = BODIES.filter((b) => chartA.bodies[b] && chartB.bodies[b] && !NOT_ASPECTABLE.has(b));
70
+ const out = [];
71
+ for (const ba of bodies) {
72
+ const la = chartA.bodies[ba].lon;
73
+ for (const bb of bodies) {
74
+ const lb = chartB.bodies[bb].lon;
75
+ for (const hit of aspectHits(la, 0, ba, lb, 0, bb, maxOrb, orbs)) {
76
+ out.push({ a: hit.a, b: hit.b, aspect: hit.aspect, orb: hit.orb, strength: hit.strength });
77
+ }
78
+ }
79
+ }
80
+ return out;
81
+ }
82
+ /** House overlays both ways between two charts. */
83
+ export function synastryOverlays(chartA, chartB) {
84
+ const bodies = BODIES.filter((b) => chartA.bodies[b] && chartB.bodies[b]);
85
+ const aInB = {};
86
+ const bInA = {};
87
+ for (const b of bodies) {
88
+ aInB[b] = houseIndex(chartA.bodies[b].lon, chartB.cusps);
89
+ bInA[b] = houseIndex(chartB.bodies[b].lon, chartA.cusps);
90
+ }
91
+ return { aInB, bInA };
92
+ }
93
+ /**
94
+ * Midpoint-composite placements for `bodies` from two birth instants.
95
+ */
96
+ export function compositePlacements(engine, jdA, jdB, bodies = BODIES, zodiac = "tropical") {
97
+ const lons = compositeLongitudes(engine, jdA, jdB, bodies, zodiac);
98
+ return bodies.map((body) => {
99
+ const lon = mod(lons[body], 360);
100
+ const signIdx = Math.floor(lon / 30) % 12;
101
+ return { body, lon, sign: SIGNS[signIdx], signDeg: mod(lon, 30) };
102
+ });
103
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "caelus",
3
- "version": "0.19.0",
3
+ "version": "0.20.1",
4
4
  "description": "Astrological ephemeris engine. MIT, no AGPL, no ephemeris files. Checked against Swiss Ephemeris.",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -14,7 +14,8 @@
14
14
  "data/moon_meeus47.json",
15
15
  "data/pluto_meeus37.json",
16
16
  "data/chiron_cheb.json",
17
- "data/moon_cheb.embedded.json"
17
+ "data/moon_cheb.embedded.json",
18
+ "data/fixed_stars.json"
18
19
  ],
19
20
  "scripts": {
20
21
  "build": "tsc",