Retrieve BRO data for a given study area#
This example demonstrates how you can retrieve all available BRO data with GeoST for any given study area. This can be necessary for example when you need to analyse the available subsurface data around a dike section. The dike section you need to analyse is available in a shapefile format (or any other geospatial format). This shapefile can be used to directly retrieve all the available subsurface data via the BRO REST-API. The example below briefly shows how this can be done.
The BRO contains five main sources of subsurface data:
Geological boreholes (BHR-G objects)
Geotechnical boreholes (BHR-GT objects)
Pedological boreholes (BHR-P objects)
Cone Penetration Tests (CPT objects)
Pedological soilprofile descriptions (SFR objects)
Any of the above data sources can be downloaded using the bro_api_read
function that is available in GeoST. This results in GeoST Collection
instances which hold the data and that allow for further analysis. We will begin with the necessary imports and we’ll use an example dike section on the south side of the Lek river (available from GeoST). The location is shown in the interactive map below.
import folium # For interactive mapping purpose
import geost
dike_section = geost.data.dike_section()
dike_section.explore()
Let’s retrieve the data from the BRO REST-API using the dike section as the geometry input for bro_api_read
:
bhrg = geost.bro_api_read("BHR-G", geometry=dike_section)
bhrgt = geost.bro_api_read("BHR-GT", geometry=dike_section)
bhrp = geost.bro_api_read("BHR-P", geometry=dike_section)
cpt = geost.bro_api_read("CPT", geometry=dike_section)
sfr = geost.bro_api_read("SFR", geometry=dike_section)
print(
"BHR-G:", bhrg, "BHR-GT:", bhrgt, "BHR-P:", bhrp, "CPT:", cpt, "SFR:", sfr, sep="\n"
)
BHR-G:
BoreholeCollection:
# header = 56
BHR-GT:
BoreholeCollection:
# header = 4
BHR-P:
BoreholeCollection:
# header = 9
CPT:
CptCollection:
# header = 84
SFR:
BoreholeCollection:
# header = 1
As you can see, this resulted in BoreholeCollection
instances for BHR-G, BHR-GT, BHR-P and SFR objects and a CptCollection
for CPT objects and in total 154 data points around the dike section that can be used for the analysis. The location of each data source around the dike section is shown in the map below.
m = bhrg.header.gdf.explore(name="BHR-G")
bhrgt.header.gdf.explore(m=m, color="black", name="BHR-GT")
bhrp.header.gdf.explore(m=m, color="brown", name="BHR-P")
cpt.header.gdf.explore(m=m, color="red", name="CPT")
sfr.header.gdf.explore(m=m, color="green", name="SFR")
dike_section.explore(m=m, name="Dike Section")
folium.LayerControl(collapsed=False).add_to(m)
m
Downloading data via the BRO REST-API returns XML objects for each download. GeoST reads these XML objects using predefined schemas that describe the XML structure. The bro_api_read
for now only extracts basic data attributes, checkout each Collection
object to see what data is retrieved. If additional data is desired, the predefined schemas can be extended to retrieve the additional data. See the User guide for detailed instructions how to use GeoST to extract information from XML objects.