The goal of swephR is to provide an R interface to the Swiss Ephemeris. The Swiss Ephemeris is a high precision ephemeris based upon the DE431 ephemeris from NASA’s JPL. It covers the time range 13201 BCE to 17191 CE.
You can install the released version of swephR from CRAN with:
install.packages("swephR")
Intermediate releases can also be obtained from https://rstub.r-universe.dev/:
install.packages('swephR', repos = c('https://rstub.r-universe.dev', 'https://cloud.r-project.org'))
This package uses the semi-analytic theory by Steve Moshier. For faster and more accurate calculations, the compressed Swiss Ephemeris data is available in the swephRdata
package. To access this data package, run
install.packages("swephRdata", repos = "https://rstub.r-universe.dev", type = "source")
The size of the swephRdata
package is approximately 115 MB. The user can also use the original JPL DE431 data.
To compute the position of celestial body or star with SE (Swiss Ephemeris), you do the following steps:
library(swephR) swe_version() #> [1] "2.10.03"
For a specific date, compute the Julian day number (in below example: J2000.0, 1 January 2000 at 12:00 UT):
year <- 2000 month <- 1 day <- 1 hour <- 12 jdut <- swe_julday(year, month, day, hour, SE$GREG_CAL) jdut #> [1] 2451545
Compute (using Moshier ephemeris) the positions (longitude, latitude, distance, longitude speed and latitude speed) of a planet or other celestial bodies (in below example: the Sun):
ipl <- SE$SUN iflag <- SE$FLG_MOSEPH + SE$FLG_SPEED result <- swe_calc_ut(jdut, ipl, iflag) result #> $return #> [1] 260 #> #> $xx #> [1] 2.803689e+02 2.323265e-04 9.833276e-01 1.019432e+00 -8.922802e-07 #> [6] -7.339410e-06 #> #> $serr #> [1] ""
or a fixed star (in below example: Sirius):
starname = "sirius" result <- swe_fixstar2_ut(starname, jdut, iflag) result #> $return #> [1] 260 #> #> $starname #> [1] "Sirius,alCMa" #> #> $xx #> [1] 1.040853e+02 -3.960507e+01 5.439322e+05 4.643164e-05 -7.119376e-05 #> [6] -4.130539e-03 #> #> $serr #> [1] ""
The current R interface is modeled after the C interface. It is therefore often helpful to consult the general documentation and programmer’s documentation for the Swiss Ephemeris.
All feedback (bug reports, security issues, feature requests, …) should be provided as issues.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4