{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Introduction to GeoST\n", "\n", "This introduction will cover some of the key concepts and basic features of `GeoST` to help you get started. `GeoST` depends on popular data science libraries [Pandas](https://pandas.pydata.org/docs/index.html) and [GeoPandas](https://geopandas.org/en/stable/index.html) but `GeoST` provides readily available, frequently used selections on data held in [`pandas.DataFrame`](https://pandas.pydata.org/docs/reference/frame.html) or [`geopandas.GeoDataFrame`](https://geopandas.org/en/stable/docs/reference/geodataframe.html) objects. This makes GeoST an easy to use option for less experienced Python users while more experienced users can easily access the underlying DataFrames and apply their own analyses.\n", "\n", "GeoST is designed to work with many different kinds of subsurface data that are available. The package is a work-in-progress and we aim to support an increasing number of data sources. Below is a list of different data sources which are currently supported or will be supported by GeoST in the future:\n", "\n", "**From local files**:\n", "- Tabular data of borehole, CPT, etc. (.parquet, .csv)\n", "- Geological boreholes xml (BHR-G)\n", "- Geotechnical boreholes xml (BHR-GT)\n", "- Pedological boreholes xml (BHR-P)\n", "- Cone Penetration Test xml/gef (CPT)\n", "- Pedological soilprofile descriptions xml (SFR)\n", "- BORIS xml (TNO borehole description software)\n", "- NLOG boreholes Excel\n", "\n", "**Directly from the [BRO REST-API](https://www.bro-productomgeving.nl/bpo/latest/url-s-publieke-rest-services)**:\n", "- BHR-G\n", "- BHR-GT\n", "- BHR-P\n", "- CPT\n", "- SFR\n", "\n", "**BRO models**:\n", "- GeoTOP: from local NetCDF or directly via [OPeNDAP server](https://dinodata.nl/opendap/)\n", "\n", "*Planned*:\n", "- BRO/PDOK geopackages: [BHR-G](https://service.pdok.nl/bzk/bro-geologisch-booronderzoek/atom/index.xml), [BHR-GT](https://service.pdok.nl/bzk/bro-geotechnischbooronderzoek/atom/v1_0/index.xml), [BHR-P](https://service.pdok.nl/bzk/brobhrpvolledigeset/atom/v1_1/index.xml), [CPT](https://service.pdok.nl/bzk/brocptvolledigeset/atom/v1_0/index.xml), [SFR](https://service.pdok.nl/bzk/bodem/bro-wandonderzoek/atom/index.xml)\n", "- Well logs LAS/ASCII\n", "- REGIS II\n", "- Dino xml geological boreholes \n", "- BHR-G gef \n", "- Soilmap of the Netherlands\n", "\n", "GeoST also plans support for several Geophysical data sources such as Seismic, ERT, EM and others.\n", "\n", "## Concept\n", "The core data structure is a [`geost.Collection`](../api_reference/collection.rst). This holds all the spatial information of any kind of data source in a **\"header\"** attribute (i.e. header table), and the corresponding data in a **\"data\"** attribute (i.e. data table). So for example, a set of 100 boreholes is held in a `Collection` where the **\"header\"** contains one row per data entry and provides information about the id, location, surface level and depths and the **\"data\"** has the survey information for each described layer. The structure of a `Collection` is illustrated below.\n", "\n", "
\n",
"
\n",
"
| \n", " | nr | \n", "x | \n", "y | \n", "surface | \n", "geometry | \n", "
|---|---|---|---|---|---|
| 0 | \n", "B31H0541 | \n", "139585 | \n", "456000 | \n", "1.20 | \n", "POINT (139585 456000) | \n", "
| 1 | \n", "B31H0611 | \n", "139600 | \n", "455060 | \n", "1.20 | \n", "POINT (139600 455060) | \n", "
| 2 | \n", "B31H0718 | \n", "139950 | \n", "455200 | \n", "1.30 | \n", "POINT (139950 455200) | \n", "
| 3 | \n", "B31H0803 | \n", "139675 | \n", "455087 | \n", "2.16 | \n", "POINT (139675 455087) | \n", "
| 4 | \n", "B31H0806 | \n", "139684 | \n", "455384 | \n", "1.00 | \n", "POINT (139684 455384) | \n", "
| \n", " | nr | \n", "x | \n", "y | \n", "surface | \n", "end | \n", "top | \n", "bottom | \n", "lith | \n", "zm | \n", "zmk | \n", "... | \n", "cons | \n", "color | \n", "lutum_pct | \n", "plants | \n", "shells | \n", "kleibrokjes | \n", "strat_1975 | \n", "strat_2003 | \n", "strat_inter | \n", "desc | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "B31H0541 | \n", "139585 | \n", "456000 | \n", "1.2 | \n", "-9.9 | \n", "0.00 | \n", "0.20 | \n", "K | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "ON | \n", "NaN | \n", "0 | \n", "0 | \n", "0 | \n", "NaN | \n", "EC | \n", "NaN | \n", "[TEELAARDE#***#****#*] .......................... | \n", "
| 1 | \n", "B31H0541 | \n", "139585 | \n", "456000 | \n", "1.2 | \n", "-9.9 | \n", "0.20 | \n", "0.60 | \n", "K | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "BR | \n", "NaN | \n", "0 | \n", "0 | \n", "0 | \n", "NaN | \n", "EC | \n", "NaN | \n", "[KLEI#***#****#*] grysbruin. | \n", "
| 2 | \n", "B31H0541 | \n", "139585 | \n", "456000 | \n", "1.2 | \n", "-9.9 | \n", "0.60 | \n", "0.95 | \n", "V | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "BR | \n", "NaN | \n", "0 | \n", "0 | \n", "0 | \n", "NaN | \n", "NI | \n", "NaN | \n", "[VEEN#***#****#*] donkerbruin. | \n", "
| 3 | \n", "B31H0541 | \n", "139585 | \n", "456000 | \n", "1.2 | \n", "-9.9 | \n", "0.95 | \n", "2.80 | \n", "Z | \n", "NaN | \n", "ZMFO | \n", "... | \n", "NaN | \n", "GR | \n", "NaN | \n", "0 | \n", "0 | \n", "0 | \n", "NaN | \n", "EC | \n", "NaN | \n", "[ZAND#***#****#*] FYN TOT matig fyn# iets slib... | \n", "
| 4 | \n", "B31H0541 | \n", "139585 | \n", "456000 | \n", "1.2 | \n", "-9.9 | \n", "2.80 | \n", "4.20 | \n", "Z | \n", "NaN | \n", "ZFC | \n", "... | \n", "NaN | \n", "BR | \n", "NaN | \n", "0 | \n", "0 | \n", "0 | \n", "NaN | \n", "BXWI | \n", "NaN | \n", "[ZAND#***#****#*] fyn# grysbruin. | \n", "
5 rows × 32 columns
\n", "