UNPKG

@observerly/astrometry

Version:

observerly's lightweight, zero-dependency, type safe astrometry library written in Typescript for calculating the position of celestial objects in the sky.

4 lines (3 loc) 2.55 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./astrometry.cjs"),a=require("./utilities-HBcnbrPA.cjs");// @license Copyright © 2021-2023 observerly const v=(i,r)=>{const o=a.convertDegreesToRadians(d.getObliquityOfTheEcliptic(i)),t=a.convertDegreesToRadians(r.λ),s=a.convertDegreesToRadians(r.β),e=Math.atan2(Math.sin(t)*Math.cos(o)-Math.tan(s)*Math.sin(o),Math.cos(t)),n=Math.asin(Math.sin(s)*Math.cos(o)+Math.cos(s)*Math.sin(o)*Math.sin(t));return{ra:a.convertRadiansToDegrees(e)<0?a.convertRadiansToDegrees(e)+360:a.convertRadiansToDegrees(e),dec:a.convertRadiansToDegrees(n)}},l=i=>{let{ra:r,dec:o}={ra:0,dec:0};const t=a.convertDegreesToRadians(192.8598),s=a.convertDegreesToRadians(27.128027),e=a.convertDegreesToRadians(32.9319),n=a.convertDegreesToRadians(i.b),c=a.convertDegreesToRadians(i.l);o=a.convertRadiansToDegrees(Math.asin(Math.cos(n)*Math.cos(s)*Math.sin(c-e)+Math.sin(n)*Math.sin(s)));const h=Math.cos(n)*Math.cos(c-e),T=Math.sin(n)*Math.cos(s)-Math.cos(n)*Math.sin(s)*Math.sin(c-e);return r=a.convertRadiansToDegrees(Math.atan2(h,T)+t)%360,r<0&&(r+=360),{ra:r,dec:o}},g=(i,r,o)=>{const{latitude:t,longitude:s}=r,e=a.convertDegreesToRadians(o.dec);if(Math.cos(a.convertDegreesToRadians(t))===0)return{alt:-1,az:-1};const n=a.convertDegreesToRadians(d.getHourAngle(i,s,o.ra)),c=Math.asin(Math.max(-1,Math.min(1,Math.sin(e)*Math.sin(a.convertDegreesToRadians(t))+Math.cos(e)*Math.cos(a.convertDegreesToRadians(t))*Math.cos(n)))),h=Math.acos(Math.max(-1,Math.min(1,(Math.sin(e)-Math.sin(a.convertDegreesToRadians(t))*Math.sin(c))/(Math.cos(a.convertDegreesToRadians(t))*Math.cos(c)))));return{alt:a.convertRadiansToDegrees(c),az:Math.sin(n)>0?360-a.convertRadiansToDegrees(h):a.convertRadiansToDegrees(h)}},D=(i,r,o)=>{const{latitude:t,longitude:s}=r,e=a.convertDegreesToRadians(o.alt),n=a.convertDegreesToRadians(o.az),c=Math.asin(Math.sin(a.convertDegreesToRadians(t))*Math.sin(e)+Math.cos(a.convertDegreesToRadians(t))*Math.cos(e)*Math.cos(n));let h=Math.atan2(-Math.sin(n)*Math.cos(e)/Math.cos(c),(Math.sin(e)-Math.sin(a.convertDegreesToRadians(t))*Math.sin(c))/(Math.cos(a.convertDegreesToRadians(t))*Math.cos(c)));h<0&&(h+=2*Math.PI);let M=d.getLocalSiderealTime(i,s)*15-a.convertRadiansToDegrees(h);return M<0&&(M+=360),{ra:M%360,dec:a.convertRadiansToDegrees(c)}};exports.convertEclipticToEquatorial=v;exports.convertEquatorialToHorizontal=g;exports.convertGalacticToEquatorial=l;exports.convertHorizontalToEquatorial=D; //# sourceMappingURL=coordinates.cjs.map