discover#

Pipeline steps for admin geometry harmonization:
  • discover_sources: scan ingest admin recipes at the target level

  • merge_global: load and concatenate geometries per discovered source

  • simplify_geometries: apply simplify_coverage for visualization sidecars

Functions#

discover_sources(→ openplaces.io.harmonizer.HarmonizeState)

Scan all ingest admin recipes at the recipe's admin_level.

merge_global(→ openplaces.io.harmonizer.HarmonizeState)

Load and concatenate admin geometries from discovered sources.

simplify_geometries(...)

Simplify spine geometries and store as a sidecar.

Module Contents#

openplaces.io.harmonizer.discover.discover_sources(state: openplaces.io.harmonizer.HarmonizeState) openplaces.io.harmonizer.HarmonizeState#

Scan all ingest admin recipes at the recipe’s admin_level.

Assigns each admin_id in the global spine to the highest-priority ingest recipe that covers it (most-specific admin_id wins; newest version wins within the same specificity tier).

Stores results in state.metadata: - 'discovered_sources' — priority-sorted list of source dicts - 'source_assignment'dict[recipe_id, list[admin_id_str]] - 'unassigned_admin_ids' — list of admin_id strings with no coverage

openplaces.io.harmonizer.discover.merge_global(state: openplaces.io.harmonizer.HarmonizeState) openplaces.io.harmonizer.HarmonizeState#

Load and concatenate admin geometries from discovered sources.

Reads state.metadata['discovered_sources'] and state.metadata['source_assignment'] produced by discover_sources, loads each source’s GeoDataFrame, filters to assigned admin_ids, and concatenates into state.spine.

openplaces.io.harmonizer.discover.simplify_geometries(state: openplaces.io.harmonizer.HarmonizeState, thresholds: dict | None = None) openplaces.io.harmonizer.HarmonizeState#

Simplify spine geometries and store as a sidecar.

Calls GeoSeries.simplify_coverage(tolerance) and stores the result in state.simplified_geometry. The sidecar is written by the save step in Harmonizer.

Parameters:

thresholds (dict, optional) – Must contain tolerance (float). No-op when absent or zero.