投稿者「事務局」のアーカイブ

事務局 について

〒461-0004 名古屋市東区葵2-11-22 403号 特定非営利活動法人ドゥチュウブ内(担当 荒川、落合)

パーソナル型eコミマップ

ミニPC(コンパクト、3万円から5万円)を利用する事で、低価格でインターネットに接続せずローカルエリアネットワーク(LAN)で、手軽に、パーソナルな「eコミマップ」が動作する環境を作成できます。インターネットに接続せずに「eコミマップ」を利用できることから、以下の様なメリットあります。
・個人での利用、eコミマップを手軽に管理することができる
・個人情報をeコミマップに入力して利用する(外部に流出する危険性を減らせる)

<システム構成例>

・ノートPCを利用しLANで利用するケース
ミニPCとは、DHCPを利用する。
※DHCPで接続するにはクロス変換コネクタかクロスケーブルが必要になります。

・ミニPCにディスプレイを接続して、直接eコミマップを利用することも可能です。

・インストール環境

RedHat系のLinuxをミニPC(構成例は後述)にインストールします。
ただしミニPCにLinuxがインストール可能な筐体かどうかあらかじめ確認して下さい。

 ハードウェア環境

名称 ソフトウェア詳細
CPU Intel(R) Celeron(R) CPU
メモリ 4GB DDR3L以上

ソフトウエア環境についてはeコミマップのインストールマニュアルを参照ください。

・背景地図

OpenStreetMap等の無料地図をXYZ形式でキャッシュデータを保存し、オフライン環境での背景地図として利用します。

http://サーバのドメイン/xyz/レイヤID/${z}/${x}/${y}.png

・ミニPC構成例

eコミマップのインストールを行い、動作の確認を行ったミニPCの構成例です。

名称

型番

PC GB-BXi3-5010
SSD SDMSATA-256G-G25C
メモリ4GB×2 KVR16LS11/4

・Gigabyte GB-BXi3-5010
http://www.gigabyte.jp/Mini-PcBarebone/GB-BXi3-5010-rev-10

名称 型番
PC NC01U
XS35V4
Beebox N3150
SSD SanDisk SSD PLUS 120GB
メモリ4GB KVR16LS11/4

・Shuttle NC01U http://shuttle-japan.jp/nc01u/
・Shuttle XS35V4 http://global.shuttle.com/news/productsDetail?productId=1765
・ASRock Beebox N3150
http://www.asrock.com/nettop/Intel/Beebox%20Series/index.jp.asp

本システムは、地域の住民の防災マップ作成練習用、自治区での災害時要支援者管理などに利用されています。特に災害時要支援者管理では、入力編集には使い慣れたエクセルを使い、担当支援者毎にパスワードを変え利用します(全体管理者はすべてのデータの閲覧が可能)。

またミニPC(サーバ)は、災害時などにはインターネットに繋げば、クラウドサーバなどにインストールされたeコミマップと自動同期され、関係者との情報の共有も可能となります。

センサー情報相互運用配信システム について

1.はじめに

センサー情報は、ファイルやメールなど様々な媒体で観測システムより出力されます。これらに対応できるように設定ファイルを介してデータをセンサー情報相互運用配信システム(以下本システム)が解析し、相互運用可能なインターフェースであるSensor Observation Service(以下SOSという)に基づき配信を行うことができます。本システムは、SOS関連のオープンソースのプログラムを開発している52North (5.参考[1]) を利用しています。

本システムと、相互運用gサーバ、eコミマップを利用することにより、ウェブ上で公開されているセンサーデータを国際標準のWebインターフェース(OGC)形式の地図データであるWMSで配信、取得が可能となります。

2.システム間の連携

・本システムは、ウェブ上で公開されているCSV形式のセンサーデータを一定間隔で取得、あるいは、メールで配信されるセンサーデータを受信します。
・取得あるいは受信したセンサーデータをSOS形式でデータベースに格納し、外部からのSOSリクエストに対してSOSレスポンスします。
・相互運用gサーバ(5.参考[2])は、SOSレスポンスを受けてWMS形式でデータを配信します。
・一般的な地図ソフトウェア(ここではeコミマップを利用)においてWMSレイヤを地図上に表示することが可能となります。

3.具体的な利用例

ここでは、具体的な利用例として、Web上に公開されている「ふじのくにオープンデータカタログ」の雨量情報 (5.参考[4]) を取得して地図上に表示します。

3.1 設定

