Groundwater Utilisation Facility (GUF)

import matplotlib.pyplot as plt
import brodata
guf = brodata.guf.GroundwaterUtilisationFacility.from_bro_id("GUF000000022602")
guf
GroundwaterUtilisationFacility(broId='GUF000000022602')
guf.designInstallation
designInstallationId installationFunction geometry energyCold energyWarm maximumInfiltrationTemperatureWarm averageInfiltrationTemperatureCold averageInfiltrationTemperatureWarm powerCold powerWarm averageColdWater averageWarmWater maximumYearQuantityCold maximumYearQuantityWarm startTime
0 609851 openBodemenergiesysteem POINT (161140 455080) NaN NaN NaN None None None None 70000 70000 90000 90000 None
guf.designWell
designWellId wellFunction height geometry maximumWellDepth maximumWellCapacity relativeTemperature screenType designScreenTop designScreenBottom startTime
0 547503 onttrekking 5.0 POINT (161140 455080) 65.5 30.0 warm None NaN NaN 1978-01-01
1 547504 onttrekking 5.0 POINT (161140 455080) 76.0 30.0 warm None NaN NaN 1978-01-01
2 547505 onttrekking 5.0 POINT (161140 455080) 76.0 30.0 koud None NaN NaN 1978-01-01
guf.licensedQuantity
licensedInOut maximumPerHour maximumPerDay maximumPerMonth maximumPerQuarter maximumPerYear
0 onttrekken 30 720 21600 45000 720000
1 inbrengen 30 720 21600 45000 720000
guf.objectHistory
date name identifier
0 1978-01-01 startRegistratie NaN
1 1978-01-01 toevoegingGerealiseerdeInstallatie 24912
guf.realisedInstallation
realisedInstallationId installationFunction geometry startValidity startTime
0 24912 openBodemenergiesysteem POINT (161131 455066) 1978-01-01 1978-01-01
guf.realisedWell
realisedWellId wellFunction height wellDepth geometry relativeTemperature startValidity startTime
0 45887 onttrekking 5.0 58.0 POINT (161140 455080) warm 1978-01-01 1978-01-01
1 45888 onttrekking 5.0 68.5 POINT (161123 455053) koud 1978-01-01 1978-01-01
guf_data = guf.to_dict()
guf_data.pop("designInstallation")
guf_data.pop("designWell")
guf_data.pop("licensedQuantity")
guf_data.pop("objectHistory")
guf_data.pop("realisedInstallation")
guf_data.pop("realisedWell")
guf_data
{'broId': 'GUF000000022602',
 'coordinateTransformation': 'RDNAPTRANS2018MV0',
 'corrected': 'ja',
 'deliveryAccountableParty': '51468751',
 'deliveryContext': 'waterwet',
 'deregistered': 'nee',
 'id': 'BRO_0022',
 'latestAdditionTime': '2024-04-23T15:28:24+02:00',
 'latestCorrectionTime': '2025-06-03T08:15:35+02:00',
 'licence': {'identificationLicence': 'MPM-3230-916-O-KWO',
  'legalType': 'beschikking',
  'primaryUsageType': 'industrieleToepassing',
  'secondaryUsageType': 'openBodemenergiesysteem',
  'humanConsumption': 'nee',
  'startTime': Timestamp('1978-01-01 00:00:00')},
 'objectRegistrationTime': '2024-04-23T15:28:20+02:00',
 'qualityRegime': 'IMBRO/A',
 'registrationCompletionTime': '2024-04-23T15:28:27+02:00',
 'registrationStatus': 'geregistreerd',
 'reregistered': 'nee',
 'standardizedLocation': <MULTIPOINT ((5.477 52.084), (5.477 52.084))>,
 'startTime': Timestamp('1978-01-01 00:00:00'),
 'startValidity': Timestamp('1978-01-01 00:00:00'),
 'underReview': 'nee'}

Multiple objects

Download all Groundwater Utilisation Facilities near Utrecht (approximate extent).

# Extent for Utrecht region (approximate coordinates)
extent = [125000, 145000, 445000, 465000]

