Reading data#
GeoST offer various functions to read and parse data to GeoST data objects. Generally
speaking, data can either be loaded from (local) files or is requested from a service
like the BRO. The raw data is then parsed to a GeoST data object such as a
BoreholeCollection
or CptCollection
.
Supported subsurface data#
In the current state of this package there is a limited number of local file formats and services supported. The below tables are up-to-date with the currently supported data sources.
Subsurface point data#
By subsurface point data we mean layered data (e.g. boreholes) or discrete/measurement data (e.g. well logs) along the vertical axis (depth with respect to datum) at a single point (geographic lat/lon).
File format/data service |
Read function |
Returned GeoST object |
Description |
---|---|---|---|
GeoST borehole parquet or csv |
GeoST native format. Result of to_parquet or to_csv exports. |
||
GeoST CPT parquet or csv |
GeoST native format. Result of to_parquet or to_csv exports. |
||
NLOG excel export |
Reader for NLOG deep cores, see here. |
||
UU LLG cores |
Reader for csv distribution of Utrecht University student boreholes. |
||
BORIS XML |
Reader for XML exports of the BORIS borehole description software. |
||
GEF CPTs |
Reader for GEF CPT files. |
||
BRO BHR-P |
BRO soil cores as distributed through the BRO |
Subsurface model data#
By subsurface model data we mean voxel models (such as GeoTOP) or layer models (such as REGIS).
File format/data service |
Read function |
Returned GeoST object |
Description |
---|---|---|---|
Generic Voxelmodel |
Generic reader for a voxelmodel presented in NetCDF format (readable as xarray dataset) |
||
GeoTOP NetCDF |
Reader for GeoTOP NetCDF distribution |
||
GeoTOP OpenDAP |
Reader for GeoTOP OpenDAP distribution |
Data reading examples#
import geost
# Read a few BRO soil cores in a small area
boreholes = geost.get_bro_objects_from_bbox("BHR-P", 141470, 141700, 455000, 455300)
print(type(boreholes))
boreholes.header
<class 'geost.base.BoreholeCollection'>
PointHeader instance containing 6 objects
nr x y surface end geometry
0 BHR000000085497 141671 455122 1.99 0.49 POINT (141671 455122)
1 BHR000000114014 141523 455073 2.05 0.55 POINT (141523 455073)
2 BHR000000120513 141580 455167 2.01 0.51 POINT (141580 455167)
3 BHR000000160549 141622 455034 2.03 0.53 POINT (141622 455034)
4 BHR000000206176 141522 455275 1.89 0.39 POINT (141522 455275)
5 BHR000000247842 141642 455278 2.12 0.62 POINT (141642 455278)
from geost.bro import GeoTop
# Get corresponding voxels of the GeoTOP model
geotop = GeoTop.from_opendap(bbox=(141470, 455000, 141700, 455300))
geotop
GeoTop
Data variables:
strat (y, x, z) float32 8kB ...
lithok (y, x, z) float32 8kB ...
kans_1 (y, x, z) float32 8kB ...
kans_2 (y, x, z) float32 8kB ...
kans_3 (y, x, z) float32 8kB ...
kans_4 (y, x, z) float32 8kB ...
kans_5 (y, x, z) float32 8kB ...
kans_6 (y, x, z) float32 8kB ...
kans_7 (y, x, z) float32 8kB ...
kans_8 (y, x, z) float32 8kB ...
kans_9 (y, x, z) float32 8kB ...
onz_lk (y, x, z) float32 8kB ...
onz_ls (y, x, z) float32 8kB ...
Dimensions: {'x': 2, 'y': 3, 'z': 313}
Resolution (y, x, z): (100.0, 100.0, 0.5)