Process live and historical data from luftdaten.info. Filter by station-id, sensor-id and sensor-type, apply reverse geocoding, store into TSDB and RDBMS databases, publish to MQTT or just output as JSON.
Process live and historical data from luftdaten.info, irceline and OpenAQ. Filter by station-id, sensor-id and sensor-type, apply reverse geocoding, store into TSDB and RDBMS databases (InfluxDB and PostGIS), publish to MQTT or just output as JSON.
- Luftdatenpumpe acquires the measurement readings either from the livedata API of luftdaten.info or from its archived CSV files published to archive.luftdaten.info. To minimize impact on the upstream servers, all data gets reasonably cached.
- While iterating the readings, it optionally filters on station-id, sensor-id or sensor-type and restrains information processing to the corresponding stations and sensors.
- Then, each station’s location information gets enhanced by
- Information about stations can be
- displayed on STDOUT or STDERR in JSON format.
- filtered and transformed interactively through jq, the swiss army knife of JSON manipulation.
- stored into RDBMS databases like PostgreSQL using the fine dataset package. Being built on top of SQLAlchemy, this supports all major databases.
- queried using advanced geospatial features when running PostGIS, please follow up reading the Luftdatenpumpe PostGIS tutorial.
- Measurement readings can be
# List networks luftdatenpumpe networks # List LDI stations luftdatenpumpe stations --network=ldi --station=28,297 --reverse-geocode # Store list of LDI stations and metadata into RDBMS database (PostgreSQL), also display on STDERR luftdatenpumpe stations --network=ldi --station=28,1071 --reverse-geocode --target=postgresql://luftdatenpumpe@localhost/weatherbase # Store LDI readings into InfluxDB luftdatenpumpe readings --network=ldi --station=28,1071 --target=influxdb://luftdatenpumpe@localhost/luftdaten_info # Forward LDI readings to MQTT luftdatenpumpe readings --network=ldi --station=28,1071 --target=mqtt://mqtt.example.org/luftdaten.info
For a full overview about all program options including meaningful examples, you might just want to run luftdatenpumpe --help on your command line or visit luftdatenpumpe –help.
Luftdaten-Viewer displays stations and measurements from luftdaten.info (LDI) in Grafana.
Map display and filtering
- Filter by different synthesized address components and sensor type.
- Display measurements from filtered stations on Grafana Worldmap Panel.
- Display filtered list of stations with corresponding information in tabular form.
- Measurement values are held against configured thresholds so points are colored appropriately.
If you are running Python 3 already, installing the program should be as easy as:
pip install luftdatenpumpe
At this point, you should be able to conduct simple tests like luftdatenpumpe stations as seen in the synopsis section above. At least, you should verify the installation succeeded by running:
However, you might have to resolve some prerequisites so you want to follow the detailed installation instructions at install Luftdatenpumpe.
Using Luftdatenpumpe, you can build user-friendly interactive GIS systems on top of PostGIS, InfluxDB and Grafana. We are calling this “Luftdaten-Viewer”.
Without further ado, you might enjoy reading about existing “Luftdaten-Viewer” installations at Testimonials for Luftdatenpumpe.
These installation instructions outline how to setup the whole system to build similar interactive data visualization compositions of map-, graph- and other panel-widgets like outlined in the “Testimonials” section.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program; if not, see: <http://www.gnu.org/licenses/agpl-3.0.txt>, or write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size luftdatenpumpe-0.20.2.tar.gz (65.7 kB)||File type Source||Python version None||Upload date||Hashes View|