2019年11月1日金曜日

河川水位情報を使い易くするスマホアプリの作成(2)

[本アプリの改訂版(機能見直し版)のソースプログラムはここに公開しています。]

 前回の記事は、河川水位情報をスマホから見やすくするアプリの作成でした。単なるブックマーク用アプリ、と言えなくもない単純なものですが、それでも使っているとすぐに不都合点が見つかります。ソフトウェアはいつもそうしたものですね。

前回アプリの不都合点:
  1. 神奈川県内の河川では、あるコード体系でライブカメラ画像にファイル名が付与されているので、プログラムでは、コードから画像ファイル名を復元できた。しかし、他の都道府県や地域の河川はそれぞれが異なる命名規則を持つ。
  2. 神奈川県の場合、標準的に3枚の画像(河川写真2枚と水位グラフ)を表示できたが、他県では、それらが揃っているとは限らないうえ、別のタイプの画像もある。
  3. プログラムの造りに少し不満があった。すなわち、複数の画像読み込み要求に応じて、それぞれに個別の受信イベント処理ブロックを作っていた。
今回の改良点:
  1. 元の長いファイル名(URL)をそのまま使い、TinyDBを使って(tag, value)の形式で情報を保持する。すなわち、tagを河川名(観測地点名)とし、valueは画像URLを要素とするリストとした。そして、tagのリストをListpickerに設定した。
  2. これにより、画像の枚数は河川あたり1枚〜3枚まで可変でも不都合がない。
  3. 複数の画像読み込み要求(Web.get)に対する、画像受信イベントを、ひとつのGeneric Blockで処理するように変更した。拡張性と柔軟性を向上させるため。これに関して、前回との比較を図1に示した。

 この改良版で、画像の種類やファイル名の命名規則が異なる全国各地のライブカメラを自由に登録できます。例えば、千曲川沿いの観測点や、北海道釧路川の観測点なども登録してみました。その使用例を図2に示します。


 海外の河川にも、ライブカメラはあります。かなり昔行ったことのあるドナウ川(Neuburg an der Donau)にしてみました。画像取得までに若干時間がかかりますが、少し遅れたリアルタイム画像(毎分更新される)を表示できます。でも、こうして海外河川も入れてしまうと、防災よりも観光となってしまいそうですが、ご容赦下さい。

  

 最後に、傑作画像?を図4に掲載します。ちょっと珍しい場面に遭遇!脚が8本ありますので(一般に昆虫の脚は6本なので)蜘蛛に違いありません。本記事の主題から少し外れていまいますが、図5をご覧下さい。




0 件のコメント:

コメントを投稿