Skip to content

SGPdotNET.CoordinateSystem

parzivail edited this page Aug 8, 2019 · 5 revisions

Coordinate

Stores a generic location

public abstract class SGPdotNET.CoordinateSystem.Coordinate

Methods

Type Name Summary
Angle AngleTo(Coordinate to) Calculates the Great Circle distance as an angle to another geodetic coordinate, ignoring altitude
Boolean CanSee(Coordinate other) Returns true if there is line-of-sight between this coordinate and the supplied one by checking if this coordinate is within the footprint of the other
Double DistanceTo(Coordinate to) Calculates the Great Circle distance (km) to another coordinate
Boolean Equals(Coordinate other)
Boolean Equals(Object obj)
Double GetFootprint() Calculates the visibility radius (km) of the satellite by which any distances from this coordinate less than the radius are able to see this coordinate
Angle GetFootprintAngle() Calculates the visibility radius (radians) of the satellite by which any distances from this coordinate less than the radius are able to see this coordinate
List<GeodeticCoordinate> GetFootprintBoundary(Int32 numPoints = 60) Gets a list of geodetic coordinates which define the bounds of the visibility footprint at a specific time
Int32 GetHashCode()
TopocentricObservation Observe(Coordinate to, Nullable<DateTime> time = null) Calculates the look angles between this coordinate and target
String ToDegreesMinutesSeconds() Converts this coordinate to its Degrees-Minutes-Seconds (DMS) representation, disregarding altitude
EciCoordinate ToEci(DateTime dt) Converts this coordinate to an ECI one
GeodeticCoordinate ToGeodetic() Converts this coordinate to a geodetic one
String ToMaidenhead(MaidenheadPrecision precision = FiveKilometers, MaidenheadStandard standard = AaToXx) Converts this coordinate to its Maidenhead Locator System representation, disregarding altitude
Vector3 ToSphericalEcef() Converts this coordinate to an ECEF one, assuming a spherical earth

Static Fields

Type Name Summary
Coordinate NorthPole A coordinate that represents the geographic North Pole
Coordinate SouthPole A coordinate that represents the geographic South Pole

EciCoordinate

Stores an Earth-centered inertial position for a particular time

public class SGPdotNET.CoordinateSystem.EciCoordinate
    : Coordinate

Properties

Type Name Summary
Vector3 Position The position component of the coordinate
DateTime Time The time component of the coordinate
Vector3 Velocity The velocity component of the coordinate

Methods

Type Name Summary
Boolean Equals(EciCoordinate other)
Boolean Equals(Object obj)
Int32 GetHashCode()
EciCoordinate ToEci(DateTime dt)
GeodeticCoordinate ToGeodetic() Converts this ECI position to a geodetic one
String ToString()

GeodeticCoordinate

Stores a geodetic location

public class SGPdotNET.CoordinateSystem.GeodeticCoordinate
    : Coordinate

Properties

Type Name Summary
Double Altitude Altitude in kilometers
Angle Latitude Latitude, where -PI/2 (South Pole) <= latitude (radians) < PI/2 (North Pole)
Angle Longitude Longitude, where -PI <= longitude (radians) < PI

Methods

Type Name Summary
Boolean Equals(Object obj)
Boolean Equals(GeodeticCoordinate other)
Int32 GetHashCode()
EciCoordinate ToEci(DateTime dt) Converts this geodetic position to an ECI one
GeodeticCoordinate ToGeodetic()
String ToString()

MaidenheadPrecision

Defines the avilable granularities for the conversion to the Maidenhead system

public enum SGPdotNET.CoordinateSystem.MaidenheadPrecision
    : Enum, IComparable, IFormattable, IConvertible

Enum

Value Name Summary
0 ThousandKilometers One pair, accurate to 1111.2 kilometers
1 HunderedKilometers Two pairs, accurate to 111.12 kilometers
2 FiveKilometers Three pairs, accurate to 4.630 kilometers
3 FiveHundredMeters Four pairs, accurate to 463 meters
4 TwentyMeters Five pairs, accurate to 19.2917 meters
5 TwoMeters Six pairs, accurate to 1.9292 meters

MaidenheadStandard

Defines the available standards for converting the 5th pair of the Maidenhead Locator System

public enum SGPdotNET.CoordinateSystem.MaidenheadStandard
    : Enum, IComparable, IFormattable, IConvertible

Enum

Value Name Summary
0 AaToXx The standard where the 5th pair ranges from AA to XX
1 AaToYy The standard where the 5th pair ranges from AA to YY
Clone this wiki locally