Bedrock heat-pump feasibility: depth to bedrock, nearby energy wells, drilling constraints and indicative drilling length
heat_pump_feasibility21 fieldsNot in the demo
Available with: bought bundle or agreed plan (all fields) · Pricing
What this does not say
Quoted verbatim from the section’s warnings field, exactly as the API returns it. They are not translated: a translation would show something other than what your response actually contains.
- Estimate, not a drilling plan, a ground investigation or a permit answer: depth to bedrock is interpolated from registered wells nearby, and indicative_drilling_m is a rule-of-thumb length. A driller sizes a real well from the heat need, a thermal response test and the rock actually met.
- Method heatpump-v1. depth_to_bedrock_m is the median of the up to 8 nearest GRANADA wells within 1 km that report depth to bedrock (boretLengdeTilBerg), with the 25th and 75th percentile as spread; null with fewer than 3 such wells (depth_wells_used). Soil depth can change over a few metres, so a wide spread means the local figure is uncertain.
- indicative_drilling_m = heated area x heat demand per m2 for the building's era (Approach round figures: 200 kWh before 1956, 180 for 1956-70, 160 for 1971-86, 140 for 1987-96, 125 for 1997-2006, 100 for 2007-16, 75 from 2017, space heating and hot water), scaled by the nearest MET station's heating degree days against the national median (bounded 0.6-1.8), divided by 3000 full-load hours, divided by 50 W of heat-pump power per metre of borehole (the rule of thumb quoted by Norsk Kjøleteknisk Forening, which itself warns that real dimensioning uses the energy need), plus the depth to bedrock that is cased and not active. Rounded to 10 m; indicative_wells splits lengths over 300 m. Null when the building year or heated area is not registered.
- drilling_constraints lists the constraints found at the address. constraints_checked gives every checked constraint as true, false or null (layer not loaded, or the kommune's quick-clay zones are not mapped); null is not clearance. constraints_not_checked names what is not checked at all: drinking-water protection zones (klausulerte nedslagsfelt) are not held in our data. Drilling an energy well needs a notice to the kommune and, in some zones, permission; ask the kommune.
- Licences: NGU GRANADA and NVE layers NLOD; Miljødirektoratet Grunnforurensning NLOD 2.0; Riksantikvaren data NLOD; Matrikkelen via Kartverket. Attribution: NGU, NVE, Miljødirektoratet, Riksantikvaren, Kartverket, MET Norway.
- validation lists each figure the model is checked by, against the reference named in it. value null with status not_yet_computed means the check has not been run on the data yet; it is not a pass.
Fields
4 of 21 fields are value fields — the ones that decide whether a record actually says anything. The rest are context: identifiers, codes and timestamps.
| Field | Type | Role |
|---|---|---|
| depth_to_bedrock_m | number | null | value |
| depth_to_bedrock_p25_m | number | null | context |
| depth_to_bedrock_p75_m | number | null | context |
| depth_wells_used | integer | null | context |
| nearest_depth_well_m | integer | null | context |
| nearby_energy_wells_200m | integer | null | value |
| median_energy_well_length_1km_m | number | null | context |
| drilling_constraints | array<string> | null | value |
| constraints_checked | object | null | context |
| constraints_not_checked | array<string> | null | context |
| heated_area_m2 | number | null (m2) | context |
| building_year | integer | null (årstall) | context |
| heating_degree_days | integer | null (døgn) | context |
| heat_demand_kwh_per_year | integer | null (årstall) | context |
| indicative_drilling_m | integer | null | value |
| indicative_wells | integer | null | context |
| method | string | null | context |
| method_version | string | null | context |
| inputs | object | null | context |
| validation | array<object> | null | context |
| computed_at | string | null | context |
Fetch this section
Send the key in the X-API-Key header. The section can be fetched with the rest of the address, or on its own with pagination.
curl --fail-with-body --silent --show-error \ -H "X-API-Key: $APPROACH_API_KEY" \ 'https://api.approach.no/api/v1/addresses/285717643?include=heat_pump_feasibility' # paginated, one section at a time curl --fail-with-body --silent --show-error \ -H "X-API-Key: $APPROACH_API_KEY" \ 'https://api.approach.no/api/v1/addresses/285717643/sections/heat_pump_feasibility?limit=25'
Why it cannot be tried here
This section is not part of the public demo projection. That is a licensing and privacy decision, not a sign the data is missing: it is served to customers granted the section.