A hazard map gives the ground-motion level that has a given probability of being exceeded within a given time span. Hazard map data are available through the EFEHR REST API under the base URL https://efehr-services.ethz.ch/hazard/api/v1, and as map layers through the EFEHR OGC web map service. All REST endpoints use HTTP GET and return JSON by default; add format=nrml to receive NRML instead. Data are published under CC BY 4.0 (DOI 10.12686/a15).
The steps below find the models covering your site or area, narrow down the available options (intensity measure type, probability of exceedance, soil type, aggregation), identify the hazard map, and then access it as a WMS layer or as point values. The examples use Basel (47.5° N, 7.6° E) and the European Seismic Hazard Model 2020 (ESHM20, model id 81), with spectral acceleration at 0.35 s and an annual probability of exceedance of 0.002103 (equivalent to 10% in 50 years). Square brackets in IMT codes must be URL-encoded ([ as %5B, ] as %5D). Long lists in the response examples are shortened with "…". The complete, interactive reference is available at efehr-services.ethz.ch/hazard/api/docs.
| User query | Which hazard models provide hazard maps covering my site of interest? |
|---|---|
| Request format | /v1/models?lat=[latitude]&lon=[longitude]&filter_maps=true |
| Parameters |
|
| Request example | https://efehr-services.ethz.ch/hazard/api/v1/models?lat=47.5&lon=7.6&filter_maps=true |
| Response example |
{
"models": [
{
"id": 77,
"name": "Swiss Hazard Model 2015 (SUIhaz15)"
},
{
"id": 81,
"name": "European Seismic hazard Model 2020 (ESHM20)"
}
],
"count": 2
}
|
| User query | Which hazard models cover my area of interest? The area is defined by a bounding box (lower-left and upper-right corners). |
|---|---|
| Request format | /v1/models/area?lat_min=[..]&lon_min=[..]&lat_max=[..]&lon_max=[..] |
| Parameters |
|
| Request example | https://efehr-services.ethz.ch/hazard/api/v1/models/area?lat_min=45.8&lon_min=5.9&lat_max=47.8&lon_max=10.5 |
| Response example |
{
"models": [
{
"id": 77,
"name": "Swiss Hazard Model 2015 (SUIhaz15)"
},
{
"id": 81,
"name": "European Seismic hazard Model 2020 (ESHM20)"
}
],
"count": 2
}
|
| User query | Given a model, for which intensity measure types (IMT) or ground motion types are hazard maps available? |
|---|---|
| Request format | /v1/models/[model_id]/imts |
| Parameters |
|
| Request example | https://efehr-services.ethz.ch/hazard/api/v1/models/81/imts |
| Response example |
{
"imts": [
{
"code": "PGA",
"name": "PGA",
"unit_type": "g",
"unit_description": "gravity, 1g = 980.5 cm/s/s defined for the B/C boundary Vs30=760m/s"
},
{
"code": "SA[0.05s]",
"name": "SA[0.05s]",
"unit_type": "g",
"unit_description": "gravity, 1g = 980.5 cm/s/s"
},
"\u2026",
{
"code": "SA[5.00s]",
"name": "SA[5.00s]",
"unit_type": "g",
"unit_description": "gravity, 1g = 980.5 cm/s/s"
}
]
}
|
| User query | For which probabilities of exceedance and time spans are hazard maps available for a given model and IMT? |
|---|---|
| Request format | /v1/models/[model_id]/poe?imt=[IMT] |
| Parameters |
|
| Request example | https://efehr-services.ethz.ch/hazard/api/v1/models/81/poe?imt=SA%5B0.35s%5D |
| Response example |
{
"poe_values": [
{
"probability": 0.002103,
"years": 1
},
"\u2026"
]
}
|
| User query | Given a model, an IMT, and a probability of exceedance for a time span, for which site classes (or surface geology types) are hazard maps available? |
|---|---|
| Request format | /v1/models/[model_id]/soiltypes?imt=[IMT]&poe=[poe]×pan=[years] |
| Parameters |
|
| Request example | https://efehr-services.ethz.ch/hazard/api/v1/models/81/soiltypes?imt=SA%5B0.35s%5D&poe=0.002103×pan=1 |
| Response example |
{
"soil_types": [
{
"code": "rock_vs30_800ms-1",
"name": "rock_vs30_800ms-1"
}
]
}
|
| User query | Given a model, an IMT, and a probability of exceedance for a time span, how was the hazard of a multi-branch logic tree model aggregated for the available hazard maps? Answers are the arithmetic mean or quantiles (ordinal aggregation with levels from 0 to 1). |
|---|---|
| Request format | /v1/models/[model_id]/fractiles?imt=[IMT]&poe=[poe]×pan=[years] |
| Parameters |
|
| Request example | https://efehr-services.ethz.ch/hazard/api/v1/models/81/fractiles?imt=SA%5B0.35s%5D&poe=0.002103×pan=1 |
| Response example |
{
"fractiles": [
{
"aggregation_type": "arithmetic",
"aggregation_level": 0.5
},
{
"aggregation_type": "ordinal",
"aggregation_level": 0.05
},
{
"aggregation_type": "ordinal",
"aggregation_level": 0.16
},
{
"aggregation_type": "ordinal",
"aggregation_level": 0.5
},
{
"aggregation_type": "ordinal",
"aggregation_level": 0.84
},
{
"aggregation_type": "ordinal",
"aggregation_level": 0.95
}
]
}
|
| User query | What is the identifier and WMS layer name of the hazard map matching all the above selection criteria? |
|---|---|
| Request format | /v1/maps/reference?modelid=[..]&imt=[IMT]&poe=[poe]×pan=[years]&aggregationtype=[..]&aggregationlevel=[0…1] |
| Parameters |
|
| Request example | https://efehr-services.ethz.ch/hazard/api/v1/maps/reference?modelid=81&imt=SA%5B0.35s%5D&poe=0.002103×pan=1&aggregationtype=ordinal&aggregationlevel=0.16 |
| Response example |
{
"map_id": 3606,
"wms_url": "hmap3606",
"model_id": 81,
"model_name": "European Seismic hazard Model 2020 (ESHM20)",
"imt": "SA[0.35s]",
"poe": 0.002103,
"timespan": 1
}
|
The wms_url value is the layer name of the hazard map in the EFEHR web map service (WMS). Web map services following OGC standards let you integrate live hazard maps as a layer in most GIS packages, such as QGIS or ArcGIS.
| Request example | https://efehr-services.ethz.ch/hazard/ows?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&LAYERS=hmap3606&STYLES=&SRS=EPSG:4326&BBOX=0,40,22,55&WIDTH=1200&HEIGHT=800&FORMAT=image/png |
|---|---|
| Parameters |
|
| Available layers | For the full list of layers, parameters and allowed values, send a WMS GetCapabilities request: https://efehr-services.ethz.ch/hazard/ows?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities |
| User query | What are the hazard map values in my area of interest? The area is a rectangle defined by its lower-left and upper-right corners. |
|---|---|
| Request format | /v1/maps/area?lat_min=[..]&lon_min=[..]&lat_max=[..]&lon_max=[..]&modelid=[..]&imt=[IMT]&poe=[poe]×pan=[years]&soiltype=[..]&aggregationtype=[..]&aggregationlevel=[0…1] |
| Parameters |
|
| Request example | https://efehr-services.ethz.ch/hazard/api/v1/maps/area?lat_min=47.4&lon_min=7.5&lat_max=47.6&lon_max=7.7&modelid=81&imt=SA%5B0.35s%5D&poe=0.002103×pan=1&soiltype=rock_vs30_800ms-1&aggregationtype=ordinal&aggregationlevel=0.16 |
| Response example |
{
"points": [
{
"lon": 7.5821339,
"lat": 47.4,
"value": 0.06469244
},
{
"lon": 7.5821339,
"lat": 47.5,
"value": 0.070245504
},
{
"lon": 7.5821339,
"lat": 47.6,
"value": 0.081962
},
{
"lon": 7.6821339,
"lat": 47.4,
"value": 0.06479445
},
{
"lon": 7.6821339,
"lat": 47.5,
"value": 0.070087224
},
{
"lon": 7.6821339,
"lat": 47.6,
"value": 0.08205808
}
],
"metadata": {
"model_id": 81,
"model_name": "European Seismic hazard Model 2020 (ESHM20)",
"imt": "SA[0.35s]",
"poe": 0.002103,
"timespan": 1,
"soil_type": "rock_vs30_800ms-1",
"aggregation_type": "ordinal",
"aggregation_level": 0.16,
"spectral_period": null
}
}
|
| User query | What are the hazard map values around my site of interest? The response contains the grid points within about 0.4° of the site (a 0.1° grid); the value for the site is the one at the nearest grid point. |
|---|---|
| Request format | /v1/maps?lat=[..]&lon=[..]&modelid=[..]&imt=[IMT]&poe=[poe]×pan=[years]&soiltype=[..]&aggregationtype=[..]&aggregationlevel=[0…1] |
| Parameters |
|
| Request example | https://efehr-services.ethz.ch/hazard/api/v1/maps?lat=47.5&lon=7.6&modelid=81&imt=SA%5B0.35s%5D&poe=0.002103×pan=1&soiltype=rock_vs30_800ms-1&aggregationtype=ordinal&aggregationlevel=0.16 |
| Response example |
{
"points": [
{
"lon": 7.182133900000001,
"lat": 47.1,
"value": 0.05618549
},
{
"lon": 7.182133900000001,
"lat": 47.2,
"value": 0.053966764
},
"\u2026",
{
"lon": 7.5821339,
"lat": 47.5,
"value": 0.070245504
},
"\u2026",
{
"lon": 8.0821339,
"lat": 47.9,
"value": 0.08512021
}
],
"metadata": {
"model_id": 81,
"model_name": "European Seismic hazard Model 2020 (ESHM20)",
"imt": "SA[0.35s]",
"poe": 0.002103,
"timespan": 1,
"soil_type": "rock_vs30_800ms-1",
"aggregation_type": "ordinal",
"aggregation_level": 0.16,
"spectral_period": null
}
}
|