Repository navigation
ApplicationScenarios pegelonline
Florian Fehring edited this page Oct 5, 2026
·
1 revision
Dieses Beispiel zeigt, wie Daten von der API pegelonline.wsv.de mit dem Importer und JSON Parser importiert werden können.
Hinweis: Die in diesem Beispiel verwendete Datenstruktur entspricht nicht dem Standard für SmartMonitoring. Die Stationen müssen eigentlich in die Tabelle "tbl_observedobject" importiert werden, die Koordinaten in die "tbl_location".
In der Datenbank wird die Tabelle für die Speicherung angelegt. Die Namen der Tabellenspalten werden unten im JSON für die Importkonfiguration wieder verwendet.
CREATE TABLE smartmonitoring.stations (
id bigserial NOT NULL,
"number" varchar NULL,
shortname varchar NULL,
longname varchar NULL,
km varchar NULL,
agency varchar NULL,
longitude varchar NULL,
latitude varchar NULL,
CONSTRAINT stations_pkey PRIMARY KEY (id)
);
CREATE TABLE smartmonitoring."gaugeZero" (
id bigserial NOT NULL,
unit varchar NULL,
value varchar NULL,
"validFrom" varchar NULL,
CONSTRAINT "gaugeZero_pkey" PRIMARY KEY (id)
);
{
"server":"http://epigraf01.ad.fh-bielefeld.de:8080/",
"smartdata":"SmartDataGewaesser",
"storage":"smartmonitoring",
"collection":"stations",
"parser":"JSONParser",
"importer":"HTTPImporter",
"url":"https://www.pegelonline.wsv.de/webservices/rest-api/v2/waters.json?includeStations=true&includeTimeseries=true",
"json_mapping":[
{
"collection":"stations",
"mappingdata":[
{
"path":"/stations/number",
"dbcolumn":"number"
},
{
"path":"/stations/shortname",
"dbcolumn":"shortname"
},
{
"path":"/stations/longname",
"dbcolumn":"longname"
},
{
"path":"/stations/km",
"dbcolumn":"km"
},
{
"path":"/stations/agency",
"dbcolumn":"agency"
},
{
"path":"/stations/longitude",
"dbcolumn":"longitude"
},
{
"path":"/stations/latitude",
"dbcolumn":"latitude"
}
]
},
{
"collection":"gaugeZero",
"mappingdata":[
{
"path":"/stations/timeseries/gaugeZero/unit",
"dbcolumn":"unit"
},
{
"path":"/stations/timeseries/gaugeZero/value",
"dbcolumn":"value"
},
{
"path":"/stations/timeseries/gaugeZero/validFrom",
"dbcolumn":"validFrom"
}
]
}
]
}Für einen einmaligen Import kann das obige JSON per HTTP-POST an den SmartDataPorter gesendet werden.
POST http://localhost:8080/SmartDataPorter/smartdataporter/import