Skip to main content

lithovox-exports

Zet de voxelmodellen die LithoVox levert (corridormodellen, .nc) om naar invoer voor je eigen software: D-Stability, D-Geo Flow, XSLOPE, DXF en CSV per dwarsdoorsnede, en GLB, 3D Tiles en LAZ voor het hele model. Daarnaast maakt het pakket figuren (kaart, doorsnede, grondkolom) en geeft het de grondopbouw op elk punt als een virtuele boring.

Uitgebreide, uitgelegde voorbeelden staan in het notebook notebooks/voorbeelden.ipynb.

Installatie

pip install lithovox-exports

of, in een uv-project, uv add lithovox-exports. Python 3.12 of nieuwer.

Snel aan de slag

from lithovox_exports import Model

model = Model("model.nc")
print(model.name, model.length, model.crs, model.soils)

# De dwarsdoorsnede bij metrering 250 m, als D-Stability-model
doorsnede = model.cross_section(250)
doorsnede.to_dstability("km0.250.stix")

Het model

Een corridormodel volgt een referentielijn: s is de metrering (m langs de lijn), d de afstand tot de lijn (m, negatief buitenwaarts, positief binnenwaarts) en z de hoogte.

model.length            # lengte van de referentielijn (m)
model.offsets           # (buitenrand, binnenrand) in m tot de lijn
model.heights           # onder- en bovenkant van het grid
model.voxel_size        # (langs, dwars, hoog) in m
model.crs               # bijvoorbeeld "EPSG:28992"
model.vertical_datum    # bijvoorbeeld "NAP", of None als het onbekend is
model.soils             # namen van de grondsoorten, in de volgorde van hun codes
model.colors            # kleur per grondsoort
model.plot_map(chainages=[250, 500])   # kaart met de plekken van doorsneden

Dwarsdoorsneden

Een dwarsdoorsnede ligt haaks op de referentielijn, bij de modelkolom die het dichtst bij de gevraagde metrering ligt. De grenzen tussen grondsoorten worden uit de voxels opgespoord en gladgemaakt tot polygonen die hun punten precies met hun buren delen en geen gaten hebben (zoals D-Stability vereist).

doorsnede = model.cross_section(250)                # gladgemaakte grenzen
trap = model.cross_section(250, smoothing=0)        # de trap van de voxels

doorsnede.to_dstability("km0.250.stix")   # D-Stability
doorsnede.to_dgeoflow("km0.250.flox")     # D-Geo Flow
doorsnede.to_xslope("km0.250.zip")        # XSLOPE: .xlsx + kleuren, gezipt
doorsnede.to_xslope("km0.250.xlsx")       # of de .xlsx met *_styles.json ernaast
doorsnede.to_dxf("km0.250.dxf")           # DXF (GEO5, CAD)
doorsnede.to_csv("km0.250.csv")           # hoekpunten van de polygonen
doorsnede.plot()                          # figuur (matplotlib)

Om de 50 m langs het hele model:

for doorsnede in model.cross_sections(every=50):
    doorsnede.to_dstability(f"{doorsnede.label}.stix")   # km0.000.stix, km0.050.stix, ...

Eigen grondsoorten en parameters (D-Stability, XSLOPE)

Standaard hebben de grondsoorten alleen een naam. Geef een D-Stability-bestand met je grondsoortenbibliotheek mee om die grondsoorten en parameters te gebruiken. Een modelgrondsoort krijgt de bibliotheekgrondsoort met dezelfde code of naam (hoofdletters, spaties, _ en - maken niet uit), of de grondsoort die je in mapping noemt (naam van de modelgrondsoort → code in de bibliotheek; None voor geen):

doorsnede.to_dstability(
    "km0.250.stix",
    soils="mijn_grondsoorten.stix",
    mapping={"hollandveen": "VEEN", "jonge_zeeklei_na": "KLEI"},
)
doorsnede.to_xslope("km0.250.zip", soils="mijn_grondsoorten.stix", mapping={"hollandveen": "VEEN"})

XSLOPE-materialen krijgen de volumegewichten en, bij Mohr-Coulomb, c en phi. Waterspanningen, belastingen, mesh en rekeninstellingen vul je altijd zelf in.

