SharpAstrology.SwissEph.Linux-x86
0.1.0-alpha.5
This is a prerelease version of SharpAstrology.SwissEph.Linux-x86.
dotnet add package SharpAstrology.SwissEph.Linux-x86 --version 0.1.0-alpha.5
NuGet\Install-Package SharpAstrology.SwissEph.Linux-x86 -Version 0.1.0-alpha.5
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SharpAstrology.SwissEph.Linux-x86" Version="0.1.0-alpha.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SharpAstrology.SwissEph.Linux-x86 --version 0.1.0-alpha.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SharpAstrology.SwissEph.Linux-x86, 0.1.0-alpha.5"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SharpAstrology.SwissEph.Linux-x86 as a Cake Addin #addin nuget:?package=SharpAstrology.SwissEph.Linux-x86&version=0.1.0-alpha.5&prerelease // Install SharpAstrology.SwissEph.Linux-x86 as a Cake Tool #tool nuget:?package=SharpAstrology.SwissEph.Linux-x86&version=0.1.0-alpha.5&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
SharpAstrology.SwissEph - Ephemerides for SharpAstrology
About
This package provides an implementation of the IEphemerides interface from SharpAstrology.Base. It uses the SwissEphNet project, which provides bindings for the C-library swisseph.
Install
dotnet add package SharpAstrology.SwissEph.Linux-x86
Simple usage
using System.Text.Json;
using SharpAstrology.Enums;
using SharpAstrology.Ephemerides;
using SharpAstrology.Interfaces;
// Use Moshier, so you don't need the swiss eph files or JPL files
var ephemeridesService = new SwissEphemeridesService(ephType: EphType.Moshier);
IEphemerides eph = ephemeridesService.CreateContext();
// Calculate positional information for Sun, Moon and Venus on January 1st 2024
//
// Use UTC time or it will throw
var pointInTime = new DateTime(2024, 1, 1, 0, 0, 0, DateTimeKind.Utc);
var sunPosition = eph.PlanetsPosition(Planets.Sun, pointInTime);
Console.WriteLine(JsonSerializer.Serialize(sunPosition));
// {
// "Longitude":280.0390123591898,
// "Latitude":0.00016036961321834312,
// "Distance":0.9833183562567887,
// "SpeedLongitude":1.0189783966864485,
// "SpeedLatitude":-3.780307931918674E-05,
// "SpeedDistance":-1.1317598853344111E-05
// }
var moonPosition = eph.PlanetsPosition(Planets.Moon, pointInTime);
Console.WriteLine(JsonSerializer.Serialize(moonPosition));
// {
// "Longitude":155.9922487287969,
// "Latitude":3.567636008224304,
// "Distance":0.0027048134096186458,
// "SpeedLongitude":11.848401014998416,
// "SpeedLatitude":-0.7336498562140658,
// "SpeedDistance":4.901106714722023E-06
// }
var venusPosition = eph.PlanetsPosition(Planets.Venus, pointInTime);
Console.WriteLine(JsonSerializer.Serialize(venusPosition));
// {
// "Longitude":242.6123495376748,
// "Latitude":1.9498137075115765,
// "Distance":1.1819079026603012,
// "SpeedLongitude":1.2159947235695916,
// "SpeedLatitude":-0.029584567802327894,
// "SpeedDistance":0.006288212288100938
// }
// Calculate house cusp longitudes in the porphyrius system for location London
var houseCusps = eph.HouseCuspPositions(pointInTime, 51.509865, -0.118092, HouseSystems.Porphyrius);
Console.WriteLine(houseCusps.Cross[Cross.Asc]);
// 187,0750455769693
Console.WriteLine(houseCusps.Cross[Cross.Mc]);
// 99,22014310617769
Console.WriteLine(houseCusps.HouseCusps[Houses.House1]);
// 187,0750455769693
eph.Dispose();
// Calculate sidereal position for Mars with Lahiri ayanamsa
eph = ephemeridesService.CreateContext(Ayanamsas.Lahiri);
var marsPosition = eph.PlanetsPosition(Planets.Mars, pointInTime, EphCalculationMode.Sidereal);
Console.WriteLine(JsonSerializer.Serialize(marsPosition));
// {
// "Longitude":243.11756696456447,
// "Latitude":-0.5505143969483922,
// "Distance":2.423806669715993,
// "SpeedLongitude":0.7413840544065141,
// "SpeedLatitude":-0.00973948506357604,
// "SpeedDistance":-0.003035312479835423
// }
Use swiss eph files or JPL files for more precision
Follow the instruction from the original swisseph project and download the files you want. Than save to files into a folder and use the path to that folder in the SwissEphemeridesService constructor.
using SharpAstrology.Ephemerides;
using SharpAstrology.Interfaces;
SwissEphemeridesService ephemeridesService;
IEphemerides eph;
// for swiss eph files
ephemeridesService = new SwissEphemeridesService(rootPathToEph: "[PATH_TO_SWISSEPH_ROOT_FOLDER]", EphType.Swiss);
eph = ephemeridesService.CreateContext();
// for JPL files
ephemeridesService = new SwissEphemeridesService(rootPathToEph: "[PATH_TO_JPL_ROOT_FOLDER]", EphType.Jpl);
eph = ephemeridesService.CreateContext();
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- SharpAstrology.Base (>= 0.9.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.1.0-alpha.5 | 64 | 6/20/2024 |