Skip to main content

"A library to read/write and convert OpenSpeleo files"

Project description

OpenSpeleoLib

OpenSpeleoLib reads, writes, validates, and converts cave-survey data.

GeoJSON conversion

Convert an Ariane TML survey with:

openspeleo convert -i survey.tml -o survey.geojson -f geojson

Coordinate safety guard

A connected shot can contain both survey measurements and an explicit geographic endpoint. During GeoJSON conversion, explicit coordinates remain authoritative, but OpenSpeleoLib calculates where the shot should end from its length, depth, azimuth, unit, and magnetic declination. If the supplied and calculated endpoints differ by more than 500 metres, conversion raises InconsistentShotCoordinatesError.

For example, synthetic Shot ID 4242 with supplied coordinates (-70, 40) and a calculated endpoint near (40, -70) produces an error containing:

[Shot ID=4242]: Explicit coordinates are inconsistent with shot measurements

The 500-metre threshold is a fixed catastrophic-data guardrail, not a survey-quality or GPS-accuracy guarantee. Coordinates within the threshold are accepted without certifying their accuracy. Root anchors and connected anchors whose parents cannot be resolved cannot be compared and retain their existing behavior.

The library never swaps coordinates, guesses a correction, or emits a partially converted GeoJSON document. The CLI calculates and validates the complete document before opening the output path: a failed conversion does not create a new output and does not replace an existing output passed with --overwrite. Correct the source survey and run the conversion again.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openspeleo_lib-0.0.18.tar.gz (34.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openspeleo_lib-0.0.18-py3-none-any.whl (40.7 kB view details)

Uploaded Python 3

File details

Details for the file openspeleo_lib-0.0.18.tar.gz.

File metadata

  • Download URL: openspeleo_lib-0.0.18.tar.gz
  • Upload date:
  • Size: 34.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for openspeleo_lib-0.0.18.tar.gz
Algorithm Hash digest
SHA256 6601e8f8dfd22cc77b9e0827bd2298cea5660dc7daa8f530d0a8025d9bff9896
MD5 f9db3a48456d091a18e468ea0477cf5e
BLAKE2b-256 3976f1326e55e04fba0efa7a9288ce107869de6c5db8447e8f6d104c15143b1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for openspeleo_lib-0.0.18.tar.gz:

Publisher: release.yml on OpenSpeleo/pytool_openspeleo_lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openspeleo_lib-0.0.18-py3-none-any.whl.

File metadata

  • Download URL: openspeleo_lib-0.0.18-py3-none-any.whl
  • Upload date:
  • Size: 40.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for openspeleo_lib-0.0.18-py3-none-any.whl
Algorithm Hash digest
SHA256 cbf63266de727d77ac3377112ac5c45bcc0bc0ccbb6ce6d390a6a6928700d882
MD5 158c61795d7eb4affb3aed7d897c0e30
BLAKE2b-256 97a195a4931e4b57687530d2ae633b30d4ee6d946cb4004ec2fb470da7fdf384

See more details on using hashes here.

Provenance

The following attestation bundles were made for openspeleo_lib-0.0.18-py3-none-any.whl:

Publisher: release.yml on OpenSpeleo/pytool_openspeleo_lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page