SOS格納配信サーバは、以下の手順を実行してOGC SOS仕様に準じた配信サービスを行います。

  1. 公開されているセンサーデータ(Web上あるいはメール配信)に対して定期的にHTTPアクセスあるいはメールサーバにアクセスして時刻とセンサー値が記述されているファイルを取得する。
  2. 取得したファイルを解析して時刻とセンサー値をデータベースに格納する。
  3. 格納されたデータをOGC SOS仕様に従ったリクエストに対してレスポンスする。

そのため、ファイルの取得先や、ファイル解析時のデータ構造をあらかじめ設定する必要があります。詳細な設定については、「センサー情報相互運用配信システム 配信設定マニュアル」(5.参考[3])を参照してください。

3.2 利用例

1)雨量データ

以下のようなCSVファイルで公開されているデータを配信対象データとします。

obs_time

観測時刻

point_id

雨量観測局番号

rain_10min

10分雨量

(10倍値 mm)

rain_60min

60分雨量

(10倍値 mm)

rain_integ_resetspc

24時間連続雨量

(10倍値 mm)

2014-06-25 15:50:00+09 37 0 0 0
2014-06-25 15:50:00+09 101 70 140 190
2014-06-25 15:50:00+09 102 90 200 250
2014-06-25 15:50:00+09 103 0 20 320
2014-06-25 15:50:00+09 104 100 140 170
2014-06-25 15:50:00+09 105 0 0 20
2014-06-25 15:50:00+09 106 0 10 50
2014-06-25 15:50:00+09 201 0 40 70

2)SOS配信データ

SOSリクエスト例

SOSレスポンス例(抜粋)

 

3)相互運用gサーバのWMS配信データ

4)eコミマップのWMS受信例

4.最後に

「センサー情報相互運用配信システム」は、ウェブ上で配信されているCSVのデータフォーマットあるいはメールで配信されるデータフォーマットを設定ファイルで定義することで様々なデータフォーマットに対応できるように考慮しています。

これにより

・センサーデータ情報をOGC形式で共有可能
・共有したセンサーデータ情報を判断、意思決定に利用可能
・共有したセンサーデータ情報を加工し、SNSに発信可能

となります。また、昨今話題のモノのインターネット(IoT)にも利用できるため今後活躍の場が広がっていくと思われます。

5.参考
[1]52 North  http://52north.org/
[2]相互運用gサーバ https://ecom-plat.jp/group.php?gid=10459
[3]センサー情報相互運用配信システム 配信設定マニュアル
https://ecom-plat.jp/index.php?gid=10471#sensor
[4]ふじのくにオープンデータカタログ 雨量情報
http://sipos.shizuoka2.jp/rain-river/DownLoad.html?type=rain&mode=list

eコミマップを利用しての時系列空間表示(津波アニメーション)

「eコミマップ」の時系列空間表示機能を利用して作成された「三重県・三重大学 みえ防災・減災センター」の「津波浸水アニメーション」を紹介します。

「三重県・三重大学 みえ防災・減災センター」では、「eコミウエア」を活用して、「みえ防災・減災アーカイブ」など様々なサイトを構築しています。 その一つとして「eコミマップ」の時系列空間表示機能を利用して、地震発生から津波による浸水想定のシミュレーションの視覚化を行い、その結果も公開しています。

平成24年度に国より公表された南海トラフ巨大地震の被害想定などを参考に、三重県地震被害想定結果(平成25年度版)の想定プロセスで得られた時系列浸水深変化のデータを利用しています。

三重県時系列津波浸水マップでは、三重県全域の海岸線における6時間分(8秒間隔)の津波浸水シミュレーション結果の時系列表示と、任意の範囲の津波浸水をアニメーションで表示するGIF画像出力を行います。

津波浸水深シミュレーション結果の表示

津波浸水深メッシュデータは解像度毎に作成され、810m解像度から10m解像度まで5段階あるため、時系列スライダーには5段階分の時系列が設定されています。地図画面の縮尺バーを操作することで、自動的に表示される津波浸水深メッシュのレイヤが切り替わります。
広域表示では、地震発生から津波の発生、伝播の状況を確認できます。

地図を拡大することで地域ごとの津波到達時間の把握を行えます。この例では津波発生から14分後に堤防に到達し(左図)、15分後に津波浸水が発生しています(右図)。

 

津波浸水アニメーション作成

地図画面の下部にある「アニメーションボタン」からアニメーション作成画面が表示されます。

