IRI.Maptor.Sta.Common
2.8.1
dotnet add package IRI.Maptor.Sta.Common --version 2.8.1
NuGet\Install-Package IRI.Maptor.Sta.Common -Version 2.8.1
<PackageReference Include="IRI.Maptor.Sta.Common" Version="2.8.1" />
<PackageVersion Include="IRI.Maptor.Sta.Common" Version="2.8.1" />
<PackageReference Include="IRI.Maptor.Sta.Common" />
paket add IRI.Maptor.Sta.Common --version 2.8.1
#r "nuget: IRI.Maptor.Sta.Common, 2.8.1"
#:package IRI.Maptor.Sta.Common@2.8.1
#addin nuget:?package=IRI.Maptor.Sta.Common&version=2.8.1
#tool nuget:?package=IRI.Maptor.Sta.Common&version=2.8.1
IRI.Maptor.Sta.Common
The IRI.Maptor.Sta.Common project is the foundational building block of the Maptor GIS library suite. It provides core abstractions, utility classes, mathematical models, data structures, and essential helpers required by higher-level Maptor components. This library ensures consistency and reusability across all GIS-related modules.
🔍 Overview
This library focuses on:
- Core interfaces and abstractions for domain-driven design (e.g.,
IIdentifiable
,IPoint
) - Mathematical operations including linear algebra and statistics
- Advanced data structures (trees, heaps, disjoint sets)
- Unit and measurement conversions (linear, angular)
- Extensions and helpers for strings, numbers, collections, and I/O
- Service models for integration with external APIs (Google, Bing, Here, Mapzen)
It acts as the backbone for Maptor, ensuring other projects share a unified and optimized base.
✨ Features
- Abstractions for geometric and domain models
- Encodings (Base64 URL, Persian DOS)
- Enums and attribute utilities
- Rich set of data structures: binary heaps, trees, interval trees, red-black trees, disjoint sets
- Helpers for I/O, JSON, XML, HTTP, security, randomness
- Mathematics: matrices, vectors, eigenvalues, chi-square, statistics models
- Unit conversions for angles and lengths (meters, feet, miles, etc.)
- Extensions for
string
,DateTime
,IEnumerable
,int
,double
, etc. - External service contracts for routing, geolocation, and dictionary services
📚 Installation
Install via NuGet:
Install-Package IRI.Maptor.Sta.Common
Supports .NET 8.0 and later.
🔄 Example Usage
Working with Points and Bounding Boxes:
using IRI.Maptor.Sta.Common.Primitives;
var pointA = new Point(10.5, 20.3);
var pointB = new Point(12.7, 22.1);
var bbox = new BoundingBox(pointA, pointB);
Console.WriteLine($"Bounding Box: {bbox}");
Using Unit Conversions:
using IRI.Maptor.Sta.Common.Units.Linear;
double meters = 1000;
var miles = new Mile(meters);
Console.WriteLine($"{meters} meters = {miles.Value} miles");
🛠 Project Structure
Common/
Abstractions/ # Core interfaces (IHasM, IIdentifiable, IRepository, etc.)
Attributes/ # Custom attributes like FieldAttribute
Encodings/ # Encoding utilities (Base64Url, Persian DOS)
Enums/ # Enum definitions for geometry and spatial relations
Exceptions/ # Custom exceptions
JsonConverters/ # JSON converters for specialized types
Randoms/ # Random generators
Contracts/
Google/, Bing/, Here/, Mapzen/ # API response models
DataStructures/
BinaryHeap/, Trees/, SortAlgorithms/ # Advanced structures
Extensions/ # Extension methods for core types
Helpers/ # Utility classes for I/O, HTTP, security, etc.
Mathematics/ # Linear algebra, statistics, optimization
Models/ # Domain models (GeoreferencedImage, ValueObject)
Primitives/ # Geometric primitives (Point, LineSegment, BoundingBox)
Services/ # Service models and helpers (Oxford API, DateTime services)
Units/ # Unit conversion systems (Linear, Angular)
💪 Why Use This Library?
- Provides solid foundations for building GIS and spatial applications
- Eliminates repetitive code with rich utility support
- Ensures high performance via optimized algorithms and structures
👥 Contributing
Contributions are welcome! Please fork the repository, create a feature branch, and submit a pull request.
⚖️ License
This project is licensed under the MIT License.
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 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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | 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.1
- System.Net.Http.Json (>= 9.0.7)
- System.Text.Json (>= 9.0.7)
NuGet packages (14)
Showing the top 5 NuGet packages that depend on IRI.Maptor.Sta.Common:
Package | Downloads |
---|---|
IRI.Maptor.Sta.SpatialReferenceSystem
A .NET standard library to transform various spatial reference systems |
|
IRI.Maptor.Sta.Spatial
A .NET standard library to work with spatial types, structures and algorithms (GeoJson, Geometry, KdTree, RTree, Delaunay, Simplification, etc.) |
|
IRI.Maptor.Sta.Ogc
A .NET standard library containing OGC standards such as SFA, SLD, WFS, WMS, GML, KML |
|
IRI.Maptor.Sta.ShapefileFormat
A .NET standard library to read/write shapefile (*.shp, *.shx, *.dbf, *.prj) |
|
IRI.Maptor.Jab.Common
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
2.8.1 | 0 | 9/7/2025 |
2.8.0 | 34 | 9/6/2025 |
2.7.4 | 270 | 8/27/2025 |
2.7.4-alpha | 256 | 8/28/2025 |
2.7.3 | 254 | 8/27/2025 |
2.7.3-alpha | 343 | 8/25/2025 |
2.7.2 | 284 | 8/15/2025 |
2.7.2-alpha.27 | 110 | 8/19/2025 |
2.7.2-alpha.26 | 114 | 8/18/2025 |
2.7.2-alpha.25 | 49 | 8/16/2025 |
2.7.2-alpha.24 | 55 | 8/15/2025 |
2.7.2-alpha.23 | 63 | 8/15/2025 |
2.7.2-alpha.22 | 74 | 8/15/2025 |
2.7.2-alpha.21 | 95 | 8/15/2025 |
2.7.2-alpha | 202 | 8/21/2025 |
2.7.1-alpha.20 | 105 | 8/15/2025 |
2.7.1-alpha.19 | 119 | 8/14/2025 |
2.7.0-alpha.18 | 125 | 8/14/2025 |
2.7.0-alpha.17 | 120 | 8/14/2025 |
2.7.0-alpha.16 | 121 | 8/14/2025 |
2.6.2 | 230 | 8/13/2025 |
2.6.2-alpha.15 | 122 | 8/13/2025 |
2.6.1 | 204 | 8/11/2025 |
2.5.4 | 204 | 8/11/2025 |
2.5.3 | 275 | 8/7/2025 |
2.5.2 | 277 | 8/7/2025 |
2.5.1 | 278 | 8/7/2025 |
2.5.0 | 300 | 8/6/2025 |
2.4.1 | 308 | 8/6/2025 |