IRI.Maptor.Sta.SpatialReferenceSystem
2.5.3
dotnet add package IRI.Maptor.Sta.SpatialReferenceSystem --version 2.5.3
NuGet\Install-Package IRI.Maptor.Sta.SpatialReferenceSystem -Version 2.5.3
<PackageReference Include="IRI.Maptor.Sta.SpatialReferenceSystem" Version="2.5.3" />
<PackageVersion Include="IRI.Maptor.Sta.SpatialReferenceSystem" Version="2.5.3" />
<PackageReference Include="IRI.Maptor.Sta.SpatialReferenceSystem" />
paket add IRI.Maptor.Sta.SpatialReferenceSystem --version 2.5.3
#r "nuget: IRI.Maptor.Sta.SpatialReferenceSystem, 2.5.3"
#:package IRI.Maptor.Sta.SpatialReferenceSystem@2.5.3
#addin nuget:?package=IRI.Maptor.Sta.SpatialReferenceSystem&version=2.5.3
#tool nuget:?package=IRI.Maptor.Sta.SpatialReferenceSystem&version=2.5.3
🌐 IRI.Maptor.Sta.SpatialReferenceSystem
A .NET library for advanced spatial reference systems (SRS), geodetic transformations, and map projections
This library provides implementations of horizontal spatial reference systems as defined in geodesy, supporting three primary categories:
- Terrestrial Coordinate Systems
- Conventional Terrestrial (CT or AT)
- Instantaneous Terrestrial (IT)
- Geodetic (G)
- Local Geodetic (LG)
- Local Astronomic
- Celestial Coordinate Systems
- Apparent Places (AP)
- Right Ascension (RA)
- Horizontal Angle (HA)
- Orbital Coordinate Systems
- Orbital (OR)
Fig. 1: Relationship between geocentric, topocentric, and 2D coordinate systems
✨ Features
1. Supported Map Projections & Horizontal Datums
This library implements standard map projections and geodetic datums, including:
- Projections:
- Transverse Mercator (TM)
- Universal Transverse Mercator (UTM)
- Web Mercator (Auxiliary Sphere)
- Cylindrical Equal-Area
- Albers Equal-Area Conic (1- and 2-parallel variants)
- Lambert Conformal Conic (1- and 2-parallel variants)
- Horizontal Datums:
- 30+ predefined ellipsoids (WGS84, GRS80, Clarke 1866, etc.)
- Custom ellipsoid support via semi-major/minor axis parameters
2. Coordinate System Transformations
Transformation between different spatial reference systems are available including:
- CT ↔ IT
- CT ↔ G
- G1 ↔ G2 (transform Geodetic system with different ellipsoids)
- CT ↔ LA
- G ↔ LG
- LA ↔ LG
- LA ↔ HA
- HA ↔ AP
- IT ↔ AP
- OR ↔ AP
🚀 Getting Started
Basic Usage
Convert WGS84 to AT:
// Arrange
var wgs84Ellipsoid = Ellipsoids.WGS84;
double latitudeInDegrees = 35.123456;
double longitudeInDegrees = 51.123456;
var originalGeodeticPoint = new IRI.Maptor.Sta.Common.Primitives.Point(longitudeInDegrees, latitudeInDegrees);
// Act - Test geodetic to Cartesian conversion
var cartesianFromTransform = Transformations.ToCartesian(originalGeodeticPoint, wgs84Ellipsoid);
var cartesianFromGeodeticPoint = new GeodeticPoint<Meter, Degree>(
wgs84Ellipsoid,
new Meter(0),
new Degree(longitudeInDegrees),
new Degree(latitudeInDegrees))
.ToCartesian<Meter>();
// Assert - Both Cartesian conversion methods should produce same result
Assert.Equal(cartesianFromGeodeticPoint.X.Value, cartesianFromTransform.X, 9);
Assert.Equal(cartesianFromGeodeticPoint.Y.Value, cartesianFromTransform.Y, 9);
Assert.Equal(cartesianFromGeodeticPoint.Z.Value, cartesianFromTransform.Z, 9);
📦 NuGet: IRI.Maptor.Sta.Spatial
🐞 Report Issues: GitHub Issues
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- IRI.Maptor.Sta.Common (>= 2.5.3)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on IRI.Maptor.Sta.SpatialReferenceSystem:
Package | Downloads |
---|---|
IRI.Maptor.Sta.Spatial
A .NET standard library to work with spatial types, structures and algorithms (GeoJson, Geometry, KdTree, RTree, Delaunay, Simplification, etc.) |
|
IRI.Maptor.Jab.Common
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.