Giter Club home page Giter Club logo

circularnatalhoroscopejs's People

Contributors

0xstarcat avatar augustpi avatar buffmcbighuge avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

circularnatalhoroscopejs's Issues

Request: Porphyry House System

Hello,

Thank you for making this project open-source! I wanted to put in a request for the Porphyry house system. It seems like its simplicity of setting the 0 degree of the ascendant angle is gaining popularity and I'd like to have the option to use it in my own app that I am creating.

Thank you very much!
Hope

Proposal for aspects enhancement

It would be really nice to include additional complex aspects among which the most prominent once are: T-square(90 degrees among three bodies), Grand Trine (120 degrees among three bodies ) and the infamous Yod (150 + 150 + 60).

Bug: celestial bodies wrong degrees

Let's take following origin of mine as an example:

{
    "year": "1998",
    "month": "07",
    "date": "12",
    "hour": "08",
    "minute": "20",
    "latitude": "44.95719",
    "longitude": "34.11079",
    "timezone": {
        "name": "Europe/Simferopol",
    }
}

Then, following property output value: 19° 18' 48''

_celestialBodies.all[0].ChartPosition.Ecliptic.ArcDegreesFormatted30

But expected value: 19° 40' 44.4"

How to calculate Moon nodes?

Hi There!!

Thanks for this great library! I'm trying to use it in order to get position of all celestial bodies, but also moon's nodes: North and South. Do you know of a way to calculate this using this library, or do I need to look for other tools?

Thank you!!

Readme suggestion

Please add to the Readme.md instructions how to add library to dependencies in package.json.

Typo in language.js

Hi,

There is a typo in language.js on line 48:
'house8': 'Eigth',

should be:
'house8': 'Eight',

Kind regards,
Nikola

Enhancement proposal on retrogrades

This is an enhancement proposal for the retrograde feature.
Currently, the given API provides the information whether the Celestial Body at a given Origin is in retrograde or not (boolean). More elaborate approach would be to provide all stages of retrograde motions:

  1. Pre-shadow phase
  2. Retrograde station
  3. Retrograde phase
  4. Direct station
  5. Post-retrograde phase

Why would be this useful? I can imagine how interesting it would be to build a Celestial bodies calendar with such particularly specific information on retrogrades for all celestial bodies.

At the following link, there is more on retrograde phases in detail:
https://www.astrologyhoroscopereadings.com/2021-mercury-retrograde-calendar.html

This actually could be a quick fix since the engine used under the hood (Moshier-Ephemeris-JS) already has this option.

The first condition should be d (I mean x value in the formula) used instead of the ascendant value found

The first condition should be x < 0 (I mean d value),
The x (d) value in the formula should be used instead of the ascendant value found in the first condition.

image

const b = sinFromDegrees(obliquityEcliptic) * tanFromDegrees(latitude)
const c = cosFromDegrees(obliquityEcliptic) * sinFromDegrees(localSiderealTime)
const d = b + c