アニメーション作成画面は地図で表示されていた範囲が表示されます。

・作成範囲

 アニメーションのさくせいする範囲を指定します。座標を直接入力するか、地図画面で

をクリックして地図上から選択します。

・画像サイズ
出力するGIF画像の縦・横サイズを指定します。

・凡例印刷位置
出力するGIF画像に津波浸水深の凡例を印刷する位置を設定します。

・アニメーション開始時刻
地点によって津波の到達時刻が異なりますので、スライダーのタブを移動してアニメーションの作成開始時刻を設定します。

・取得する時間設定
津波浸水深データを取得する時間間隔と取得時間を設定します。

・画像の切替間隔
アニメーションGIF画像の画像切替時間を設定します。

・アニメーション作成
設定に従ってアニメーションGIFの作成を開始します。

作成の進捗バーが表示され、作成が終了すると「ダウンロード」が表示されます。
ダウンロードしたGIF画像は画像ビューワー等で表示して下さい。

(参考) 三重県・三重大学 みえ防災・減災センター
みえ防災・減災アーカイブ」は、災害記録、被災者の証言インタビュー(動画)などをアーカイブ、「地図で見る災害の歴史」では「eコミマップ」がアーカイブデータ(動画など)と連携しています。「津波浸水アニメーション」でも「eコミマップ」の時系列管理機能が利用されています。

eコミマップを利用しての時系列空間表示(時系列スライダー)

 「eコミマップ」には、マップに登録するデータ(登録情報、主題図)に時間情報を付加することができ、指定した日時に存在するデータのみをマップ表示する機能が用意されています。

 時間情報を付加された登録情報、主題図のマップのレイヤ表示を選択をすると、マップ画面に時系列スライダー(以下スライダーと略)が表示されます(下図、画面中央上)。
下図例は、主題図(刻々と変化する「降雪量」)の上に登録情報(点、面)を重ねたマップのサンプルです。

 

 スライダーにある登録情報の「表示日時を指定」にチェックを入れることで、登録情報の表示日時の変更が可能となります。日時の指定は、日時を表示しているカラム横の▼をクリックして日時選択を行うか、スライダーのつまみを移動することで行います。

 スライダーで表示日時を変更することで、登録情報に付加された日時範囲と一致するデータがマップ上に表示されます。表示指定日時の変更により登録情報(下図の例ではアイコンデータ(×印))が変化します(画面左下)。すなわちデータの発生、消滅の管理ができるようになっています。

 

 同じように、時間情報を付加された主題図も、スライダーで選択した日時に最も近い日時のデータが表示され、時間とともに変化します。また「登録情報と連動」にチェックを入れると、「登録情報」に近い主題図が連動して表示されます。

 

 なお、スライダーは、データが存在する日時は橙色で表示され、マップ表示している日時は青色で表示されます。スライダー横の拡大鏡アイコンをクリックするとスライダーの時間範囲の拡大縮小ができます。また主題図の「期間」にチェックを入れる事で、期間指定で主題図の日時を指定でき、期間に含まれる全てのデータがマップに表示されます。

上記で説明した時系列データの管理機能を利用するにあたっては、「eコミマップ」の管理画面で設定が必要となります。

1.「eコミマップ」管理画面で「登録情報」のタブをクリックします。
2.登録情報履歴の設定を行う登録情報の「項目設定」ダイアログを開きます。
3.「時系列管理」の「時系列履歴管理を有効にする」にチェックを入れ「項目を更新」をクリックします。

4.再度、「項目設定」ダイアログを開き、「時系列管理」が「時系列履歴管理は設定済みです。」と表示されれば設定は完了です。

「登録情報」のマップ登録と時間データ編集

1.登録情報のレイヤを「項目追加」をクリックし作成し、レイヤ作成後データを登録します。
2.マップ上で登録したデータをクリックして、吹き出しを表示します。吹き出し内のメニューから「時系列履歴一覧」を選択します。

3.以下の表で時系列履歴の編集を行います。

「開始日時」と「終了日時」はマップで表示される日時範囲を設定します。「infinity」はそれ以降、「-infinity」はそれ以前の日時で常に表示されます。日時を変更すると新しいデータとして管理されます。

4.「時系列履歴追加・削除」から「登録・編集ウィンドウ」を表示し、データの「履歴追加」、「履歴更新」を行います。「履歴追加」を行う事で履歴の日時範囲が追加されます。

 主題図設定は少し専門的な知識が必要になります。「主題図」として利用する時系列レイヤは、OGC(地理空間に関する情報の標準化などを推進している非営利団体)が定めたWMS形式で配信されるマップに時間情報を追加して取得を行います。

