AGI Components for .NET is a family of powerful class libraries built on version 2.0 or later of the Microsoft .NET platform. Whether you are building a small utility to process some proprietary data, a world-class desktop aerospace software application, a multi-user web application, or a piece of a service-oriented architecture (SOA), AGI Components can help.
The libraries offer the following major capabilities:
- Time
- A high-precision JulianDate type
- Time standards, including UTC, UT1, TAI, TT, TDB, and GPS, and conversions between them
- Coordinates
- Cartesian, Spherical, Cartographic (Longitude, Latitude, Altitude), and more
- Orbital elements including Delaunay, Equinoctial, Keplerian, and Modified Keplerian
- Rotations
- Matrix3By3, UnitQuaternion, EulerSequence, YawPitchRoll, and more
- Earth Modeling
- Earth Orientation Parameters (Pole Wander and UTC/UT1 difference)
- IAU 1976 precession model
- IAU 1980 nutation model
- IERS Technical Note 21
- J2000, Mean Equator Mean Equinox, Mean Ecliptic Mean Equinox, Mean Ecliptic True Equinox, True Equator True Equinox, True Equator Mean Equinox, Fixed
- Modeling of Other Central Bodies
- IAU 2000 and 2006 models of the orientation of the planets, Sun, and Earth's Moon
- Simon1994 analytical model for the positions of the planets and Earth's moon
- Geometry Transformation Engine (like STK's Vector Geometry Tool)
- Points, Axes, Vectors, Reference Frames, and Scalar
- Observe a point in any reference frame
- Observe a vector in any set of axes
- Find a transformation between any two sets of axes or reference frames
- Orbit Propagation
- Two Body, J2, and J4 propagators
- Propagate state using SRP, drag, gravity and custom force models with NumericalPropagator. - requires Orbit Propagation Library
- Propagate from a Two-Line Element Set (TLE) using SGP4
- NavstarISGps200DPropagator for propagating GPS satellites according to IS-GPS-200D
- Multithreaded for scalability and to take full advantage of multicore systems
- Waypoint Propagation
- Shortest path over an ellipsoid
- Useful for modeling straight paths between waypoints on the surface of a CentralBody
- Route Propagation - requires Route Design Library
- Provides a simple way to model aircraft, ground vehicle, and ship routes
- Simple turn procedures at waypoints
- Holding patterns and search procedures
- Takeoff and landing
- Simple orientation for modeling aircraft banking and vehicles driving along terrain
- Sensor Modeling
- Rectangular, Complex Conic, Synthetic Aperture Radar (SAR)
- Compute Access using a sensor
- Find the projection of a sensor onto the Earth or other central body
- Access (intervisibility)
- Determine the times when one object can "see" another
- Model complex intervisibility problems involving any number of objects by building access queries using boolean operators
- Accounts for light-time delay and aberration, even over multiple "hops" in a chain
- Multithreaded for scalability and to take full advantage of multicore systems
- JPL Planetary and Lunar Ephemerides
- Determine the positions and velocities of the planets and Earth's moon
- Nutation and libration
- Numerical Methods
- Numerical integration
- Brent bracketing root and extremum finders
- Find the places where an arbitrary function crosses a threshold value
- Lagrange and Hermite interpolation/extrapolation
- Translational and rotational motion interpolators
- Polynomial modeling and root finding
- Platforms
- Extensible, high-level objects for modeling satellites, facilities, aircraft, etc.
-
3D Visualization - requires Insight3D
- High performance, technically accurate 3D globe
- Rich terrain and imagery
- Render moving points, lines, polygons, meshes, markers and models
- Screen overlays for heads-up displays, logos, etc.
- Display video on terrain, screen overlays, and models
- Rich image processing
- Flexible camera control
- Dynamic Data Analysis requires Tracking Library
- Software Transactional Memory System
- Evaluator Parameterization for one-point analysis
- Data Filtering
- Archiving and Retrieval
- Navigation Systems - requires Navigation Accuracy Library
- Read Performance Assessment Files (PAF), Prediction Support Files (PSF), RINEX Navigation files, Satellite Outage Files (SOF), SEM and YUMA almanacs, and SP3a and SP3c ephemeris files
- Propagate the SVs according to IS-GPS-200D
- Track satellites with All-in-view and Best-N algorithms
- Compute Dilution of Precision (DOP)
- Compute assessed and predicted navigation accuracy
- Compute Receiver Autonomous Integrity Monitoring (RAIM) outages
- Use navigation quantities to constrain access
- Terrain Analysis - requires Terrain Analysis Library
- Read terrain data in a variety of formats:
- USGS Digital Elevation Model (DEM)
- NGA Digital Terrain Elevation Data (DTED)
- AGI World Terrain
- GEODAS Gridded Data Format (GRD98)
- GTOPO30
- AGI Processed Data Terrain (PDTT)
- Earth Gravity Model 1996 (EGM96) Mean Sea Level surface
- Terrain line of sight Access constraint
- Compute an Azimuth/Elevation Mask from terrain
- Multithreaded caching mechanism delivers great performance even with huge data sets
- Read terrain data in a variety of formats:
- Spatial Analysis / Coverage requires Spatial Analysis Library
- Geometry primitives representing lines and regions on the globe
- Gridding Algorithms
- Grid based on surface regions (e.g. area defined by the US border)
- Global grid
- Latitude and Longitude lines
- Latitude bounds
- Downselect an existing grid with a surface region (area target)
- Create your own by extending AGI Components types
- Easily orient and configure constraints on the grid points for Access
- Use terrain to specify grid point altitudes
- Coverage Definitions
- Coverage based on a grid on the surface of a CentralBody
- Coverage based on a time-dynamic object
- Assets representing spacecraft, aircraft, constellations, chains, or any boolean combination thereof
- Figures of Merit
- Number of assets
- Coverage time
- Response time
- Coverage gaps
- Percentages and statistics over the grid
- Instantaneous and/or accumulated values
- Navigation Figures of Merit - requires Navigation Accuracy Library
- Dilution of precision
- Navigation accuracy predicted
- Navigation accuracy assessed
- Communications Analysis requires Communications Library
- Wireless links and support for Platforms used as antennas
- Antenna Gain Patterns
- Isotropic Gain Pattern (omnidirectional)
- Gaussian Gain Pattern
- Helical Gain Pattern
- Parabolic Gain Pattern
- Square Horn Gain Pattern
- Wireless Signal Propagation
- Light time delay and doppler shift taken into account for signal propagation
- Free Space Path Loss
- Atmospheric Attenuation from ITU-R P.676
- Cloud and Fog Attenuation from ITU-R P.840
- Rain Attenuation from ITU-R P.618
- Tropospheric Scintillation from ITU-R P.618
- Simple SATCOM Attenuation Model
- Crane Rain Attenuation Model
- Signal Processors Modeling Hardware Behavior
- Constant Gain Amplifier
- Variable Gain Amplifier (IBO/OBO)
- Constant Frequency Mixer
- Variable Frequency Mixer
- Signal Source (analog/custom)
- Digital Data Source (digital)
- Digital Modulator
- Digital Demodulator
- Rectangular Filter
- Scalars Representing Link Budget Parameters
- Effective Isotropic Radiated Power EIRP
- Received Isotropic Power RIP
- Carrier to Noise C/N
- Carrier to Noise Density C/No
- Carrier to Interference C/I
- Carrier to Noise + Interference C/(N+I)
- Energy per Bit to Noise Density Eb/No
- Bit Error Rate BER
- Antenna Gain in Link Direction
- Power at Receiver Output
- Received Power Flux Density
- Propagation Loss
- The above Scalars can be used as AccessConstraints and FiguresOfMerit
- Access Constraints can be used to constrain Comm. Links during signal propagation
The above list is only a sampling of the capabilities offered by AGI Components. For a complete listing, browse the table of contents of the Library Reference . If you are an experienced .NET developer, you can get started with AGI Components right away simply by adding references to its assemblies to your project. They are found in the Assemblies subdirectory under the directory where you installed AGI Components.
In addition to the Library Reference, the help system includes a Programmer's Guide, with an Overview containing high level descriptions and explanations of the class library, Reference Applications illustrating the use of important AGI Components types, a Tutorial, and other information.