-
Notifications
You must be signed in to change notification settings - Fork 4
Open Geospatial Consortium (OGC) Server abfragen
Das Open Geospatial Consortium (OGC) ist ein Zusammenschluß aller großen Wetterdienste, Unternehmen der IT-Branche u.a. Es hat ein Format zur Datenabfrage von ortsbezogenen Daten definiert. Server betreiben zum Beispiel der Deutsche Wetterdienst (DWD), die österreichische GeoSphere Austria und die amerikanische NOAA.
Beispiel für eine Konfiguration:
[WeatherServices]
path = /etc/weewx/skins/SKINNAME/SUBDIRECTORY
...
[[download]]
...
[[[Landkreis Döbeln]]]
provider = DWD
model = wms
server_url = 'https://maps.dwd.de/geoserver/dwd/ows'
map = 12.83,51.04,0.45,0.2
warncellids = 814522080,814522250,814522310,814522450,814522510,814522570,814522620,814522220
file = "warnungen-landkreis-doebeln.png"
[[[[parameters]]]]
layers = dwd:Warngebiete_Gemeinden,dwd:Warnungen_Gemeinden,dwd:Gewaessernetz_Deutschland_fein,dwd:Warngebiete_Gemeinden
width = 512
height = 362
format = "image/png"
cql_filter = "WARNCELLID IN ($warncellids);WARNCELLID IN ($warncellids);INCLUDE;INCLUDE"
styles = '','',gewaessernetz_deutschland_fein_blau,Warngebiete_Gemeinden_Text
transparent = true
Die einzelnen Schlüssel bedeuten:
-
path
: Verzeichnis, in das die heruntergeladenen Dateien gespeichert werden sollen. -
provider
: Name des Anbieters, z.B.DWD
,ZAMG
,NOAA
etc. -
model
: hier immerwms
, ggf. ergänzt um eine Versionsnummer, z.B.wms 1.1.1
oderwms 1.3.0
-
server_url
: URL zur Abfrage beim Anbieter (Das ist der Teil bis zum Fragezeichen.) -
map
: Kartenausschnitt: westliche Grenze, südliche Grenze, Breite, Höhe bei WMS 1.1.1, abhängig vom CRS bei WMS 1.3.0 -
warncellids
: im Falle von Warnkarten des deutschen Wetterdienstes eine Liste der Warncell-IDs (optional) -
file
: Dateiname, unter dem die heruntergeladene Datei gespeichert werden soll -
[[[parameters]]]
: Abschnitte mit den Aufrufparametern laut OGC-Spezifikation-
crs
orsrs
: Koordinatensystem, bei manchen Servern optional, bei anderen zwingend erforderlich -
layers
: kommagetrennte Liste der darzustellenden Layer (Was es da gibt, muß beim Anbieter erfragt werden.) -
width
: Breite der Graphik in Pixeln -
height
: Höhe der Graphik in Pixeln -
format
: zu erzeugendes Format (Was es da gibt, muß beim Anbieter erfragt werden.) -
cql_filter
: Datenfilterbedingungen. Die Liste muß exakt so lang sein wie die Liste beilayers
und für jeden Layer eine Bedingung enthalten. Wenn man keine Einschränkungen vornehmen will, kann manINCLUDE
schreiben. -
styles
: Manche Layer haben verschiedene Darstellungsoptionen. Die Liste muß auch hier exakt so lang sein wie die Liste beilayers
. Wenn für einen Layer keine Darstellungsoption festgelegt werden soll, sind zwei Hochkommata zu schreiben (''
). -
transparent
: transparenter (true
) oder weißer (false
) Hintergrund (optional)
-
-
compare_content
: Die Zieldatei soll nur dann neu gespeichert werden, wenn sie sich geändert hat. Normalerweise liefert der Server einen Zeitstempel der letzten Änderung, der zu diesem Zweck verglichen wird. Hat sich die Datei nicht geändert, wird sie gar nicht erst heruntergeladen. Leider liefern (manche?) OGC-Server keinen solchen Zeitstempel. Dann bleibt nur, die Datei komplett herunterzuladen und inhaltlich zu vergleichen. Das ist hier der Standard, wenn der Schlüssel fehlt. Mitcompare_content = false
kann der Vergleich abgeschaltet werden. (optional) -
log_success
: Legt fest, ob ein erfolgreicher Download im Syslog protokolliert soll. Wird von der WeeWX-Grundkonfiguration übernommen, kann aber auch auf jeder Ebene neu definiert werden. (optional) -
log_failure
: Legt fest, ob Fehler im Syslog protokolliert werden sollen. Wird von der WeeWX-Grundkonfiguration übernommen, kann aber auch auf jeder Ebene neu definiert werden. (optional) -
log_sleeping
: Legt fest, ob die Schlafenszeit des Threads protokolliert werden soll (optional)
Um die heruntergeladene Datei mit auf den Webserver hochzuladen, muß die Datei in die Liste beim Schlüssel copy_always
in skin.conf
eingefügt werden. Beim obigen Beispiel wäre das:
...
[CopyGenerator]
...
copy_always = ..., SUBDIRECTORY/warnungen-landkreis-doebeln.png
anderes Beispiel: Satellitenbild des Meteosat-Satelliten:
[WeatherServices]
path = /etc/weewx/skins/SKINNAME/SUBDIRECTORY
...
[[download]]
...
[[[Satellitenbild]]]
provider = DWD
model = wms
map = -53.99411011583333,22.998440489999993,107.99722,53.99412
file = meteosat-europe.png
[[[[parameters]]]]
layers = dwd:Satellite_meteosat_1km_euat_rgb_day_hrv_and_night_ir108_3h,dwd:Laender
width = 1024
height = 574
format = "image/png"
Das Ergebnis kann dann so aussehen:
Beispiel Warnkarte Sachsen:
[WeatherServices]
path = /etc/weewx/skins/SKINNAME/SUBDIRECTORY
...
[[download]]
...
[[[Warnkarte Sachsen]]]
provider = DWD
model = wms
map = 11.55,50.1,3.9,1.65
file = "wms-sachsen.png"
[[[[parameters]]]]
layers = dwd:Warngebiete_Gemeinden,dwd:Warnungen_Gemeinden,dwd:Gewaesser,dwd:Warngebiete_Bundeslaender,dwd:BRD_Orte
width = 512
height = 338
format = "image/png"
cql_filter = WARNCELLID LIKE '814%' OR WARNCELLID LIKE '714%';WARNCELLID LIKE '814%' OR WARNCELLID LIKE '714%';INCLUDE;INCLUDE;INCLUDE
Das Ergebnis kann dann so aussehen:
Beispiel EUMETSAT:
[WeatherServices]
path = /etc/weewx/skins/SKINNAME/SUBDIRECTORY
...
[[download]]
...
[[[Satellitenbild von EUMETSAT]]]
provider = EUMETSAT
model = wms 1.3.0
map = 22.998440489999993,-53.99411011583333,53.99412,107.99722
file = wms-eumetsat.png
[[[[parameters]]]]
crs = EPSG:4326
layers = backgrounds:ne_background,msg_fes:ir108,msg_fes:h60b,backgrounds:ne_10m_coastline,backgrounds:ne_boundary_lines_land,backgrounds:graticules-light,msg_fes:rdt
width = 1024
height = 574
format = "image/png"
transparent = true
Das Ergebnis kann dann so aussehen:
- OpenGIS
- DWD-OGC-Server
- NOAA OGC server overview
- EUMETSAT
- https://www.dwd.de/DE/wetter/warnungen_aktuell/objekt_einbindung/einbindung_karten_geodienste.pdf?__blob=publicationFile&v=14
- https://docs.geoserver.org/stable/en/user/services/wms/reference.html
- https://docs.geoserver.org/stable/en/user/services/wms/get_legend_graphic/index.html
- EUMETSAT-Benutzerhandbuch (englisch)