Lyo.Geolocation
2.0.0
dotnet add package Lyo.Geolocation --version 2.0.0
NuGet\Install-Package Lyo.Geolocation -Version 2.0.0
<PackageReference Include="Lyo.Geolocation" Version="2.0.0" />
<PackageVersion Include="Lyo.Geolocation" Version="2.0.0" />
<PackageReference Include="Lyo.Geolocation" />
paket add Lyo.Geolocation --version 2.0.0
#r "nuget: Lyo.Geolocation, 2.0.0"
#:package Lyo.Geolocation@2.0.0
#addin nuget:?package=Lyo.Geolocation&version=2.0.0
#tool nuget:?package=Lyo.Geolocation&version=2.0.0
Lyo.Geolocation
Geospatial operations and persistence contracts that do not pick a vendor.
Archetype A (Lyo domain). Vendor Maps clients (e.g. Lyo.Google.Geolocation.Client) are Archetype C under Integration/{Vendor}/. See package layout.
Examples
How a consumer composes this
// Host project references: Lyo.Geolocation.Postgres, Lyo.Google.Geolocation.Client, …
services.AddPostgresGeolocationStoreFromConfiguration(configuration);
services.AddGoogleMapsClientFromConfiguration(configuration);
services.AddGoogleMapsGeolocationService();
// Ingest: call IGeolocationService, map to Address + EntitySourceRecord, then:
await geolocationStore.SaveAddressAsync(address, ct);
Assemblies
| Package | What it does |
|---|---|
Lyo.Geolocation.Models |
Domain DTOs (GeocodeResult, Address, Route, …) |
Lyo.Geolocation (this) |
IGeolocationService, IGeolocationStore, GeolocationQueryKey, GeolocationMath |
Lyo.Geolocation.Postgres |
EF Core persistence (geolocation schema) |
HTTP clients and vendor SDKs are not referenced here. Wire providers and import mappers in the host (API, worker, tool).
IGeolocationService
The contract for routing, geocoding, distance, and time zone work (implementations live in separate integration packages).
IGeolocationStore
- Canonical rows in
geolocation.address geolocation.address_source. Import provenance:source_entity_*+imported_at(owneraddress_idon parent). The importing app supplies external type strings, for exampleGoogleMapsPlace.SaveAddressAsync/GetBySourceAsync(matchessource_entity_*). ParentAddressimplementsIEntitySourceDerived(Sources, optionalLocallyModifiedAt).
How a consumer composes this
The API or worker registers provider(s) and the store, and maps vendor DTOs onto Address + Sources. Vendor-specific EntityRef type names (for example GoogleMapsPlace) belong in the integration package that does the mapping, not this assembly.
Related reading
Internal people rows with their own *_source tables: Lyo.People.Models. At import time, link across stores with EntityRef.
Dependencies
Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).
Lyo.EntityReference.Models(direct, lyo)Lyo.Exceptions(direct, lyo)Lyo.Geolocation.Models(direct, lyo)Lyo.Common.Core(transitive, lyo)Lyo.Common.Metadata(transitive, lyo)Microsoft.Bcl.AsyncInterfaces10.0.5(transitive, microsoft, netstandard2.0)System.Memory4.6.3(transitive, microsoft, netstandard2.0)System.Text.Json10.0.5(transitive, microsoft, netstandard2.0)
| 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 is compatible. 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 | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. 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.0
- Lyo.EntityReference.Models (>= 2.0.0)
- Lyo.Exceptions (>= 2.0.0)
- Lyo.Geolocation.Models (>= 2.0.0)
-
net10.0
- Lyo.EntityReference.Models (>= 2.0.0)
- Lyo.Exceptions (>= 2.0.0)
- Lyo.Geolocation.Models (>= 2.0.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Lyo.Geolocation:
| Package | Downloads |
|---|---|
|
Lyo.Geolocation.Postgres
PostgreSQL persistence for Lyo.Geolocation using Entity Framework Core. |
|
|
Lyo.Google.Geolocation.Client
Google Maps API client for Lyo geolocation (geocoding, directions, time zone). |
GitHub repositories
This package is not used by any popular GitHub repositories.