VOOZH about

URL: https://www.nuget.org/packages/Universe.NetCore.FIAS.Normalizer/

⇱ NuGet Gallery | Universe.NetCore.FIAS.Normalizer 1.0.0.100




Universe.NetCore.FIAS.Normalizer 1.0.0.100

dotnet add package Universe.NetCore.FIAS.Normalizer --version 1.0.0.100
 
 
NuGet\Install-Package Universe.NetCore.FIAS.Normalizer -Version 1.0.0.100
 
 
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="Universe.NetCore.FIAS.Normalizer" Version="1.0.0.100" />
 
 
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Universe.NetCore.FIAS.Normalizer" Version="1.0.0.100" />
 
Directory.Packages.props
<PackageReference Include="Universe.NetCore.FIAS.Normalizer" />
 
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 Universe.NetCore.FIAS.Normalizer --version 1.0.0.100
 
 
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Universe.NetCore.FIAS.Normalizer, 1.0.0.100"
 
 
#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 Universe.NetCore.FIAS.Normalizer@1.0.0.100
 
 
#: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=Universe.NetCore.FIAS.Normalizer&version=1.0.0.100
 
Install as a Cake Addin
#tool nuget:?package=Universe.NetCore.FIAS.Normalizer&version=1.0.0.100
 
Install as a Cake Tool
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Universe.FIAS

The Universe.FIAS project is a .NET library designed to work with the Federal Information Address System (FIAS) database in Russia. FIAS is a federal-level address database used for standardizing and managing address data across various systems. This library provides tools to parse, process, and query FIAS data efficiently.

Project Overview

  • Purpose: Simplifies interaction with FIAS data (importing, querying, and processing).
  • Technology: Built with .NET (C#), using Entity Framework Core for database operations.
  • Database Support: Works with PostgreSQL (as indicated by Npgsql dependency).
  • Key Features:
    • Parsing FIAS XML data.
    • Importing FIAS data into a database.
    • Querying address hierarchies (regions, cities, streets, etc.).
    • Supporting incremental updates.

Main Classes and Components

The project is structured into several key classes and namespaces:

1. FiasDbContext (Database Context)
  • Inherits from DbContext (Entity Framework Core).
  • Defines database tables (DbSet<T>) for FIAS entities like:
    1. AddrObjs - Address Objects: regions, districts, streets, cities;
    2. AsHouses - houses;
    3. Object statuses - AsActStatuses, AsCenterStatuses, AsOperStatuses, AsStrStatuses;
    4. Other FIAS-related tables - AsVersions, AsAddrObjTypes, where AS - it's meaning Address System.
2. FiasEntity and Derived Classes

Represents FIAS data structures:

  • AsAddrObj – represents for FIAS address objects: regions, districts, streets, cities;
  • AsHouse – represents house records.
3. FiasXmlParser
  • Handles parsing of FIAS XML files (e.g., AS_ADDROBJ.XML, AS_HOUSES.XML).
  • Uses XmlSerializer to deserialize data into C# objects.
4. FiasImporter
  • Responsible for bulk-importing FIAS data into the database.
  • Uses Entity Framework Core for batch inserts.
  • Supports incremental updates.
5. FiasService (or similar query service)
  • Provides methods to query FIAS data:
    • Get addresses by region/city.
    • Search by postal code, GUID, or address text.
    • Fetch hierarchical data (e.g., regions → cities → streets).
6. FiasDownloader (if present)
  • Helps download FIAS archives from official sources.
7. FiasExtensions
  • Contains helper methods for:
    • Normalizing address strings.
    • Converting between FIAS GUIDs and database IDs.

Example Usage

// Initialize the database context
using var db = new FiasDbContext();

// Query addresses in a specific region
var houses = db.Houses
 .Where(h => h.RegionCode == "63") // Moscow region code
 .ToList();

// Import FIAS data from XML
var parser = new FiasXmlParser();
var objects = parser.Parse("AS_ADDROBJ.XML");

var importer = new FiasImporter(db);
importer.Import(objects);

Second sample:


 var scope = new UniverseFiasScope(resolver, settings, container);
 var searcher = new FiasUtil(scope);
 var info = searcher.GetFiasInfo("ул. Молодогвардейская, д.244");


Dependencies

  • EntityFrameworkCore (for database operations)
  • Npgsql.EntityFrameworkCore.PostgreSQL (PostgreSQL support)
  • System.Xml (XML parsing)

Conclusion

This library is useful for applications that need to work with Russian address data (e.g., logistics, government systems, CRM). It abstracts the complexities of FIAS XML parsing and database operations, providing a clean API for developers.

Product Versions Compatible and additional computed target framework versions.
.NET net5.0 net5.0 is compatible.  net5.0-windows net5.0-windows was computed.  net6.0 net6.0 was computed.  net6.0-android net6.0-android was computed.  net6.0-ios net6.0-ios was computed.  net6.0-maccatalyst net6.0-maccatalyst was computed.  net6.0-macos net6.0-macos was computed.  net6.0-tvos net6.0-tvos was computed.  net6.0-windows net6.0-windows was computed.  net7.0 net7.0 was computed.  net7.0-android net7.0-android was computed.  net7.0-ios net7.0-ios was computed.  net7.0-maccatalyst net7.0-maccatalyst was computed.  net7.0-macos net7.0-macos was computed.  net7.0-tvos net7.0-tvos was computed.  net7.0-windows net7.0-windows was computed.  net8.0 net8.0 was computed.  net8.0-android net8.0-android was computed.  net8.0-browser net8.0-browser was computed.  net8.0-ios net8.0-ios was computed.  net8.0-maccatalyst net8.0-maccatalyst was computed.  net8.0-macos net8.0-macos was computed.  net8.0-tvos net8.0-tvos was computed.  net8.0-windows net8.0-windows was computed.  net9.0 net9.0 was computed.  net9.0-android net9.0-android was computed.  net9.0-browser net9.0-browser was computed.  net9.0-ios net9.0-ios was computed.  net9.0-maccatalyst net9.0-maccatalyst was computed.  net9.0-macos net9.0-macos was computed.  net9.0-tvos net9.0-tvos was computed.  net9.0-windows net9.0-windows was computed.  net10.0 net10.0 was computed.  net10.0-android net10.0-android was computed.  net10.0-browser net10.0-browser was computed.  net10.0-ios net10.0-ios was computed.  net10.0-maccatalyst net10.0-maccatalyst was computed.  net10.0-macos net10.0-macos was computed.  net10.0-tvos net10.0-tvos was computed.  net10.0-windows net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.100 291,493 5/27/2025
1.0.0 1,609 5/27/2025
0.9.4.1 114,597 9/13/2022
0.9.4 2,684 9/2/2022
0.9.3.620 714 8/30/2022
0.9.3.507 2,560 8/24/2022
0.9.3.6 3,980 8/26/2022
0.9.3.5 641 8/20/2022