APIデータマッピング
MapForceを用いたWebサービスデータの統合は、分析やユーザーフレンドリーなレポート作成のために、タイムリーな情報を収集するための、一般的で実績のある手法です。以前の記事では、多忙な港湾地域における5日間の天気予報のために、WebサービスデータをJSON形式で読み込み、詳細な形式のExcelスプレッドシートにマッピングするAPIデータのマッピングについてご紹介しました。今回使用した天気予報APIは、OpenWeatherが提供しており、過去のデータ、現在のデータ、および天気予報データを提供しています。
しかし、どのAPIからのデータ統合も、一度設定すれば終わりというものではありません。外部データに基づいてソリューションを構築する場合、データ構造が変更された際には、迅速に対応する必要があります。私たちの初期の統合プロジェクトにおいて、OpenWeatherが提供するAPIのデータが変更されました。現在、APIは風速とは別に、JSON形式で突風の予測データを提供しています。最近のスエズ運河の閉鎖の原因の一つとして突風が疑われているため、この新しいデータは私たちのアプリケーションにとって非常に重要です。幸いなことに、MapForceのデータマッピングとExcelのスプレッドシートは、新しいデータを追加するために容易に修正できます。

APIのデータマッピングを変更する前に、新しいExcel出力における変更点を理解する必要があります。以下に、5日間の予測における新しい主要テーブルのセクションを示します

スプレッドシートの作成者は、予測された風速データに対して、風向データの間に新しい列を追加し、それぞれの予測における予想される突風の情報を表示するようにしました。
スプレッドシートのヘッダー部分にもいくつかの変更が加えられています。風速グラフには突風速度を示す線が追加され、港の地理座標が追加され、さらに5日間の予測期間における最大突風速度が報告されるようになりました。

ワークシートに「現在の船舶活動を表示」という名前の新しいボタンが追加され、それをクリックするとウェブページが開きます。商用船舶はすべて、衝突回避や航海図作成のために、船舶の位置情報を継続的に送信する自動船舶識別システム(AIS)のトランスポンダを搭載しています。MyShipTracking.comは、数多くのウェブサイトや企業の一つであり、AIS技術を利用してリアルタイムのAISデータを配信し、船舶が世界中でどのように移動しているかをより深く理解できるよう支援しています。
スプレッドシート内のボタンをクリックすると、myshiptracking.com のページが開かれ、そのページには、位置情報に基づいて近い場所での活動状況が表示されます

これらの機能改善を実現するためには、データマッピングにわずかな修正が必要です。具体的には、テーブル内の適切な場所に突風のデータを挿入し、地理座標をマッピングする必要があります。
まず、ブラウザウィンドウ上で天気予報APIを手動で実行し、風速のデータを含む新しい応答例を取得しました。次に、XMLSpyを使用して、APIの結果に対応する新しいJSONスキーマを作成しました。新しいJSONスキーマを元のファイル名で保存すると、APIデータのマッピングにおいて、自動的に「Gust(突風)」という項目が「Response(応答)」に追加されます。

元のデータ座標に付与されているラベルにより、Excelのスプレッドシートに新しい「Gust」列を挿入する適切な場所を簡単に見つけることができます

コンテキストメニューから「セルを追加(挿入)"を選択すると、詳細情報を入力するためのダイアログが表示されます

MapForceは、K列とL列の関連付けを自動的に維持してくれるため、J列との関連付けのみを設定すれば済みます。
スプレッドシートにおける緯度と経度の新しい座標は、それぞれG5セルとI5セルに記載されています。各港の座標は、APIから天気予報のデータを取り出す際に使用するため、すでに元の港の一覧に記載されています。これらのセルのアドレスを、対象となる一覧の最後に追記しました。
以下は、MapForceのマップ変換ウィンドウにおける修正されたマップ設定の画面です。新しい接続部分(突風予測用)が強調表示されています

最後に、要求リストにスエズ運河と、ヨーロッパの主要な港湾都市をいくつか追加しました。XMLSpyを使用して、元のJSONファイル(要求リスト)を編集し、新しい港湾情報を追加しました。以下に、APIデータマッピングに使用する新しいJSONファイルを示します。このファイルは、XMLSpyのグリッドビューで確認できます

マッピング画面下部の「出力」ボタンをクリックすると、マッピング処理が実行され、最初の出力ファイルを表示する出力ビューが開きます。システムにExcel 2007以降のバージョンがインストールされている場合、MapForceは自動的にExcelを起動し、結果を表示します

ソースリスト内の各ポートについて、結果が生成されています。プレビューのために、どのExcelファイルでも選択できます

プレビューウィンドウにある「現在のポートアクティビティを表示」ボタンをクリックすると、Excelでファイルを直接開いた場合と全く同じように動作します

その結果は、港の緯度と経度に基づいて算出されています

地図上の各点は、AIS(船舶自動識別装置)トランスポンダを搭載した船舶を表しており、リアルタイムで情報が送信されています。さらに、結果の検証のために、他の出力ファイルを確認したり、別の港の情報を確認したりすることができます。以下は、ドイツのハンブルクの地図です

赤い点はタンカー、緑色の点は貨物船を表しています。どの点をクリックすると、その船舶の詳細情報が表示されます

最新情報を入手する ウェブサービスの統合に関する元の投稿, 短い動画を見る ビデオデモ MapForceの、または 無料トライアル版をダウンロードする APIデータのマッピング、またはその他のデータ統合、変換、加工作業を始めるにあたり、チュートリアル、ヘルプ、そして豊富なサンプルをご用意しています。ぜひ、これらの資料を活用して、独自のプロジェクトを始めてください。