時系列レイヤについて

eコミマップで利用する時系列レイヤは、OGCのWMS形式で配信される地図に時間情報を追加して取得を行います。
WMS形式で配信するためには別途設定が必要になり(ここでは省略します)、あらかじめ「WMS Capabilities」に時間情報が付加されていること(後述:参考)が必要になります。

設定は下記の通り行います。

1.「eコミマップ」管理画面で、作成した地図の主題図項目画面を開きます。
2.時系列情報を持った「WMS Capabilities」が登録された主題図項目の「項目設定」ダイアログを開きます。
3.「再読み込み間隔(秒)」に時系列情報を持った「WMS Capabilities」の更新間隔を記入します。
4.「再読み込み時にレイヤ情報を更新」にチェックを入れて「項目を更新」をクリックします。

このような時系列管理機能を利用することで、マップ上で、現時点また過去の対応状況を管理する履歴管理マップが作成できます(例えば、災害・事故管理マップ、苦情受付・対応マップなど)また時間遷移のシミュレーション用マップ(津波動的ハザードマップ、アニメーション用マップなど)を作成できます。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー

<参考資料>
WMS Capabilitiesの時系列空間情報サンプル → 参考資料
・ISO8601 https://en.wikipedia.org/wiki/ISO_8601
・OGC Best Practice for using Web Map Services (WMS) with Time-Dependent or Elevation-Dependent Data (1.0)  https://portal.opengeospatial.org/files/?artifact_id=56394

eコミマップのカスタマイズ(REST-APIを使う)

「eコミマップ」には、RESTに準拠したAPIが用意されていており、インターネット経由で「eコミマップ」に登録されているデータの取得や更新をすることができます。

RESTについて

RESTとは、HTTP通信でデータの取得や編集を行うことができる非常にシンプルなインターフェイス仕様で、データ種別やIDによって構造化されたURLによってWebサービスへのリクエストを行います。
基本的なリクエストとして、データ一覧の取得、個別データの取得、データの登録、データの更新、データの削除といった操作を行うことができます。
RESTの仕様によってデータの取得・登録・更新・削除の処理はリクエスト時のメソッドによって振り分けられます。

GET データの取得、一覧取得
POST データの新規登録
PUT データの更新
DELETE データの削除

REST-APIで送受信するデータ形式については仕様上の制限はありませんが、基本的にJSON形式の文字列データを利用することで、Webアプリケーションやスマートフォンアプリから簡単にデータを利用できるようになっています。

「eコミマップ」のREST-API

「eコミマップ」のREST-APIでは以下のデータへのリクエストを行うことが可能になっています。

グループ一覧の取得

サイト内のグループの一覧を取得します。

地図一覧の取得

サイトまたはグループ内の地図の一覧を取得します。

地図の情報の取得・登録・更新・削除

指定したIDの地図の詳細情報の取得、登録・更新・削除を行います。

登録情報項目(レイヤ)の一覧取得、取得・登録・更新・削除

地図内の登録情報項目の一覧を取得します。登録情報項目のデータ処理を行います。

属性情報の一覧取得、取得・登録・更新・削除

登録情報項目内の属性情報の一覧を取得します。属性情報のデータ処理を行います。

描画設定用SLDの取得・登録・更新・削除 (XML形式)

描画設定に利用しているSLDデータのXMLを取得します。

描画設定用アイコン一覧の取得、アップロード

編集権限を持つユーザで認証している場合は、描画設定の編集とアイコン画像のアップロードを行うことができます。

地物一覧の検索、地物の取得

登録情報項目内の地物の一覧を取得します。キーワード条件で絞り込むことができます。指定件数のみ取得ができます。指定したIDの地物の情報を取得することができます。

地物の登録・更新・削除

編集権限を持つユーザで認証している場合は、地物の編集を行うことができます。

地物のファイルアップロード

地物に関連づけるファイルをアップロードすることができます。

RESTでのデータの取得サンプル

サイト1のグループ10の地図一覧取得
リクエスト (GETメソッド)
URL : http://サーバドメイン/map/rest/map/1/10/
レスポンス (地図一覧JSON文字列)

