Xopabyteh.ReverseGeocoding
1.0.0
dotnet add package Xopabyteh.ReverseGeocoding --version 1.0.0
NuGet\Install-Package Xopabyteh.ReverseGeocoding -Version 1.0.0
<PackageReference Include="Xopabyteh.ReverseGeocoding" Version="1.0.0" />
<PackageVersion Include="Xopabyteh.ReverseGeocoding" Version="1.0.0" />
<PackageReference Include="Xopabyteh.ReverseGeocoding" />
paket add Xopabyteh.ReverseGeocoding --version 1.0.0
#r "nuget: Xopabyteh.ReverseGeocoding, 1.0.0"
#:package Xopabyteh.ReverseGeocoding@1.0.0
#addin nuget:?package=Xopabyteh.ReverseGeocoding&version=1.0.0
#tool nuget:?package=Xopabyteh.ReverseGeocoding&version=1.0.0
ReverseGeocoder
An offline reverse geocoding library in C#. As a source of geodata may be used GeoNames.org.
Getting started
Get geodata
For this library to work offline you need to download in advance the geodata files (from here). You can get file for one country or with all cities of the world with population more than 15k, 5k or 1k.
Also you may need to get country list to be able to get country name by its code.
Basic usage
There are two options:
- Load a geodata from a file
var geocoder = new ReverseGeocoder(@"C:\cities1000.txt");
Console.WriteLine(geocoder.NearestPlaceName(40.730885, -73.997383));
- Load a geodata from a
Stream
using (MemoryStream ms = new MemoryStream(geodata))
{
GeoSharp.ReverseGeoCoder geocoder = new GeoSharp.ReverseGeoCoder(ms);
Console.WriteLine(geocoder.NearestPlaceName(40.730885, -73.997383));
}
Perfomance
The look ups are very fast, O(logn), however building the initial KD-Tree is not so fast, O(kn * logn), so pre-selecting your datasets and filtering out places or areas that are not of interest (like water bodies) can be used to improve load speed and reduce memory usage.
Acknowledgment
| 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. 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. |
-
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.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 258 | 7/22/2024 |