Bidirectional AIXM 5.1.1 dataset reader/writer with GeoJSON, AIRAC diff, and temporality flattener.
Project description
aviconv-aixm
Bidirectional AIXM 5.1.1 reader/writer for full AIP datasets, plus
GeoJSON export, AIRAC-cycle diff, and a temporality flattener that
materialises a snapshot at any date T.
Part of the aviconv monorepo.
Install
pip install aviconv-aixm
This pulls in aviconv-core (shared XML / coords / errors) and brings
the aviconv aixm … subcommands under the umbrella aviconv CLI.
Status
- v0.4.0 covers the AIP feature core: AirportHeliport, Runway, RunwayDirection, Navaid (VOR/DME/NDB/ILS/TACAN), DesignatedPoint, Airspace + AirspaceVolume, Route + RouteSegment, Procedure (envelope), Obstacle, Organisation, Unit.
- TaxiwayElement, ApronElement, full Procedure leg algebra, and the ADR-23.5.0 extension surface are deferred to 0.4.x.
- Streaming reader (constant memory on 100MB+ datasets) via
lxml.iterparse. Writer streams vialxml.etree.xmlfile.
Library
from aviconv_aixm import (
read_aixm, read_aixm_dataset,
write_aixm,
to_geojson,
diff_datasets,
snapshot_at,
)
# Stream features one at a time (constant memory on 100MB+ inputs)
for feature in read_aixm("aip.xml"):
print(feature.gml_identifier.value, type(feature).__name__)
# Materialise the whole dataset (random access for diff/flatten)
ds = read_aixm_dataset("aip.xml")
print(len(ds.features), "features")
CLI
aviconv aixm parse aip.xml > aip.ndjson
aviconv aixm to-aixm aip.ndjson -o roundtrip.xml
aviconv aixm to-geojson aip.xml -o aip.geojson
aviconv aixm diff cycle_2603.xml cycle_2604.xml --format json
aviconv aixm flatten aip.xml --at 2026-05-09T00:00Z -o snapshot.xml
aviconv aixm validate aip.xml --strict
Round-trip semantics
AIXM round-trip is field-level, not byte-stable: namespace prefix
choices and gml:id values are intentionally not preserved on read.
gml:identifier (the stable feature ID) is preserved, as are all
modelled feature properties and time-slice metadata.
Licence
MIT. The vendored AIXM 5.1.1 / GML 3.2.1 / ISO 19139 / xlink schemas
retain their upstream licences — see LICENSES/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aviconv_aixm-0.4.0.tar.gz.
File metadata
- Download URL: aviconv_aixm-0.4.0.tar.gz
- Upload date:
- Size: 313.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40d9fea2e1eac5d314bc66021c5a11902d52527ee346a5312f55f8822643b41b
|
|
| MD5 |
592d9e94660d20e654ecd05d17b88712
|
|
| BLAKE2b-256 |
cb6f3b49538d9dcfcbb455a114181500ec08ef2b027ae95e8d30f8f89a672db7
|
Provenance
The following attestation bundles were made for aviconv_aixm-0.4.0.tar.gz:
Publisher:
release.yml on ams-mmd/aviconv
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aviconv_aixm-0.4.0.tar.gz -
Subject digest:
40d9fea2e1eac5d314bc66021c5a11902d52527ee346a5312f55f8822643b41b - Sigstore transparency entry: 2148979782
- Sigstore integration time:
-
Permalink:
ams-mmd/aviconv@ad80d82f30ce87ddb260aa49d4b2f8655f65d5c4 -
Branch / Tag:
refs/tags/aviconv-aixm-v0.4.0 - Owner: https://github.com/ams-mmd
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ad80d82f30ce87ddb260aa49d4b2f8655f65d5c4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file aviconv_aixm-0.4.0-py3-none-any.whl.
File metadata
- Download URL: aviconv_aixm-0.4.0-py3-none-any.whl
- Upload date:
- Size: 349.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
718303dace432b64d8acaa574f5739b67aecf1b8f39336f82204c700288510c9
|
|
| MD5 |
113883afa7fa608e0ecd63ee347904f7
|
|
| BLAKE2b-256 |
0246ba113398e1fc3dbe67eb0d520eb9cf439bc85bbb60978f6ab8d24cc7f13d
|
Provenance
The following attestation bundles were made for aviconv_aixm-0.4.0-py3-none-any.whl:
Publisher:
release.yml on ams-mmd/aviconv
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aviconv_aixm-0.4.0-py3-none-any.whl -
Subject digest:
718303dace432b64d8acaa574f5739b67aecf1b8f39336f82204c700288510c9 - Sigstore transparency entry: 2148979828
- Sigstore integration time:
-
Permalink:
ams-mmd/aviconv@ad80d82f30ce87ddb260aa49d4b2f8655f65d5c4 -
Branch / Tag:
refs/tags/aviconv-aixm-v0.4.0 - Owner: https://github.com/ams-mmd
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ad80d82f30ce87ddb260aa49d4b2f8655f65d5c4 -
Trigger Event:
push
-
Statement type: