@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.41 kB
JavaScript
"use strict";var N=Object.defineProperty;var I=(r,i,t)=>i in r?N(r,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[i]=t;var e=(r,i,t)=>I(r,typeof i!="symbol"?i+"":i,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./aberration.cjs"),h=require("./astrometry.cjs"),l=require("./coordinates.cjs"),T=require("./nutation.cjs"),E=require("./precession.cjs"),d=require("./utilities-HBcnbrPA.cjs");// @license Copyright © 2021-2023 observerly
class g extends Object{constructor({ra:t=Number.NEGATIVE_INFINITY,dec:o=Number.NEGATIVE_INFINITY},s){super();e(this,"target",{ra:Number.NEGATIVE_INFINITY,dec:Number.NEGATIVE_INFINITY});e(this,"ra",Number.NEGATIVE_INFINITY);e(this,"dec",Number.NEGATIVE_INFINITY);e(this,"az",Number.NEGATIVE_INFINITY);e(this,"alt",Number.NEGATIVE_INFINITY);e(this,"ha",Number.NEGATIVE_INFINITY);e(this,"datetime",new Date);e(this,"longitude",Number.NEGATIVE_INFINITY);e(this,"latitude",Number.NEGATIVE_INFINITY);const{datetime:a,longitude:n,latitude:u}=s||{datetime:new Date,longitude:0,latitude:0};this.setDatetime(a),this.setLongitude(n),this.setLatitude(u),this.target={ra:t,dec:o},this.setEquatorialCoordinates({ra:t,dec:o}),this.setHourAngle(),this.setHorizontalCoordinates(l.convertEquatorialToHorizontal(a,{longitude:this.longitude,latitude:this.latitude},{ra:this.ra,dec:this.dec}))}at({datetime:t}){t&&this.setDatetime(t),this.setEquatorialCoordinates(this.target),this.setHorizontalCoordinates(l.convertEquatorialToHorizontal(this.datetime,{longitude:this.longitude,latitude:this.latitude},{ra:this.ra,dec:this.dec}))}setDatetime(t){this.datetime=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.getUTCMilliseconds()))}setEquatorialCoordinates(t){const o=c.getCorrectionToEquatorialForAnnualAberration(this.datetime,t),s=T.getCorrectionToEquatorialForNutation(this.datetime,t),a=E.getCorrectionToEquatorialForPrecessionOfEquinoxes(this.datetime,t),n=t.ra+o.ra+s.ra+a.ra,u=t.dec+o.dec+s.dec+a.dec;this.ra=d.getNormalizedAzimuthalDegree(n),this.dec=d.getNormalizedInclinationDegree(u)}setHourAngle(){this.ha=h.getHourAngle(this.datetime,this.longitude,this.ra)}setHorizontalCoordinates(t){const{az:o,alt:s}=t;this.az=o,this.alt=s}setLongitude(t){this.longitude=t}setLatitude(t){this.latitude=t}}exports.Observation=g;
//# sourceMappingURL=observation.cjs.map