Searoute.Data
1.0.0
dotnet add package Searoute.Data --version 1.0.0
NuGet\Install-Package Searoute.Data -Version 1.0.0
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="Searoute.Data" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Searoute.Data" Version="1.0.0" />
<PackageReference Include="Searoute.Data" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Searoute.Data --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Searoute.Data, 1.0.0"
#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.
#:package Searoute.Data@1.0.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Searoute.Data&version=1.0.0
#tool nuget:?package=Searoute.Data&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Searoute.NET
A .NET 9.0 library for calculating the shortest sea routes between two points on Earth.
Features
- π Calculate shortest maritime routes between any two coordinates
- π’ Support for 12 major maritime passages (Panama, Suez, Gibraltar, etc.)
- β Automatic port selection with country filtering
- π Multiple distance units (km, miles, nautical miles, etc.)
- β±οΈ Duration calculations based on vessel speed
- πΊοΈ GeoJSON input/output support
- π High-performance spatial indexing with KD-Tree
- πͺ Modern .NET 9.0 with nullable reference types
Installation
dotnet add package Searoute.Core
Quick Start
using Searoute.Core;
// Define origin and destination
var origin = new Coordinate(0.3515625, 50.064191736659104);
var destination = new Coordinate(117.421875, 39.36827914916014);
// Calculate route
var route = await Searoute.CalculateRouteAsync(origin, destination);
// Display results
Console.WriteLine($"Distance: {route.Properties.Length:F1} {route.Properties.Units}");
Console.WriteLine($"Duration: {route.Properties.DurationHours:F1} hours");
Advanced Usage
With Port Selection
var options = new RouteOptions
{
IncludePorts = true,
PortParameters = new PortParameters
{
OnlyTerminals = true,
CountryOfLoading = "FR",
CountryOfDischarge = "CN"
}
};
var route = await Searoute.CalculateRouteAsync(origin, destination, options);
With Passage Restrictions
var options = new RouteOptions
{
Restrictions = new[]
{
Passage.Northwest,
Passage.Suez
}
};
var route = await Searoute.CalculateRouteAsync(origin, destination, options);
Project Structure
- Searoute.Core: Main routing engine and algorithms
- Searoute.Data: Data loaders and embedded resources
- Searoute.Tests: Unit and integration tests
- Searoute.Examples: Example applications
License
Apache License 2.0
Credits
Ported from the Python searoute-py library.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net9.0
- NetTopologySuite (>= 2.5.0)
- NetTopologySuite.IO.GeoJSON (>= 4.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Searoute.Data:
| Package | Downloads |
|---|---|
|
Searoute.Core
A .NET library for calculating shortest maritime routes between coordinates with support for major passages and port selection |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 461 | 3/5/2026 |