Difference between maximum and minimum sampled surface elevation
Difference between maximum and minimum sampled surface elevation. The service evaluates the bounded polygon supplied by the caller and returns standardized units across all 30 covered countries.
1000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-03
updated
Provider
euroland.halowerk.com · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "1000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"polygon": [
[
7.095,
51.895
],
[
7.105,
51.895
],
[
7.105,
51.905
],
[
7.095,
51.905
]
]
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"authoritative_status": "preliminary_non_binding",
"category": "europe-wide",
"caveats": [
"Preliminary geodata assessment; not a legally binding property, cadastral, planning, environmental or title search.",
"Raster resolution and model uncertainty can be larger than the submitted site geometry.",
"Material decisions require a current verification by the competent national or regional authority."
],
"charged": true,
"checked_at": "2026-09-03T00:00:00.000Z",
"confidence": 0.85,
"confidence_method": "Conservative minimum source-family baseline plus a bounded sample-count bonus; multi-source results receive a fixed integration penalty.",
"data_date": "2015-12-31T23:59:59.000Z",
"evidence": {
"local-relief": {
"method": "documented source raster sample",
"metric": "local-relief",
"name": "Local relief",
"sample_count": 1,
"unit": "m",
"value": 1
}
},
"evidence_classification": "derived_from_open_geodata",
"facts": {
"measurements": {
"local-relief": {
"method": "documented source raster sample",
"metric": "local-relief",
"name": "Local relief",
"sample_count": 1,
"unit": "m",
"value": 1
}
}
},
"generated_at": "2026-09-03T00:00:00.000Z",
"geometry": null,
"limitations": [
"Preliminary geodata assessment; not a legally binding property, cadastral, planning, environmental or title search.",
"Raster resolution and model uncertainty can be larger than the submitted site geometry.",
"Material decisions require a current verification by the competent national or regional authority."
],
"payment": {
"price_usdc": 0.001,
"settled": true
},
"recommended_next_steps": [
"Verify material findings with current cadastral, planning and environmental records from the competent authority.",
"Commission a qualified on-site survey where parcel-scale conditions affect the decision."
],
"result": "measurement_available",
"risk_level": "not_applicable",
"service": "europe-local-relief-parcel",
"service_id": "eli-0772",
"sources": [
{
"attribution": "© DLR e.V. 2010-2014 and © Airbus Defence and Space GmbH 2014-2018 provided under COPERNICUS by the European Union and ESA; all rights reserved.",
"authority": "European Union Copernicus Programme / ESA / DLR / Airbus",
"cache_policy": "HTTP byte ranges only; bounded 2 GB derived block cache, no whole-dataset copy.",
"caveats": [
"Digital surface model: vegetation and structures can raise the measured surface above bare earth.",
"Values over water and source voids may be unavailable."
],
"commercial_use": true,
"commercial_use_allowed": true,
"coverage": "Global land surface; requests are restricted to the 30 published European countries.",
"data_date": "2015-12-31T23:59:59.000Z",
"data_period": "TanDEM-X acquisition period 2011-2015; this is not a current-condition survey.",
"dataset": "Copernicus DEM GLO-30 Full, Free & Open",
"freshness": "Pinned COP-DEM-GLO-30-F product.",
"id": "copernicus-dem-glo30-f",
"license": "COP-DEM-GLO-30-F Full, Free & Open licence",
"license_status": "verified",
"license_verified_at": "2026-09-03",
"name": "Copernicus DEM GLO-30 Full, Free & Open",
"provider": "European Union Copernicus Programme / ESA / DLR / Airbus",
"purpose": "Surface elevation and deterministic terrain derivatives.",
"rate_limit": "AWS Open Data endpoint; local per-request timeout and circuit breaker apply.",
"redistribution": true,
"resolution": "30 metres",
"retrieved_at": "2026-09-03T00:00:00.000Z",
"source_url": "https://copernicus-dem-30m.s3.eu-central-1.amazonaws.com/",
"terms_url": "https://dataspace.copernicus.eu/sites/default/files/media/files/2025-06/copernicus_contributing_mission_data_access_v2_cop_dem_licenses.pdf",
"update_interval": "Provider product release based.",
"url": "https://copernicus-dem-30m.s3.eu-central-1.amazonaws.com/",
"version": "COP-DEM-GLO-30-F"
}
],
"status": "success",
"summary": "Europe Local relief: parcel sample: source-backed screening evidence was calculated successfully."
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"polygon": {
"description": "WGS84 polygon ring. The closing coordinate is optional; maximum span is 0.25 degrees.",
"items": {
"additionalItems": false,
"items": [
{
"maximum": 40.5,
"minimum": -31.5,
"type": "number"
},
{
"maximum": 72.5,
"minimum": 34,
"type": "number"
}
],
"maxItems": 2,
"minItems": 2,
"type": "array"
},
"maxItems": 100,
"minItems": 3,
"type": "array"
}
},
"required": [
"polygon"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"additionalProperties": false,
"properties": {
"authoritative_status": {
"const": "preliminary_non_binding",
"type": "string"
},
"category": {
"const": "europe-wide",
"type": "string"
},
"caveats": {
"items": {
"type": "string"
},
"type": "array"
},
"charged": {
"type": "boolean"
},
"checked_at": {
"type": "string"
},
"confidence": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"confidence_method": {
"minLength": 20,
"type": "string"
},
"data_date": {
"type": [
"string",
"null"
]
},
"evidence": {
"additionalProperties": false,
"properties": {
"local-relief": {
"additionalProperties": true,
"properties": {
"method": {
"type": "string"
},
"metric": {
"type": "string"
},
"name": {
"type": "string"
},
"sample_count": {
"minimum": 1,
"type": "integer"
},
"unit": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"metric",
"name",
"unit",
"value",
"sample_count",
"method"
],
"type": "object"
}
},
"required": [
"local-relief"
],
"type": "object"
},
"evidence_classification": {
"const": "derived_from_open_geodata",
"type": "string"
},
"facts": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"geometry": {
"type": [
"object",
"null"
]
},
"limitations": {
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
},
"meta": {
"type": "object"
},
"payment": {
"additionalProperties": true,
"required": [
"settled",
"price_usdc"
],
"type": "object"
},
"recommended_next_steps": {
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
},
"result": {
"minLength": 1,
"type": "string"
},
"risk_level": {
"type": "string"
},
"service": {
"const": "europe-local-relief-parcel",
"type": "string"
},
"service_id": {
"const": "eli-0772",
"type": "string"
},
"sources": {
"items": {
"additionalProperties": true,
"properties": {
"authority": {
"type": "string"
},
"dataset": {
"type": "string"
},
"license": {
"type": "string"
},
"retrieved_at": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"authority",
"dataset",
"url",
"license",
"retrieved_at"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"status": {
"enum": [
"success",
"no_finding",
"warning",
"high_risk",
"not_applicable",
"insufficient_coverage",
"source_temporarily_unavailable"
],
"type": "string"
},
"summary": {
"minLength": 20,
"type": "string"
}
},
"required": [
"service_id",
"service",
"category",
"status",
"result",
"summary",
"facts",
"geometry",
"risk_level",
"confidence",
"confidence_method",
"checked_at",
"data_date",
"evidence",
"sources",
"limitations",
"recommended_next_steps",
"evidence_classification",
"authoritative_status",
"generated_at",
"caveats",
"charged",
"payment"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
},
"payment-identifier": {
"info": {
"required": false
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"maxLength": 128,
"minLength": 16,
"pattern": "^[a-zA-Z0-9_-]+$",
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"required"
],
"type": "object"
}
}
}Use it
curl
curl "https://euroland.halowerk.com/v1/europe-local-relief-parcel" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://euroland.halowerk.com/v1/europe-local-relief-parcel");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://euroland.halowerk.com/v1/europe-local-relief-parcel")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/9008.json, and this resource appears in /discovery/resources and /discovery/search.