GeoCoordinates.Core
1.0.2
See the version list below for details.
dotnet add package GeoCoordinates.Core --version 1.0.2
NuGet\Install-Package GeoCoordinates.Core -Version 1.0.2
<PackageReference Include="GeoCoordinates.Core" Version="1.0.2" />
paket add GeoCoordinates.Core --version 1.0.2
#r "nuget: GeoCoordinates.Core, 1.0.2"
// Install GeoCoordinates.Core as a Cake Addin #addin nuget:?package=GeoCoordinates.Core&version=1.0.2 // Install GeoCoordinates.Core as a Cake Tool #tool nuget:?package=GeoCoordinates.Core&version=1.0.2
GeoCoordinates C# Library
Summary
This lightweight and straightforward library is ideal for anyone working with coordinate data or projects involving geographical information.
Library Features
- Coordinate: A class representing a single point in space, containing latitude, longitude, elevation, and other relevant properties.
- CoordinatePath: A class that holds a collection of coordinates along with additional attributes such as total distance, elevation gain and loss, and more.
- GpxHandler: A utility class for parsing and extracting data from GPX files (versions 1.0 and 1.1).
Example Use Case
Consider a scenario where you need to calculate the distance between two mountain summits.
Using this library you would do as such:
static double GetDistanceBetweenSummits(Coordinate summit1, Coordinate summit2)
{
return summit1.GetDistanceTo(summit2);
}
var summit1 = new Coordinate(53.023, 54.024, 6565);
var summit2 = new Coordinate(54.325, 55.023, 7972);
var distance = GetDistanceBetweenSummits(summit1, summit2);
Console.WriteLine($"The distance between the summits is {distance} meters.");
Or you need to figure out the distance of your run which u have saved as a gpx file.
var handler = new GpxHandler(new GpxProcessor() ,new GpxLoader());
var filepath = "./runs/my_fav_run.gpx";
var path = handler.LoadGpx(filepath);
Console.WriteLine($"The distance of the run is {path.Distance} meters");
Contribution
If anyone reading this wants to contribute just create a pull request. I will be happy to extend this library beyond, I've implemented only the basics for my own use. I'm sure there is a'lot of that can be done!
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. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Added extension method for collections of coordinates to wrap CoordinatePath functionality, allowing quick checks for path alignment without needing to create a CoordinatePath instance manually.
This streamlines common operations like distance calculations and alignment checks.
Added documentation.