-
Themen
Unternavigationspunkte
-
Mediathek
Unternavigationspunkte
-
ODL-INFO
Unternavigationspunkte
Datenschnittstelle
- Das Bundesamt für Strahlenschutz (BfS) stellt die Daten des ODL-Messnetzes kostenlos über eine standardisierte Datenschnittstelle zur Verfügung.
- Bitte beachten Sie die Nutzungsbedingungen.
Das Bundesamt für Strahlenschutz (BfS) stellt die Daten des ODL-Messnetzes kostenlos über eine standardisierte Datenschnittstelle zur Verfügung. Es handelt sich dabei um den "Web Feature Service", einen Standard des Open Geospatial Consortiums (OGC).
Die beim BfS verfügbaren Geodatendienste werden auch im BfS-Geoportal bereitgestellt. Bitte beachten Sie die Nutzungsbedingungen für diese Dienste, die auch für die ODL-Datenschnittstelle gelten.
Datenformat
Die Daten werden von der Schnittstelle unter anderem im GeoJSON-Format ausgegeben. Hierbei handelt es sich um ein standardisiertes, offenes Format, welches Daten mit geografischem Bezug nach der Simple-Feature-Access-Spezifikation repräsentiert. Auch ODL-Info ruft die Daten in dieser Form ab.
Neben dem im Folgenden beschriebenen GeoJSON-Format ist ein Datenabruf auch in anderen Formaten (z.B. GML2, GML3, shape-zip, csv) möglich.
GeoJSON
Die Daten sind beim GeoJSON immer in einer FeatureCollection enthalten. Jedes Feature darin enthält neben den Koordinaten der jeweiligen Messstelle zudem auch die Messstellenkennung, den Namen der Messstelle und natürlich den entsprechenden Messwert inklusive Zeitstempel. Sofern die Anfrage fehlerfrei gestellt wurde, enthält die Antwort immer ein JSON-Objekt mit den folgenden Eigenschaften:
Eigenschaft | Beschreibung |
---|---|
| |
features | Ein Array mit den sogenannten "Features", also den eigentlichen Datensätzen. |
totalFeatures | Anzahl der insgesamt von der Anfrage gefundenen Datensätzen. |
numberReturned | Anzahl der für die Anfrage zurückgegebenen Datensätzen. |
timeStamp | Zeitstempel der Antwort. |
Verfügbare Informationen
Die verfügbaren Informationen werden in sogenannten Layern bereitgestellt. Jeder Layer enthält unterschiedliche Daten. Neben weiteren, teilweise optionalen, Parametern enthält die Abruf-URL immer den Layernamen.
Basis-Abruf-URL
https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:<Layername>&outputFormat=application/json
Layer
Liste der Messstellen inklusive dem jeweils letzten 1-Stunden-MesswertEinklappen / Ausklappen
Layername
odlinfo_odl_1h_latest
Abruf-URL
https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_odl_1h_latest&outputFormat=application/json
Property | Beschreibung |
---|---|
id | Die internationale ID der Messstelle. |
kenn | Die Messstellenkennung, wie sie auch auf ODL-Info verwendet wird. |
plz | Die Postleitzahl der Messstelle. |
name | Der Name bzw. Ortsname der Messstelle. |
site_status | Der Status der Messstelle als Zahl. (1 = in Betrieb, 2 = Defekt, 3 = Testbetrieb) |
site_status_text | Der Status der Messstelle als Text. |
kid | ID des Messnetzknotens, dem die Messstelle zugeordnet ist. (1 = Freiburg, 2 = Berlin, 3 = München, 4 = Bonn, 5 = Salzgitter, 6 = Rendsburg) |
height_above_sea | Höhe der Messstelle über NN. |
start_measure | Startzeitpunkt der Messperiode für den gegebenen Messwert. |
end_measure | Endzeitpunkt der Messperiode für den gegebenen Messwert. |
value | Der Messwert. |
value_cosmic | Kosmischer Anteil des Messwertes. |
value_terrestrial | Terrestrischer Anteil des Messwertes. |
unit | Einheit zu dem Messwert. |
validated | Prüfstatus des Messwertes. (1 = geprüft, 2 = ungeprüft) |
nuclide | Bezeichnung der Messgröße. |
duration | Dauer der Messperiode. |
Beispiel
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": "odlinfo_odl_1h_latest.fid-67f071dd_17b78091d3a_-1c2f",
"geometry": {
"type": "Point",
"coordinates": [
9.38,
54.78
]
},
"geometry_name": "geom",
"properties": {
"id": "DEZ0001",
"kenn": "010010001",
"plz": "24941",
"name": "Flensburg",
"site_status": 1,
"site_status_text": "in Betrieb",
"kid": 6,
"height_above_sea": 39,
"start_measure": "2021-08-24T10:00:00Z",
"end_measure": "2021-08-24T11:00:00Z",
"value": 0.075,
"value_cosmic": 0.043,
"value_terrestrial": 0.033,
"unit": "µSv/h",
"validated": 1,
"nuclide": "Gamma-ODL-Brutto",
"duration": "1h"
}
},
{
"type": "Feature",
"id": "odlinfo_odl_1h_latest.fid-67f071dd_17b78091d3a_-1c2e",
"geometry": {
"type": "Point",
"coordinates": [
9.05,
54.02
]
},
"geometry_name": "geom",
"properties": {
"id": "DEZ0005",
"kenn": "010510061",
"plz": "25719",
"name": "Barlt",
"site_status": 1,
"site_status_text": "in Betrieb",
"kid": 6,
"height_above_sea": 1,
"start_measure": "2021-08-24T10:00:00Z",
"end_measure": "2021-08-24T11:00:00Z",
"value": 0.08,
"value_cosmic": 0.042,
"value_terrestrial": 0.038,
"unit": "µSv/h",
"validated": 1,
"nuclide": "Gamma-ODL-Brutto",
"duration": "1h"
}
},
// [...]
],
"totalFeatures": 1629,
"numberMatched": 1629,
"numberReturned": 1629,
"timeStamp": "2021-08-24T12:12:03.304Z",
"crs": {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:EPSG::4326"
}
}
}
Zeitreihe mit 1-Stunden-MessdatenEinklappen / Ausklappen
Bei der Abfrage von Zeitreihendaten muss immer eine 9-stellige Messstellenkennung mit angegeben werden. Zusätzlich ist über einen Filter eine zeitliche Eingrenzung möglich.
Layername der Zeitreihe mit 1-Stunden-Messdaten
odlinfo_timeseries_odl_1h
Abruf-URL
https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:<Messstellenkennung>
Property | Beschreibung |
---|---|
id | Die internationale ID (teilweise auch als locality_code bezeichnet) der Messstelle. |
kenn | Die Messstellenkennung, wie sie auch auf ODL-Info verwendet wird. |
plz | Die Postleitzahl der Messstelle. |
name | Der Name bzw. Ortsname der Messstelle. |
start_measure | Startzeitpunkt der Messperiode für den gegebenen Messwert. |
end_measure | Endzeitpunkt der Messperiode für den gegebenen Messwert. |
value | Der Messwert. |
unit | Einheit zu dem Messwert. |
validated | Prüfstatus des Messwertes. (1 = geprüft, 2 = ungeprüft) |
nuclide | Bezeichnung der Messgröße. |
duration | Dauer der Messperiode. |
Beispiel
https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:031020004
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": "odlinfo_timeseries_odl_1h.fid-67f071dd_17b7820a5ac_40fc",
"geometry": {
"type": "Point",
"coordinates": [
10.33,
52.15
]
},
"geometry_name": "geom",
"properties": {
"id": "DEZ2799",
"kenn": "031020004",
"name": "Salzgitter-Lebenstedt",
"start_measure": "2021-08-17T12:00:00Z",
"end_measure": "2021-08-17T13:00:00Z",
"value": 0.088,
"unit": "µSv/h",
"validated": 1,
"nuclide": "Gamma-ODL-Brutto",
"duration": "1h"
}
},
{
"type": "Feature",
"id": "odlinfo_timeseries_odl_1h.fid-67f071dd_17b7820a5ac_40fd",
"geometry": {
"type": "Point",
"coordinates": [
10.33,
52.15
]
},
"geometry_name": "geom",
"properties": {
"id": "DEZ2799",
"kenn": "031020004",
"name": "Salzgitter-Lebenstedt",
"start_measure": "2021-08-17T13:00:00Z",
"end_measure": "2021-08-17T14:00:00Z",
"value": 0.092,
"unit": "µSv/h",
"validated": 1,
"nuclide": "Gamma-ODL-Brutto",
"duration": "1h"
}
},
// [...]
],
"totalFeatures": 168,
"numberMatched": 168,
"numberReturned": 168,
"timeStamp": "2021-08-24T12:30:21.262Z",
"crs": {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:EPSG::4326"
}
}
}
Zeitreihe mit 24-Stunden-MessdatenEinklappen / Ausklappen
Bei der Abfrage von Zeitreihendaten muss immer eine 9-stellige Messstellenkennung mit angegeben werden. Zusätzlich ist über einen Filter eine zeitliche Eingrenzung möglich.
Layername der Zeitreihe mit 24-Stunden-Messdaten
odlinfo_timeseries_odl_24h
Abruf-URL
https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_24h&outputFormat=application/json&viewparams=kenn:<Messstellenkennung>
Property | Beschreibung |
---|---|
id | Die internationale ID (teilweise auch als locality_code bezeichnet) der Messstelle. |
kenn | Die Messstellenkennung, wie sie auch auf ODL-Info verwendet wird. |
plz | Die Postleitzahl der Messstelle. |
name | Der Name bzw. Ortsname der Messstelle. |
start_measure | Startzeitpunkt der Messperiode für den gegebenen Messwert. |
end_measure | Endzeitpunkt der Messperiode für den gegebenen Messwert. |
value | Der Messwert. |
unit | Einheit zu dem Messwert. |
validated | Prüfstatus des Messwertes. (1 = geprüft, 2 = ungeprüft) |
nuclide | Bezeichnung der Messgröße. |
duration | Dauer der Messperiode. |
Beispiel
https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata%3Aodlinfo_timeseries_odl_24h&viewparams=kenn%3A031020004&outputFormat=application%2Fjson
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": "odlinfo_timeseries_odl_24h.fid-67f071dd_17b784e2b46_-2dcf",
"geometry": {
"type": "Point",
"coordinates": [
10.33,
52.15
]
},
"geometry_name": "geom",
"properties": {
"id": "DEZ2799",
"kenn": "031020004",
"name": "Salzgitter-Lebenstedt",
"start_measure": "2020-08-24T00:00:00Z",
"end_measure": "2020-08-25T00:00:00Z",
"value": 0.097,
"unit": "µSv/h",
"validated": 1,
"nuclide": "Gamma-ODL-Brutto",
"duration": "1d"
}
},
{
"type": "Feature",
"id": "odlinfo_timeseries_odl_24h.fid-67f071dd_17b784e2b46_-2dce",
"geometry": {
"type": "Point",
"coordinates": [
10.33,
52.15
]
},
"geometry_name": "geom",
"properties": {
"id": "DEZ2799",
"kenn": "031020004",
"name": "Salzgitter-Lebenstedt",
"start_measure": "2020-08-25T00:00:00Z",
"end_measure": "2020-08-26T00:00:00Z",
"value": 0.099,
"unit": "µSv/h",
"validated": 1,
"nuclide": "Gamma-ODL-Brutto",
"duration": "1d"
}
},
// [...]
],
"totalFeatures": 345,
"numberMatched": 345,
"numberReturned": 345,
"timeStamp": "2021-08-24T13:29:20.877Z",
"crs": {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:EPSG::4326"
}
}
}
Sortierung, Filtermöglichkeiten und alternative Datenformate
Die zurückgegebenen Daten einer Anfrage können direkt über die Anfrage sortiert, begrenzt und gefiltert werden. Zudem ist die Ausgabe auch in anderen Datenformaten möglich.
Sortierung
Sortierung der ausgegebenen Daten nach Eigenschaften
Die Daten können nach jeder in den "properties" enthaltenen Eigenschaft der Features sortiert werden. Sinnvoll kann beispielsweise eine Sortierung nach "end_measure" sein, wodurch die Daten nach dem Ende der Messperiode sortiert ausgegeben werden.
Zusätzlich kann +A für eine aufsteigende (Standard) oder +D für eine absteigende Sortierung angehängt werden.
Beispiele dafür sind
- https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:031020004&sortBy=end_measure
- https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:031020004&sortBy=end_measure+D
Filterung
Beschränkung der Anzahl an zurückgegebenen Datensätzen
Besonders bei Anfragen mit erwartungsgemäß vielen Datensätzen kann es sinnvoll sein, die Anzahl der zurückgegebenen Datensätze mit dem Parameter &maxFeatures=…
zu begrenzen.
Zusätzlich kann mittels &startIndex=…
ein Offset angegeben werden, wodurch viele Datensätze in kleineren Teilen geholt werden können. Bei der Verwendung von &startIndex=…
ist eine Sortierung erforderlich.
Beispiele dafür sind
- https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:031020004&sortBy=end_measure&maxFeatures=50
- https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:031020004&sortBy=end_measure&maxFeatures=50&startIndex=50
Zeitliche Eingrenzung der Datensätze
Über einen speziellen &filter=…
Parameter können die Datensätze zeitlich eingegrenzt werden. Der eigentliche Filter ist dabei ein spezielles XML in URL-Encodierter Form.
Beispiel-XML
<Filter xmlns="http://www.opengis.net/ogc" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml">
<PropertyIsBetween>
<PropertyName>end_measure</PropertyName>
<LowerBoundary><Literal>2021-08-24T00:00:00.000Z</Literal></LowerBoundary>
<UpperBoundary><Literal>2021-08-24T23:59:59.000Z</Literal></UpperBoundary>
</PropertyIsBetween>
</Filter>
Beispiel-URL mit dem vorherigen XML-Filter
https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:031020004&filter=%3CFilter%20xmlns%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%20xmlns%3Agml%3D%22http%3A%2F%2Fwww.opengis.net%2Fgml%22%3E%0A%20%20%3CPropertyIsBetween%3E%0A%20%20%20%20%3CPropertyName%3Eend_measure%3C%2FPropertyName%3E%0A%20%20%20%20%3CLowerBoundary%3E%3CLiteral%3E2021-08-24T00%3A00%3A00.000Z%3C%2FLiteral%3E%3C%2FLowerBoundary%3E%0A%20%20%20%20%3CUpperBoundary%3E%3CLiteral%3E2021-08-24T23%3A59%3A59.000Z%3C%2FLiteral%3E%3C%2FUpperBoundary%3E%0A%20%20%3C%2FPropertyIsBetween%3E%0A%3C%2FFilter%3E
Datenformate
Mögliche Datenformate
Über den &outputFormat=…
Parameter kann das gewünschte Datenformat angegeben werden.
Mögliche Werte für &outputFormat=…
sind:
- application/json
- application/gml+xml; version=3.2
- application/vnd.google-earth.kml+xml
- csv
- GML2
- gml3
- gml32
- json
- KML
- SHAPE-ZIP
- text/xml; subtype=gml/2.1.2
- text/xml; subtype=gml/3.1.1
- text/xml; subtype=gml/3.2