build

geodetic_engine.osdudb.build(config, *, catalog=None, dry_run=False, skip_validation=False)[source]

Build an enriched proj.db from an OSDU coordinate reference catalogue.

The official database is copied and added to; it is never modified in place and no row belonging to another authority is ever overwritten.

Parameters:
  • config (OsduBuildConfig) – Resolved build configuration.

  • catalog (OsduCatalog | None, default: None) – Pre-read catalogue, mainly for testing. Read from config.catalog when omitted.

  • dry_run (bool, default: False) – Perform the whole build, including every constraint and collision check, then discard it instead of committing. Nothing is left on disk. This exercises the same code as a real build rather than approximating it, so a dry run that succeeds means a real build would too.

  • skip_validation (bool, default: False) – Explicitly skip PROJ validation before publication. False by default; the choice is recorded in the build history.

Return type:

BuildReport

Returns:

The build report.

Raises:

ProjDbBuildError – On a build or validation failure. Staging is discarded and any previously published database is preserved.

Example

>>> report = build(load_config(catalog=Path("CRS_CT.json")))
>>> report.rows_by_table["projected_crs"]
998