{"total":10,results[
{"date":"2009-06-11 16:22:25","description":"テストマップの説明。","extent":[136.451293945312,34.3160133361816,137.904647827148,35.7693672180176],"mapId":131,"modified":"2014-09-01 21:02:11","status":1,"title":"テストマップ","type":0},
{"date":"2009-06-23 13:37:58","description":"避難マップ\n\n説明。","extent":[136.509689331055,34.313591003418,137.890502929688,35.694408416748],"mapId":135,"status":1,"title":"避難マップ","type":0}
]}

サイト2の地図100のレイヤtestに地点を登録

リクエスト (POSTメソッド)
URL : http://サーバドメイン/map/rest/feature/2/100/test/

送信データ

{"wkt":"POINT(135.0 35.0)","properties":{"attr1":"属性1"}}

レスポンス (登録結果のJSON文字列)

{"timestamp":12345678, "result":{"fid":1}}

REST-APIを利用したカスタマイズ

・JavaScriptで作成したWebアプリケーション

専用のアプリケーション画面で「eコミマップ」の情報を利用することができます。アプリケーションは「eコミマップ」と同じサーバ上に配置し、編集を行う場合は事前に「eコミマップ」にログインする必要があります。

タブレットからの利用を想定した「簡易画面」は、JavaScriptとREST-APIのみで実装されており、地点の登録だけでなく、登録情報の追加や描画設定もできるようになっています。

・タブレットアプリからの利用例

Android等のスマートフォンのアプリケーションからREST-APIを利用して「eコミマップ」にデータの登録を行います。アプリケーションのためオフラインでの情報登録といった用途での利用が可能になります。アプリからの認証はOAuth2を利用することができます。

eコミマップのカスタマイズ(ウィジェットの組み込み)

今回は、まずそのひとつとして「ウィジェット」機能について説明します。今後この「特集」でいろいろな機能を紹介してゆきたいと考えています。

「ウィジェット」とはあまり聞きなれない単語で、かつ定義も専門的なものになってしまいますので、ここではアプリケーションのショートカット的な役割を果たしてくれるものとしておきます。

「eコミマップ」のマップ画面で具体的に説明します。「eコミマップ」のマップ画面の右のメニュー(サイドバー)の部分は「ウィジェット」用のエリアです(下図参照)。

標準として、メモ描画、広域図、マップ情報、マップ表示ブックマーク、距離面積計測、簡易検索、HTMLなどの「ウィジェット」が組み込まれています。例えば距離面積計測「ウィジェット」は地図上で位置(点、線、面)をクリックすると、距離や面積を計算した結果を表示するものです。

同じように自分自身でプログラムを組んでサイドメニューに組み込むことができます。作成したプログラムは「eコミマップ」本体の複雑なコードには関係なく、独立したファイルとして作成することができ、作成したウィジェットは、「eコミマップ」の管理画面から設定を行うことが可能です。例えばルート探索や解析・シミュレーションなど、独自の計算を組み込むことが可能です。

またウィジェットのHTMLを有効にし、ウィジェットエリアにマップの説明を表示する、といった使い方もできます。

管理画面にあるメニュー「ウィジェット」管理画面を以下に示します。標準として組み込まれている「ウィジェット」のリストが表示されます。

管理画面で、「eコミマップ」全体としての「ウィジェット」有効/無効が設定でき、各マップの「配置設定」メニューで、マップ毎の「ウィジェット」設定ができるようになっています。設定項目としては名称、利用有無、初期状態の展開表示有無などがあります。

自身で作成したプログラムソースコード(「ウィジェット」表示用のHTMLを出力するJSPファイル等)は、サーバ内の「eコミマップ」をインストールしたフォルダ配下の「ウィジェット」用フォルダに格納します。また、併せてデータベースへの設定も必要となります(データベースの設定内容の詳細は「eコミマップ」の詳細設計書を参照ください)。

名称、利用有無、初期表示状態の展開の有無以外にも設定項目を追加する事ができます。 次ページのHTMLウィジェット設定部分ではHTML欄のテキストボックスを追加しています。

また、独自開発の解析・シミュレーションなどは、「eコミマップ」のサーバとは別のサーバで処理させ、サーバ連携させることも可能です。独自データベースで複雑な処理をさせる場合などは、このような相互運用型の方が管理上便利と思います。しかしながらサーバ間通信や同期制御など技術的に専門性が要求されます。

このように、簡単なカスタマイズは「ウィジェット」機能を利用して「eコミマップ」に組んでみたらどうでしょうか。