Grondopbouw op een punt

kolom = model.soil_column(250, 10)          # metrering 250 m, 10 m binnenwaarts
kolom = model.soil_column_at(x, y)          # op wereldcoördinaten
for laag in kolom.layers:
    print(laag.top, laag.bottom, laag.soil)
kolom.plot(colors=model.colors)

Het hele model

model.to_glb("model.glb")      # 3D-mesh, bijvoorbeeld Blender of een 3D-viewer
model.to_tiles("tiles.zip")    # OGC 3D Tiles (3d/tileset.json), bijvoorbeeld Cesium, ArcGIS
model.to_laz("model.laz")      # puntenwolk, bijvoorbeeld QGIS, ArcGIS

Elk neemt voxel_width en voxel_height (m; standaard 1,0 en 0,2): het model wordt getoond met voxels van ongeveer die grootte, die elk de grondsoort krijgen die de meeste van hun modelvoxels hebben. Grotere voxels geven kleinere bestanden. Het model wordt in brokken gelezen, dus ook grote modellen passen in het geheugen.

Coördinaten

  • Doorsneden: x is de afstand tot de referentielijn (m, positief binnenwaarts), z de hoogte. doorsnede.start en doorsnede.end geven de wereldcoördinaten van de uiteinden.
  • Het hele model en de grondkolommen: het coördinatenstelsel van het model (model.crs). De GLB is in lokale meters rond een oorsprong die in zijn extras staat. De LAZ heeft een punt per voxel met klasse 64 + de code van de grondsoort (model.soils[code]).
  • 3D Tiles rekent met ellipsoïdische hoogtes. Bij een onbekend verticaal datum wordt de modelhoogte daarvoor genomen; het model ligt dan horizontaal goed maar kan verticaal afwijken ("accurate": false in tileset.json).

Opdrachtregel

lithovox-exports info model.nc
lithovox-exports doorsnede model.nc 250 km0.250.stix --grondsoorten mijn_grondsoorten.stix
lithovox-exports model model.nc model.laz --breedte 2 --hoogte 0.5

Het formaat volgt uit de extensie: .stix, .flox, .xlsx, .zip (XSLOPE), .dxf, .csv of .png voor een doorsnede; .glb, .laz of .zip (3D Tiles) voor het hele model.

Meer

doorsnede.polygons bevat de grondpolygonen zelf (soil is een index in model.soils, points de omtrek als (x, z)), model.metadata alle metadata van het model en model.grid het grid, als je zelf een export wilt maken.

Vragen, of een formaat dat je mist: lithovox@pm.me, https://www.lithovox.com.

Metadata

Release files for lithovox-exports 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lithovox-exports 0.2.3
File Size Uploaded Provenance Actions
lithovox_exports-0.2.3.tar.gz 84.0 kB With provenance Details for lithovox_exports-0.2.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for lithovox-exports 0.2.3
File Interpreter ABI Platform Actions
lithovox_exports-0.2.3-py3-none-any.whl Python 3 none any Details for lithovox_exports-0.2.3-py3-none-any.whl

Total release size: 173.8 kB

Release files / lithovox_exports-0.2.3.tar.gz

Download URL lithovox_exports-0.2.3.tar.gz
Size 84.0 kB
Tags Source
SHA-256 checksum
How to use checksums
6582305d0db0e69cc84067d53e491e18181a9fd3598b15cffd0f3d1012a67ec7
BLAKE2b-256 checksum
How to use checksums
6e2f24374420f50fa65d574bcf5c62d5cc0341ef1961da36a4486ba3a42b55b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / lithovox_exports-0.2.3-py3-none-any.whl

Download URL lithovox_exports-0.2.3-py3-none-any.whl
Size 89.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7e014ecdbe4064d935a81a6ea1d9db62c66b151fb9fd5a237a8cce7c266ca8b8
BLAKE2b-256 checksum
How to use checksums
b42a31a5d12497e03a4c8c71b0e6ded0742fb094e825e71bcb148a2d47b85674
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Security for lithovox-exports 0.2.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for lithovox_exports-0.2.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page