Loader

loader.Loader(is_reference)

Abstract base class for all data loaders.

The Loader handles the conversion of raw spatial data into an AlignerFeatureCollection, ensuring geometries are valid and 2D.

Attributes

Name Type Description
data_dict Dict[ThematicId, BaseGeometry] Mapping of unique IDs to their corresponding Shapely geometries.
data_dict_properties Dict[ThematicId, dict] Mapping of IDs to attribute dictionaries.
data_dict_source Dict[Any, str] Metadata regarding the data source (e.g., URL or file path).
versiondate_info (dict, optional) Configuration for parsing version dates, containing ‘name’ (field) and ‘format’ (strptime pattern).
is_reference bool Whether the loaded data serves as a reference (target) layer.

Notes

All subclasses must implement load_data or populate the internal data dictionaries before calling the base load_data method.

Methods

Name Description
load_data Processes raw data into a validated AlignerFeatureCollection.

load_data

loader.Loader.load_data()

Processes raw data into a validated AlignerFeatureCollection.

This method performs geometric validation, version date extraction, and wraps the data into AlignerFeature objects.

Returns

Name Type Description
AlignerFeatureCollection A collection of processed and validated features.

Notes

The processing pipeline follows these steps:

  1. Geometry Fix: Forces 2D and applies make_valid.
  2. Metadata Enrichment: Parses version dates if versiondate_info is set.
  3. Feature Creation: Generates unique UUIDs and wraps features.