IoT データを「ノンコーディング」で地図上に可視化しよう!

2269
0
07-04-2018 06:21 PM

IoT データを「ノンコーディング」で地図上に可視化しよう!

はじめに

 

 前回の記事では、IoT プラットフォームである SORACOM と ArcGIS Online を連携させる方法についてご紹介しました。具体的には、GPS  トラッカーから 3G 通信で SORACOM までデータを送信し、データ転送サービス 「SORACOM Beam」 から Amazon Web Service (AWS) にデータを転送後、さらに AWS Lambda ArcGIS Online REST API を叩いてデータを登録する、という流れです。

 上記方式の場合、データ連携が自動化され、リアルタイムにデータが追加されていく点で優れていますが、AWS の設定やコーディングが必要なため、実装のハードルが高いかもしれません。

そこで今回は、データ連携の自動化までは出来ませんが、ArcGIS SORACOM を活用して、ノンコーディングで簡単に IoT データを地図上で可視化する方法をご紹介します。IoT と位置情報の活用を検討されている企画担当者の方や営業担当者の方でも、まずは手軽に試してみることが可能です。

 

 

全体の概要

 

 今回は LPWA (消費電力を抑えた遠距離通信技術)の一つである Sigfox を利用して、デバイスで検知した温度のデータを送信し、データをダウンロードしてから地図上での可視化を試します。

 まずは、SORACOM が提供する Sigfox を利用した通信サービス、「SORACOM Air for Sigfox」 を利用し、デバイスで取得したデータを SORACOM プラットフォームまで送信します。次に、送信されたデータの簡易な可視化・蓄積・ダウンロード等が可能なサービス、「SORACOM Harvest」 を活用し、CSV 形式でデータをダウンロードします。最後に、Excel でデータを加工し、Excel のアドイン製品である ArcGIS Maps for Office を活用して Excel 上でそのまま地図上に可視化します。

 

 

事前準備

 

今回紹介する方法では、以下の準備が必要です。

 

SORACOM の提供する Sigfox を利用する通信サービスや、Sens’it の設定の詳細については、それぞれソラコム社の該当ウェブページデバイスのセットアップページに詳しく説明されているのでご参照ください。

デバイスのセットアップが完了し、SORACOM までデータが送信されたことが確認できたら、次は SORACOM Harvest からデータをダウンロードします。

 

 

SORACOM Harvest からデータをダウンロード

 

SORACOM Harvest を利用することで、センサーで取得したデータを収集・蓄積し、簡易な可視化や、データのダウンロード等ができます。

SORACOM のコンソールにログイン後、左上の 「Menu」 アイコンをクリックし、「Sigfox デバイス管理」 を選択します。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

データを可視化したいデバイスの ID にチェックを入れ、「操作」 から 「データを確認」 を選択します。

 

 

 

 

 

 

 

 

 

 

グラフが表示されるので、その下の 「データ」 タブから 「ダウンロード」 を選択し、CSV 形式で任意のディレクトリにダウンロードします。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

データに緯度・経度を付与する

 

 Sens’it では位置情報は取得できない(※)ため、事前にセンサーを設置した場所の緯度経度を定義しておき、センサーの ID と紐づけて付与します。

まずはダウンロードした CSV ファイルを Excel で開きましょう。次に、新しいシートを開き、シート名を 「DeviceLocation」 と名付けます。名前をつけたら、デバイス ID とそのデバイスに紐づく緯度経度の表を作成します。

※ Sigfox Geolocation オプションサービスを利用するとデバイスの位置情報が数 km 程度の精度で取得できるようですが、SORACOM Air for Sigfox は Geolocation オプションには対応していないようです。

 

デバイス ID は SORACOM のコンソールからコピペしましょう。緯度経度は ArcGIS Online の Web マップを開き、計測ツールから「位置」を選択した後、任意の場所をクリックすると緯度経度を調べることができます。今回は ESRIジャパンの東京以外のオフィスに Sens’it を設置したことにしました(※)。

※ Sigfox 通信のカバレッジは Sigfox の Web サイトで確認してください。

 

表を作成したら元のシートに戻り、「lat」 列、「lng」 列に以下の関数を入力し、一番下までコピーします。既に入っている値は無視して構いません。

 

lat   = VLOOKUP (B2, DeviceLocation!$A$2:$C$501, 2, FALSE)

lng  = VLOOKUP (B2, DeviceLocation!$A$2:$C$501, 3, FALSE)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 処理の内容としては、vlookup 関数で「__resourceId」 (デバイス ID) 列の値を参照し、事前に作成した表のデバイス ID 列を検索して、紐付いている緯度、経度の値を返しています。緯度・経度がきちんと入力されたら Excel ファイルとして保存しておきましょう。

 以上でデータの準備が終わりました。次は ArcGIS Maps for Office でデータを地図上に可視化します。

 

 

ArcGIS Maps for Office

 

 ArcGIS Maps for Office をインストールすると Excel に ArcGIS Maps というタブが作成され、ArcGIS へサインインできるようになります。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 サインインしたら「マップの追加」をクリックし、位置情報から「座標」を選択後、経度と緯度の入力されている列を指定します。

その後、可視化したいデータの列を選択し、続いてどのような表現で可視化するかを選択します。今回は温度の格納されている TempC 列を選択し、シンボルのサイズで温度の高低を表現することにしました。

 これだけで、簡単に IoT データを地図上で可視化できてしまいます。さらに各地点のデータ数の密度をヒートマップで表現したり、クラスタリングでまとめたりすることも可能です。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ArcGIS では豊富な背景地図も用意しています。例えばデザイン性を重視した地図を作成するのであれば、ダークグレイの背景地図を選択することも可能です。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Web上に共有してWebアプリを作成

 

 今回は詳細について触れませんが、基本的な地図のデザイン等が決まったら、作成した地図を ArcGIS プラットフォーム Web 上で共有することも可能です。ArcGIS では Web アプリ作成用のテンプレートも豊富に用意しているので、共有されたデータや地図を使って Web アプリもノンコーディングで作れます。下記の Web アプリではデバイスで取得された温度と湿度の平均値をグラフで可視化するウィジェットと、最大値・最低値などをサマリーとして表示するウィジェットを配置しました。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

まとめ

 

本格的な IoT システムの構築は簡単にはできませんが、ArcGIS SORACOM を組み合わせることで、ノンコーディングで IoT データを地図上で可視化することができました。豊富なAPI SDK で自由にカスタマイズできるところも ArcGIS の魅力ですが、こうして簡単に IoT データの可視化や分析ができる強みも持っています。コーディングが苦手な方はもちろん、開発者の方にも、いきなりシステムを組み上げるのではなく、まずはスモールスタートで試してみたい場合におすすめです。

 IoT のデータを地図上で表示・分析したいといったニーズは、非常に増えてきており、ArcGIS と IoT を用いたビジネスの事例や活用例を、弊社 Web サイトに掲載しています。また、SORACOM と ArcGIS の連携については、7月12日に開催されるセミナー 「ここまでできる!ArcGIS で実現する IoT×GIS システム連携」 でも詳しくご紹介する予定です。興味のある方は是非ご参加ください。

 

■関連リンク

Version history
Last update:
‎11-12-2020 11:05 PM
Updated by:
Contributors