# download guf-characteristics
gdf=brodata.guf.get_characteristics(extent=extent)

gdf
id deregistered deliveryAccountableParty qualityRegime objectRegistrationTime underReview standardizedLocation startTime licence realisedInstallation latestCorrectionTime
broId
GUF000000000192 BRO_0003 nee 30279619 IMBRO 2023-04-12T11:20:51+02:00 nee MULTIPOINT ((139421.97 448435.011)) 2023-02-09 De brug 2b in Houten NaN NaN
GUF000000000220 BRO_0006 nee 30280353 IMBRO 2023-04-12T11:21:31+02:00 nee MULTIPOINT ((128916.993 458473.032)) 2023-03-14 HZ_LBI-23-02192 Châteletlaan 23 NaN NaN
GUF000000000240 BRO_0009 nee 30280353 IMBRO 2023-04-12T11:22:04+02:00 nee MULTIPOINT ((132396.983 450542.018)) 2023-02-28 HZ_LBI-22-44635  Nedereindseweg 511 NaN NaN
GUF000000000383 BRO_0012 nee 30277172 IMBRO 2023-04-12T11:26:45+02:00 nee MULTIPOINT ((135780.975 454545.995)) 2023-03-24 Z/23/730462 NaN NaN
GUF000000000384 BRO_0015 nee 30277172 IMBRO/A 2023-04-12T11:26:55+02:00 nee MULTIPOINT ((135886.974 453750.996)) 2021-11-18 Z-VERG-2021-3826 NaN NaN
... ... ... ... ... ... ... ... ... ... ... ...
GUF000000113719 BRO_3743 nee 50177214 IMBRO 2026-05-12T14:11:54+02:00 nee MULTIPOINT ((125727.986 456334.038)) 2026-05-26 Z/26/2038291_2025065301/NB 57 woningen_te_Harm... NaN NaN
GUF000000113720 BRO_3746 nee 50177214 IMBRO 2026-05-12T14:12:21+02:00 nee MULTIPOINT ((125734.986 456339.038)) 2026-05-26 Z/26/2038291_2025065301/NB 57 woningen_te_Harm... NaN NaN
GUF000000113721 BRO_3749 nee 50177214 IMBRO 2026-05-12T14:12:59+02:00 nee MULTIPOINT ((125738.986 456331.038)) 2026-05-26 Z/26/2038291_2025065301/NB 57 woningen_te_Harm... NaN NaN
GUF000000113979 BRO_3752 nee 30286795 IMBRO 2026-05-13T10:31:18+02:00 nee MULTIPOINT ((144087.978 461627.032)) 2026-05-13 Z/26/2038289_Lassuslaan_59_Bilthoven NaN NaN
GUF000000113983 BRO_3758 nee 30277195 IMBRO 2026-05-13T10:40:23+02:00 nee MULTIPOINT ((124941.996 450864.03), (124949.99... 2026-05-01 Z/26/2017855_Hofstraat_7_Montfoort geslotenBodemenergiesysteem NaN

1023 rows × 11 columns

Plot the realisedInstallation column on a map using matplotlib.

f, ax = plt.subplots()
ax.axis("scaled")
ax.axis(extent)
ax = gdf.plot(
        column="realisedInstallation",
        legend=True,
        alpha=0.7,
        edgecolor="k",
        ax=ax
    )
../_images/cd6c107652f13758bcda38c2e780d0ea965ccfc8b3ea19a9c29a5f6d1454c168.png

Plot realisedInstallation on an interactive Folium map. Click a location to view details.

import folium
# use explode to separate multi-point geometries into single points
# otherwise the popup does not work properly
m = gdf.explode().explore(
    column="realisedInstallation",
    marker_kwds={"radius":5},
    tooltip=False,
    popup=True,
    tiles=None
)

# add a background layer with 50% opacity
folium.TileLayer(
    tiles="OpenStreetMap",
    opacity=0.5,  # 0 = invisible, 1 = opaque
    name="Background"
).add_to(m)
m
Make this Notebook Trusted to load map: File -> Trust Notebook