オルタナティブ・ブログ > イメージ AndAlso ロジック >

ヴィジュアル、サウンド、テキスト、コードの間を彷徨いながら、感じたこと考えたことを綴ります。

南海地震に備える(5)Windows ストアアプリ「南海トラフ近辺潮位予測」を作ってもらった。

»

前回の「南海地震に備える(4) 潮位は予測の決め手になるか?」で、高知新聞刊 「南海地震は予知できる 地震が残した証拠品」という本を紹介した。 同書を読むと、昭和南海地震の際、明らかにそれと分かる前兆現象があったことが分かる。 地震が起こる3~4日前から潮のくるいがあり、室戸市室津では、地震前夜に、大きく潮が引いていたという証言があるのだ。

私は、潮位については、気象庁の「潮位観測情報」を一日二回チェックしているが、見に行かなくても指定潮位以下になったときに知らせてくれる方法があると便利である。そこへ、相方が、アプリのネタがネタが......と言っていたので、企画案を書いて相方にメールした。

私は観測潮位の情報を利用した「南海トラフ近辺潮位ガイド」を考えていたが、相方がbingったところ、潮位予測情報しか見当たらなかったそうで、「南海トラフ近辺潮位予測」というアプリになった。

私が依頼して半日後に形になり、翌日に認定されている。

Windows ストアアプリ「南海トラフ近辺潮位予測」

先に書いた通り、
・利用できるAPIは潮位予測であって、現時点での観測潮位ではない。
・同じ室戸市でも、潮の状態は異なる場所がある。

この2つの理由から、避難を判断する情報として使えるわけではないと思う。 が、しばしば眺めることで、防災意識を維持することにはつながるかもしれない。

ちなみに、どういうやりとりをしているのか、関心のある人もいると思うので。 相方に宛てたメールの内容を、ママ載せてみる。

昨日のブログに書いた、南海地震の11時間~数時間前に室戸の潮位が下がる件。

趣味の釣りや航海関係のアプリで利用されている、潮汐データAPIがある。
もし、利用して問題なかったり支障なさそうなAPIがあるなら、アプリになる。
私は気象庁のを見に行ってるけど、データは、気象庁というより、
海上保安庁水路部から出ているようだ。

相方はグラフ表示処理は面倒くさいだろうから、音声を使って、案内をしたらどうか。
南海トラフ近辺の高知県の3か所の観測地点から、
ユーザーがあらかじめ一か所を選択。
設定しておいた潮位以下になった時、下回ったよと音声で案内するアプリ。

「潮汐API」で、bingったら、いろいろある。
有償と無償の範囲とか免責とか調べないと使えるかどうか分からないが。
ゲットすべきデータは、port_nameとtideデータだが、
tideの時刻データと潮位データを取得しやすい構造の
XMLを提供しているAPIがあるといいな。

南海地震関連なら、全国の潮位は必要ない。高知県の3か所だけでいい。
また、グラフ表示も必要ない。

■タイトル
「南海トラフ近辺潮位ガイド」

■免責事項
本アプリは、日ごろの防災意識の維持を目的として開発されました。地震を予知する目的ではご利用になれません。

このアプリは予告なく公開を取りやめる可能性があります。
また、APIサービスの中断または停止、ユーザーの利用によって生じるいかなる損害に対しても、開発者は賠償責任を負いません。

■機能
潮汐APIのXMLデータから高知県の3か所の潮位を取得して表示。

ユーザーがあらかじめ選択しておいた観測地点において、設定しておいた潮位を下回った時、音声で案内。

■お知らせ設定
観測地点:「土佐清水」「室戸岬」「高知」から選択。

お知らせ潮位:「-80」から「-160」まで、-20刻みで選択させて、設定。

※私が気象庁のデータを見ている限りでは、通常、-90~90の範囲に収まるようだ。

■音声 on / off 切替
※onにしておくと、設定した「観測地点」の潮位が「お知らせ潮位」以下になったとき、音声で「(お知らせ潮位)以下になりました。現在の潮 位は○○です」と案内。

■表示
「土佐清水」「室戸岬」「高知」の数値をリスト表示。

通常、相方にプログラミングを依頼するときは、アプリの企画や概要を書き、画面遷移を描き、XML設計をし、素材を作り、必要であれば一部コードも書いてから、相方に引き継ぐが(画面の色やレイアウト指定が必要なケースでは、プログラムができた後でプロジェクトファイル一式を私が引き継ぐ。これはおそらくはデザイナーとプログラマーのデフォルトのコラボ方法ではない)、このアプリは、機能も処理も簡単なので、上記のようなテキストをメールしただけである。二人ともマイクロソフト大好きで、開発環境や動作環境のすり合わせから始める必要がないので、サッサと進むのである。

Comment(0)