Svrnty.GeoManagement.Abstractions 0.2.3

dotnet add package Svrnty.GeoManagement.Abstractions --version 0.2.3
                    
NuGet\Install-Package Svrnty.GeoManagement.Abstractions -Version 0.2.3
                    
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="Svrnty.GeoManagement.Abstractions" Version="0.2.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Svrnty.GeoManagement.Abstractions" Version="0.2.3" />
                    
Directory.Packages.props
<PackageReference Include="Svrnty.GeoManagement.Abstractions" />
                    
Project file
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 Svrnty.GeoManagement.Abstractions --version 0.2.3
                    
#r "nuget: Svrnty.GeoManagement.Abstractions, 0.2.3"
                    
#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 Svrnty.GeoManagement.Abstractions@0.2.3
                    
#: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=Svrnty.GeoManagement.Abstractions&version=0.2.3
                    
Install as a Cake Addin
#tool nuget:?package=Svrnty.GeoManagement.Abstractions&version=0.2.3
                    
Install as a Cake Tool

Svrnty.GeoManagement.Abstractions

Core abstractions and models for geocoding and address management services.

Overview

This package provides the foundational interfaces and data structures for implementing geocoding providers. It defines the contract for geocoding operations without being tied to any specific provider implementation.

Installation

dotnet add package Svrnty.GeoManagement.Abstractions

Key Components

IGeoManagementProvider Interface

The main interface for geocoding operations:

public interface IGeoManagementProvider
{
    // Convert address to coordinates
    Task<GeoPoint?> GetGeoPointAsync(Address address, CancellationToken cancellationToken = default);

    // Convert coordinates to address
    Task<Address?> ReverseGeocodeAsync(GeoPoint geoPoint, CancellationToken cancellationToken = default);

    // Normalize and validate an address
    Task<Address?> NormalizeAddressAsync(Address address, CancellationToken cancellationToken = default);
    Task<Address?> NormalizeAddressAsync(string address, CancellationToken cancellationToken = default);
}

Address Model

Represents a structured postal address:

public record Address(
    string Line1,
    string? Line2,
    string City,
    string Subdivision,    // State/Province
    string PostalCode,
    string Country,
    GeoPoint? Location,
    string? Note,
    bool IsNormalized = false
);

Features:

  • Formatted address output with GetFormattedAddress() method
  • Support for multiple formats: Full, Compact, MultiLine
  • Optional location coordinates
  • Normalization tracking flag

GeoPoint Model

Represents geographic coordinates:

public record GeoPoint(double Latitude, double Longitude);

Usage

This package is designed to be used with provider implementations. For example:

using Svrnty.GeoManagement.Abstractions.Abstractions;
using Svrnty.GeoManagement.Abstractions.Models;

public class MyService
{
    private readonly IGeoManagementProvider _geoProvider;

    public MyService(IGeoManagementProvider geoProvider)
    {
        _geoProvider = geoProvider;
    }

    public async Task<GeoPoint?> GetCoordinates(Address address)
    {
        return await _geoProvider.GetGeoPointAsync(address);
    }
}

Available Providers

Implementing a Provider

To create your own geocoding provider:

  1. Reference this package
  2. Implement IGeoManagementProvider
  3. Map provider-specific responses to Address and GeoPoint models
public class MyCustomProvider : IGeoManagementProvider
{
    public async Task<GeoPoint?> GetGeoPointAsync(Address address, CancellationToken cancellationToken = default)
    {
        // Your implementation
    }

    // ... implement other methods
}

License

MIT License - see LICENSE for details

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Svrnty.GeoManagement.Abstractions:

Package Downloads
Svrnty.GeoManagement.Google

Google Geocoding API provider implementation for Svrnty.GeoManagement. Provides forward geocoding, reverse geocoding, and address normalization using Google Maps API.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.3 223 10/8/2025
0.2.2 196 10/8/2025
0.2.1 196 10/8/2025
0.2.0 193 10/8/2025
0.1.0 207 10/6/2025
0.1.0-test2 201 10/6/2025