You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Read in Ground Investigation (GI) data from [GEF files]() using the [pygef](https://cemsbv.github.io/pygef/) library.
34
-
1. Use `bedrock-ge` to convert that data into a standardized GI database.
37
+
1. Read in Ground Investigation (GI) data from [GEF files](https://bedrock.engineer/reference/formats/gef/gef/) using the [pygef](https://cemsbv.github.io/pygef/) library.
38
+
1. Use [`bedrock-ge`](https://github.com/bedrock-engineer/bedrock-ge) to convert that data into a standardized GI database.
35
39
1. Transform the GI data into 3D spatial features with proper coordinates and geometry ([OGC Simple Feature](https://en.wikipedia.org/wiki/Simple_Features))
36
40
1. Explore and analyze the GI data using interactive filtering with Pandas DataFrames and interactive visualization on a map using GeoPandas.
37
-
1. Export the processed GI database to a GeoPackage file for use in GIS software.
41
+
1. Export the processed GI database to a GeoPackage file for use in GIS software, like QGIS or ArcGIS.
38
42
39
43
<details>
40
44
<summary>What are GEF files?</summary>
@@ -43,7 +47,7 @@ def _(mo):
43
47
text-based format designed to facilitate the reliable exchange and archiving
44
48
of geotechnical investigation data, particularly CPT results, across
45
49
different organizations and software platforms. GEF can also be used for
46
-
other types of soil tests and borehole data. It is widely used in the
50
+
other types of soil tests, like <a href="https://bedrock.engineer/reference/formats/gef/gef-cpt/">CPTs</a>. It is widely used in the
47
51
Netherlands in ground investigation.
48
52
</p>
49
53
</details>
@@ -58,11 +62,11 @@ def _(mo):
58
62
## Ground Investigation Data
59
63
60
64
The GI data was downloaded from [Dinoloket](https://www.dinoloket.nl/ondergrondgegevens), a platform for viewing and request data from the Dutch Geological Survey and Basisregistratie Ondergrond about the subsurface of the Netherlands.
61
-
We are using GEF files that contain borehole data.
65
+
We are using [GEF files](https://bedrock.engineer/reference/formats/gef/gef/) that contain borehole data, [GEF-BORE](https://bedrock.engineer/reference/formats/gef/gef-bore/).
62
66
63
67
## Context
64
68
65
-
The Koning Willem-Alexander Tunnel is a double-deck tunnel for motorized traffic in the city Maastricht, the Netherlands. The tunnel has a length of 2.5 kilometers (lower tunnel tubes) and 2.3 kilometers (upper tunnel tubes).
69
+
The [Koning Willem-Alexander Tunnel](https://www.rijkswaterstaat.nl/wegen/wegenoverzicht/a2/koning-willem-alexandertunnel-a2-n2) is a double-deck tunnel for motorized traffic in the city Maastricht, the Netherlands. The tunnel has a length of 2.5 kilometers (lower tunnel tubes) and 2.3 kilometers (upper tunnel tubes).
66
70
67
71
The tunnel has moved the old A2 highway underground. This highway previously formed a barrier for the city and slowed traffic.
68
72
@@ -76,11 +80,13 @@ def _(mo):
76
80
77
81
The limestone is relatively young and shallow, resulting in low compaction and cementation. Its mechanical strength is highly variable and generally low, especially when saturated with groundwater.
78
82
83
+
## Ground Investigation & Operations
84
+
79
85
Extensive geophysical surveys and borehole investigations were conducted to map the subsurface, identify faults, flint layers, and assess the risk of cavities within the limestone. While faults were detected, no significant cavities were found.
80
86
81
87
The stability of the excavation pit was monitored in real-time, with groundwater levels and pressures carefully controlled to prevent collapse or excessive deformation of the pit walls.
82
88
83
-
Due to the high permeability of the gravel and fissured limestone, groundwater management was a major challenge. Over 500 wells were drilled to depths of up to 32 meters for dewatering, and a reinfiltration system was implemented to return nearly all pumped water to the ground, protecting local buildings and ecosystems.
89
+
Due to the high permeability of the gravel and fissured limestone, groundwater management was a major challenge. Over 500 wells were drilled to depths of up to 32 m for dewatering, and a reinfiltration system was implemented to return nearly all pumped water to the ground, protecting local buildings and ecosystems.
84
90
85
91
<details>
86
92
<summary>
@@ -93,9 +99,7 @@ def _(mo):
93
99
<li><a href="https://a2maastricht.nl/application/files/3315/2060/1222/Interview_Eduard_van_Herk_en_Bjorn_Vink.pdf">Interview Eduard van Herk en Bjorn Vink</li>
94
100
</ul>
95
101
</details>
96
-
97
-
"""
98
-
)
102
+
""")
99
103
return
100
104
101
105
@@ -134,15 +138,14 @@ def _(boreholes, index):
134
138
135
139
136
140
@app.cell
137
-
def_(boreholes, index, pygef):
138
-
pygef.plotting.plot_bore(boreholes[index])
141
+
def_(boreholes, index, plot_bore):
142
+
plot_bore(boreholes[index])
139
143
return
140
144
141
145
142
146
@app.cell(hide_code=True)
143
147
def_(mo):
144
-
mo.md(
145
-
r"""
148
+
mo.md(r"""
146
149
## Converting multiple GEF files to a relational database
147
150
148
151
Rather than dealing with a folder of files in a format that very few software can handle, we would like to combine all of these files into a single database with spatial information. This is where `bedrock-ge` comes in.
@@ -156,30 +159,26 @@ def _(mo):
156
159
### Coordinated Reference System (CRS)
157
160
158
161
First, let's check in which projected coordinate system the provided data was recorded.
The data is in EPSG:28992, which is the [Rijksdriehoekscoördinaten (NL)](https://nl.wikipedia.org/wiki/Rijksdriehoeksco%C3%B6rdinaten) system, also called "Amersfoort / RD New". This reference system does not include elevation.
178
178
179
179
To represent GI data spatially in 3D geometry we need a CRS **with elevation**. That's why we will use
mo.md(r"""Here we create a DataFrame for the In-Situ data of all locations. To relate the in-situ data to locations and the project, we add foreign keys.""")
252
+
mo.md(r"""
253
+
Here we create a DataFrame for the In-Situ data of all GI locations. To relate the in-situ data to locations and the project, we add foreign keys.
Rather than multiple tables (DataFrames) and soil profiles, we would like see an overview of what this ground investigation covers. It's **spatial** data after all, let's view it in a spatial context.
307
317
308
-
`create_brgi_geodb` creates a `LonLatHeight` table which contains the GI locations at ground level in WGS84 - World Geodetic System 1984 - EPSG:4326 coordinates (Longitude, Latitude, Ellipsoidal Height).
318
+
`create_brgi_geodb` creates a `LonLatHeight` table which contains the GI locations at ground level as points in WGS84 - World Geodetic System 1984 - EPSG:4326 coordinates (Longitude, Latitude, Ellipsoidal Height).
309
319
310
320
311
321
The reason for creating the `LonLatHeight` table is that vertical lines in projected Coordinate Reference Systems (CRS) are often not rendered nicely by default in all web-mapping software. Vertical lines are often not visible when looking at a map from above, and not all web-mapping software is capable of handling geometry in non-WGS84, i.e. (Lon, Lat) coordinates.
## Saving the GI geospatial database as a GeoPackage (.gpkg)
328
343
329
344
Finally, we'll write it to an actual geospatial database file, a [GeoPackage](https://www.geopackage.org/), so we can share our GI data with others, for example, to reuse it in other computational notebooks, create dashboards, access the GI data in QGIS or ArcGIS, and more...
330
345
331
346
A GeoPackage is an <abbr title="Open Geospatial Consortium">OGC-standardized</abbr> extension of SQLite (a relational database in a single file, .sqlite or .db) that allows you to store any type of GIS data (both raster as well as vector data) in a single file that has the .gpkg extension. Therefore, many (open-source) GIS software packages support GeoPackage!
0 commit comments