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
)
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