Line if (d < 0) { ...

So, I've tried a lot and it's true that way (of course it still needs verification)

thanks a lot
Onur

Supporting BCE dates

Hi, the library looks great, thanks for creating it. I was wondering what it would take to make it support BCE years? I would be happy to contribute, with my limited coding ability.

Drawing into SVG

Any time frame on when you think you'll successfully draw this into SVG or know how to exactly tackle it for 3rd party attempts?

South lunar node house is undefined

Hi!
First of all, thank you for this great library!

Some dates generate south lunar node house is undefined, when using houseSystem as a "whole-sign" and zodiac as a "sidereal".

This is the origin object with data,
const origin = new Origin({year: 1995, month: 0, date: 15, hour: 14, minute: 59, latitude: 6.24469906, longitude: 80.05708058});

I use version: 1.1.0
following dates also happen,
1992-0-15, 2020-0-15, 2021-0-25

Please consider and give me a idea to solve this.

Import module and SunSign

so far i can only import the module by typing const { Origin, Horoscope } = require('circular-natal-horoscope-js'); and then run node js-file.js in console, which is not part of the readme.md. Maybe i just don't get it, because i am new to this topic.
Another thing is that it seems like the shift in the star constellation for 'sidereal'-SunSigns are calculated in the wrong direction and are also mislabled as 'tropical'.
For example for 07.04.1997 the tropical Sign is Aries, but sidereal Sign is Pisces (according to Stellarium and wikipedia), because our Sun changed the position over the thousands of years from when the dates for Zodiac Sign were set: en.wikipedia.org/wiki/Sidereal_and_tropical_astrology.
But when i type Horoscope.SunSign for this date it will give me 'Taurus', as if the shifting happened in the wrong direction (Taurus is after Aries, Pisces is before Aries).
Could someone verify this please?

(SOLVED) - Possible bug with position of Planet in House

Hi! First of all, thank you for this great library!

We found a possible divergence in the position of some planets when using the Horoscope object. We compared the result with Vega software and others, with the same data and home system.

This is the object with birth data.

const origin = new Origin({ year: 1997, month: 11, // 0 = January, 11 = December! date: 20, hour: 0, minute: 20, latitude: 23.3251, longitude: -46.3810, });

This is the call for Horoscope object with proper parameters.

const horoscope = new Horoscope({ origin: originCarol, houseSystem: 'placidus', zodiac: 'tropical', aspectPoints: ['bodies', 'points', 'angles'], aspectWithPoints: ['bodies', 'points', 'angles',], aspectTypes: ['major', 'minor'], customOrbs: {}, language: 'en', });

This is the result from CircularnatalhoroscopeJs:

image

And following is the result from other software that we are sure that is correct.

image

Please, notice that Neptune has the same degrees on both images but your lib says that this planet is on House 4 and the correct is house 5.
Also Mars have a small diference in the seconds and different houses. The correct is house 5.

Please, can you tell me if I'm doing anything wrong?
Thank you!

Enhancement proposal - Aspects

Currently, aspects are generated per Origin.
This enhancement proposal is to include a method, that would generate Aspects based on two given Origins.
This would be very useful for any situation where we need to find out aspects e.g. between two people (synastry astrology)
or for a given one person (transits), but for the purpose of transits astrology.

Extend functionality by Moon Sign

Hello,

for my project it would be great that he horoscope also includes the moon sign.

If there is a possibility to get it right now i'd be happy to hear about it. I am still a beginenr with horoscopes.

Thank you very much

Orb values per aspect type and per planet

Hello,
I'm relatively new to Astrology, however I have noticed that certain sources do use different orb values per aspect type and planet. Do you know about this practice and do you plan to implement this feature into the project?

Solar / lunar eclipses notation

Is there a way to find out from the existing generated Horoscope object whether the sun and moon are eclipsed?
I checked the Ephemeris.mon.position and could not find any information, nor on the sun object.
I was checking particularly for the date of April/20/2022 which is to be a solar eclipse. Is there a way to infer this
from the existing data? If not, could the information about solar and/or lunar eclipse be added to the horoscope object?

other repository/plugin for astrochart

Hi, I saw you are using other plugin to draw the graph.
i found that plugin here https://www.npmjs.com/package/astrochart but. not much documentation.

are you using the same plugin or its different?

because, i need to implement that astrology chart ,zodiac and other things.

i have confusion of that chart draw thing.

please, provide some more details on that chart draw.

IC DC

Any chance you could add the IC and DC to the data structure?

I realise that they can be derived from the AC/MC, however, your response schema is not a simple flat json, and it would be helpful if these fields were included and in the same format as all the others.

Missing House Data

Using the following data, House information is omitted for Venus:

{
"houseSystem": "placidus",
"zodiac": "tropical",
"year": 1995,
"month": 3,
"day": 23,
"hour": 6,
"minute": 26,
"second": 0,
"latitude": 34.0522265,
"longitude": -118.2436596
}

Not sure what is causing it, since this is the first time this is happened despite making thousands of queries. It's definitely do do with this particular date. All other houses are present for the other celestial bodies.

Koch home system error

First of all, thank you very much. I did a few tests with the Koch home system. For example, at 52.32-13.25 coordinates, 4pm and 4am are calculated differently for 13.06.1940. Asc and dsc seem to overlap in the calculation at 4pm. Also, the locations of Ic and Mc are wrong. This also exists in other years (1960-1980..)

Juno position

Hi,

Is it possible to calculate sign for the Juno asteroid?

Kind regards,
Nikola

Add new bodies

Is it possible to add bodies which are not included by default?

For instance, 'Ceres'.

I presume you are using the Swiss ephemeris, in which case, is it possible to add custom objects defined by the body code?

possible bug: houses output

According to the given quick documentation, after instantiating the Origin and consequently using it to instantiate the Horoscope, the Houses should be calculated and ready to be found at Horoscope.Houses. However, the results found at each and every house array item contains the same position (Houses[0] -> ChartPosition -> StartPosition -> Horizon -> ArcDegrees). Seems like the first house (asc) is calculated properly, but then all other houses just repeat the same position degrees from the Ascendent. I used both the time and date and lat and long entry data to instantiate the Origin.
Another potential bug: Horoscope -> Ephemeris -> pluto -> position -> constellation seems to be off by one Sign. (pluto given here is of course just an example...).

Support for Typescript/Angular

It would be really helpful to add functionality for typescript. I was unable to use this inside of Angular:

Could not find a declaration file for module 'circular-natal-horoscope-js'. '/Users/.../astro-chart/node_modules/circular-natal-horoscope-js/dist/index.js' implicitly has an 'any' type.
Try npm i --save-dev @types/circular-natal-horoscope-js if it exists or add a new declaration (.d.ts) file containing declare module 'circular-natal-horoscope-js';

Degrees are a bit off

Hello, thanks for such a great library! I did a calculation on several charts and I see the moon is offset by 3 degrees. Tried with the different house systems.
-For 7/7/1973 20:30 at 25.6866142, -100.3161126, Moon is at 24 degrees and with there library I get 21 degrees.
-For 10/31/1970 16:20 at 32.5149469, -117.0382471, Moon is at 28 degrees but with library I get 24 degrees.

Maybe I am doing something incorrect?

circularNatalHoroscopeJs data related to AstroChartJS

Hi,

I tried to get the data from your plugin required by astroChart.

AstroChart working with:

var data = {
"planets":{
"Lilith":[18],
"Chiron":[18],
"Pluto":[63],
"Neptune":[110, 0.2],
"Uranus":[318],
"Saturn":[201, -0.2],
"Jupiter":[192],
"Mars":[210],
"Moon":[268],
"Sun":[281],
"Mercury":[312],
"Venus":[330],
"NNode":[2]
},
"cusps":[296, 350, 30, 56, 75, 94, 116, 170, 210, 236, 255, 274]
};

but, but getting totally different data from your plugin, like:

"Ephemeris":{
"_calculateMotion":true,
"_calcHeliocentricLongitudesOnly":false,
"_calculateShadows":false,
"_moonQuarterApproximationValue":1.5,
"Observer":{
"year":2020,
"month":11,
"day":1,
"hours":21,
"minutes":30,
"seconds":0,
"latitude":40,
"longitude":-70,
"height":0,
"glat":40,
"tlong":-70,
"attemp":12,
"atpress":1010,
"trho":0.9986215196058488,
"tlat":39.810610550934875,
"Date":{
"utc":"2020-12-01T21:30:00.000Z",
"dateString":"Wed Dec 02 2020",
"julian":2459185.3958333335,
"j2000":2020.918263746293,
"b1950":2020.9184745608036,
"j1900":2020.918263746293,
"universalJulian":2459185.395005166,
"universalDate":"2020-12-01T21:28:48.446Z"
}
},
"Earth":{
"_body":{
"key":"earth",
"type":"heliocentric",
"anomaly":1.1791,
"dailyMotion":0.985611,
"distance":0,
"eccentricity":0.016713,
"epoch":2446800.5,
"equinox":2446800,
"inclination":0,
"longitude":0,
"magnitude":-3.86,
"node":0,
"perihelion":102.884,
"perturbation":0,
"ptable":{
"maxargs":12,
"max_harmonic":[],
"max_power_of_t":3,
"distance":1.000139872959708,
"timescale":3652500,
"trunclvl":0.0001,
"lon_tbl":[],
"lat_tbl":[],
"rad_tbl":[],
"arg_tbl":[]
},
"semiAxis":0.999999,
"semiDiameter":0
},
"_key":"earth",
"locals":{
"dp":[

        ],
        "dradt":null,
        "ddecdt":null,
        "EO":0,
        "SE":0,
        "SO":0,
        "pq":0,
        "ep":0,
        "qe":0
     },
     "aberration":{
        
     },
     "lightTime":{
        
     },
     "position":{
        "rect":[
           0.3392690733836876,
           0.8493064484820125,
           0.36817062811800944
        ],
        "polar":[
           1.2194891127571037,
           -0.000045206773486035605,
           0.9858877010068464
        ]
     },
     "distance":0.9859186532079337,
     "epoch":2459185.3958333335,
     "semiAxis":0.999999,
     "semiDiameter":0,
     "key":"earth",
     "type":"heliocentric",
     "anomaly":1.1791,
     "dailyMotion":0.985611,
     "eccentricity":0.016713,
     "equinox":2446800,
     "inclination":0,
     "longitude":0,
     "magnitude":-3.86,
     "node":0,
     "perihelion":102.884,
     "perturbation":0,
     "ptable":{}
  },

Can you please provide some guidance

Rendering

What library do you recommend for rendering natal chart using data generated by this package, for React?

Import using require

Hi,

In the Readme.md it is advised to import library in this fashion:

import { Origin, Horoscope } from "circular-natal-horoscope-js";

Is it possible to import library using require? Is there some workaround how this can be accomplished?

const { Origin, Horoscope } = require('circular-natal-horoscope-js');

Kind regards,
Nikola

End position for 12th house is wrong.

End position for 12th house ecliptic is not correct.

Should it not equal to the start position of the 1st house ?

I am getting the:
a) End position Ecliptic of 12th house equal to the Start Position Horizon of the 1st house, and
b) End position Horizon of 12th house equal to the Start Position Ecliptic of the 1st house
(ie swapped)

Maybe something to do with the modulo arithmetic in the following function:

utilities/astrology.js

export const constructHouses = (cuspsArray, ascendantDegrees, zodiac, language = 'en') => cuspsArray.map((cuspDegree, index) => {
  const houseId = index + 1;
  return new House({
    ascendantDegrees, eclipticDegreesStart: cuspDegree, eclipticDegreesEnd: cuspsArray[modulo(index + 1, cuspsArray.length + 1)], id: houseId, zodiac, language,
  });
});

Namely when calculating eclipticDegreesEnd, I doubt that it should be cuspsArray.length + 1, rather just cuspsArray.length

Example 1st House

Screen Shot 2023-01-16 at 6 37 39 pm

Example corresponding 12th house

Screen Shot 2023-01-16 at 6 37 30 pm

Custom Language Problems

As stated in the readme.md file
I adjusted the language.js file in the src/utilities/ directory by adding a new language and added the demo file.
npm run build:demo
with the command
I rebuilt. Ascendant and Midheaven zodiac signs still appear in English even if I change the current language. Does anyone know what is causing this or can inform me about it?

demo.html screen shot

In the picture, the starting points of the zodiac signs,
midheaven constellations appear with ascendant (Gemini, Aquarius). While the names of all the zodiac signs appear in Turkish. Ascendant and midheaven the situation is different.

Below are the nomenclatures I created to add a new language:

 tr: {
    // Label
    label: 'Türkçe',
    // Angles
    ascendant: 'Yükselen Açı',
    midheaven: 'Midheaven',
    // Bodies
    sun: 'Güneş',
    moon: 'Ay',
    mercury: 'Merkür',
    venus: 'Venüs',
    mars: 'Mars',
    jupiter: 'Jüpiter',
    saturn: 'Satürn',
    uranus: 'Uranüs',
    neptune: 'Neptün',
    pluto: 'Plüto',
    chiron: 'Chiron',
    sirius: 'Sirius',
    // Points
    northnode: 'Kuzey Düğüm',
    southnode: 'Güney Düğüm',
    lilith: 'Lilith (Kara AY)',
    // Signs
    aries: 'Koç',
    taurus: 'Boğa',
    gemini: 'İkizler',
    cancer: 'Yengeç',
    leo: 'Aslan',
    virgo: 'Başak',
    libra: 'Terazi',
    scorpio: 'Akrep',
    sagittarius: 'Yay',
    capricorn: 'Oğlak',
    aquarius: 'Kova',
    pisces: 'Balık',
    ophiuchus: 'Yılan Haritası',
    // Houses
    house1: '1. Ev (Yükselen)',
    house2: '2. Ev',
    house3: '3. Ev',
    house4: '4. Ev',
    house5: '5. Ev',
    house6: '6. Ev',
    house7: '7. Ev',
    house8: '8. Ev',
    house9: '9. Ev',
    house10: '10. Ev',
    house11: '11. Ev',
    house12: '12. Ev',
    // Aspects
    conjunction: 'Birleşme',
    opposition: 'Karşıt',
    trine: 'Üçgen',
    square: 'Kare',
    sextile: 'Birleşmeyen',
    quincunx: 'Kavuşmayan Açı',
    quintile: 'Beşlik',
    septile: '51 derece',
    'semi-square': 'Yarı Kare',
    'semi-sextile': 'Yarı Birleşmeyen',
    // Zodiac Choice Labels
    'tropical-zodiac': 'Tropical',
    'sidereal-zodiac': 'Sidereal',
    // House System labels
    'equal-house': 'Eşit Ev',
    campanus: 'Campanus',
    koch: 'Koch',
    placidus: 'Placidus',
    regiomontanus: 'Regiomontanus',
    topocentric: 'Topocentric',
    'whole-sign': 'Bütün İşaret',
    // Aspect level labels
    major: 'Büyük',
    minor: 'Küçük',
  },

Any chance of inverse calculations?

Hi.. first of all thanks for this awesome work... since 2000´s i´ve wanted something like this and you are the only one that nailed it!

At moment im trying to use this as a feeder of a day night system that mimics reality... one way to achieve this would be looping near aspects i need... for example: Sun conjuncts ascendent (sun rising), also sun setting... also lunar phase... by checking with moon...

So I think i will need to make a loop to find when orb 0 occurs, maybe checking if the loop must go forward or reverse (to see if orb decreases)...

Any better way to do this? or any chance for you implement electional (inverse calculation)?

Like some method that returns when exact aspect will happen... Thanks in advance...

Discrepancy in House Assignments Compared to Established Astrological Data

Hello there,

I've been working with your Western astrology plugin, which I've found to be an invaluable resource for astrological data akin to that found in a birth chart. I've encountered a discrepancy that I hope the community can help me address.

The issue lies in the house assignments as shown in the Western Astrology Table (left side of the attached image). Comparing it to the data from a renowned astrology website (right side), I've noticed inconsistencies specifically in the houses. The plugin seems to assign house rulers based on sign rulership, but this leads to duplications such as Aquarius ruling the 9th house twice, Capricorn ruling the 8th house twice, and Virgo ruling the 4th house twice. This doesn't align with the conventional understanding where each house should have its unique sign ruler, even if a sign rules over two houses.

For instance, in the Placidus system, which both sources utilise, Aquarius is shown to rule the 9th house in both datasets, which is correct. However, the 11th house is ruled by Taurus according to the established data, whereas the plugin shows Taurus ruling the 11th and no sign ruling the 12th, which is an evident error.

There are several such examples where the house assignments don't match up, and I'm puzzled as to why this is happening. I've attached a screenshot to illustrate the discrepancies more clearly.

I'd greatly appreciate any insights or fixes you could offer to ensure accurate house assignments in the plugin. Thank you for your time and assistance!

Warm regards,
Vikas

image_2024_01_12T14_17_27_941Z

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.