Universe.NetCore.FIAS.Normalizer 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Universe.NetCore.FIAS.Normalizer --version 1.0.0
                    
NuGet\Install-Package Universe.NetCore.FIAS.Normalizer -Version 1.0.0
                    
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" />
                    
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" />
                    
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
                    
#r "nuget: Universe.NetCore.FIAS.Normalizer, 1.0.0"
                    
#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.
#addin nuget:?package=Universe.NetCore.FIAS.Normalizer&version=1.0.0
                    
Install Universe.NetCore.FIAS.Normalizer as a Cake Addin
#tool nuget:?package=Universe.NetCore.FIAS.Normalizer&version=1.0.0
                    
Install Universe.NetCore.FIAS.Normalizer as a Cake Tool

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:
    • AddrObjs (Address Objects)
    • Houses (Houses)
    • Rooms (Rooms)
    • Steads (Land Plots)
    • Other FIAS-related tables.
2. FiasEntity and Derived Classes

Represents FIAS data structures:

  • FiasObject – Base class for FIAS address objects.
  • FiasHouse – Represents house records.
  • FiasRoom – Represents apartment/room records.
  • FiasStead – Represents land plots.
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 moscowHouses = db.Houses
    .Where(h => h.RegionCode == "77") // 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);

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 Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  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. 
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 14,249 5/27/2025
1.0.0 1,511 5/27/2025
0.9.4.1 114,458 9/13/2022
0.9.4 2,547 9/2/2022
0.9.3.620 559 8/30/2022
0.9.3.507 2,283 8/24/2022
0.9.3.6 3,825 8/26/2022
0.9.3.5 480 8/20/2022