satellite api dashboard
衛星データのAPIをたたいて可視化するダッシュボードを手早く作った
自己紹介
小川 英幸 (@ogawahideyuki)
はんなりPython オーガナイザ
いろいろオンラインでやってます https://hannari-python.connpass.com/
PyConJP2019 / PyCon China Beijing 2019 スピーカ
最近作ったもの:京都のCOVID19可視化アプリ
今回作ったもの
内容
センチネルという衛星のセンサデータを取得しプロット、可視化+テーブルを出力する
https://developers.arcgis.com/ のAPIから無料でデータを取得したかった
取得できる1年分を取得。
https://sentinel-dash.herokuapp.com/
経度緯度を入力してAPIを叩くと、センサのデータが返ってくる
遅い。ほかの作業がてら気になったデータを残すようなものを作りたかった
ノンプログラマの人もdocker入れてたら使える
とか思ったけど。。。
結局ウェブで使えた方が良い
テーブルデータは必要であればダウンロードできる
それだけでかなり便利に
作り方
Github: https://github.com/mazarimono/sentinel_ndvi_app
Dashというフレームワークを使います
Dash 可視化分析フレームワーク
Flask, Plotly. Reactを使って作成されたフレームワーク。インタラクティブな可視化を簡単に作成できるのが特徴
様々なコンポーネントを組み合わせてアプリを作成する
ReactのPythonラッパみたいな感じ
Pythonのみで簡単にウェブアプリケーションが作成できる
requestsでAPIを叩く
それを1年分のデータを取得し、データフレームを作成する
取得したデータを記録するStoreというコンポーネントがあるので、そこにセッションで保有し、使えるようにする。
dash_core_components: Store
デプロイもクラウドで簡単
Procfileを書いてimport os / server = app.serverというのを加えるてherokuにpush
まとめ
データを目で確認したいニーズはある。でもみんなプログラムかけるわけでもない。
そんな時にJupyterで共有とかは結構ハードル高い
そんな時はウェブアプリケーションをちょいちょいと作ってみんなで共有しましょう