HTML5 は昨年の2014年に勧告され、現在では多くの Web サイトや Web アプリケーションに採用されています。ArcGIS の Web アプリケーション開発用ライブラリである ArcGIS API for JavaScript もまた HTML5 を採用した機能が多く含まれています。本記事では、HTML5 の機能ごとにそれぞれ GIS 機能として実装された例を Esri が提供するサンプル アプリを交えてご紹介していきます(一部、ESRIジャパンが提供するサンプル アプリを含みます)。
■Canvas
Canvas は HTML 要素として採用され、動的な2次元ビットマップ画像の描画を実現します。
ArcGIS API for JavaScript でもいわゆる地図の描画方法や表現に特化した機能として扱われています。
■SVG
前出の Canvas がビットマップ画像であるのに対し、SVG は2次元のベクター画像を担っています。ブラウザー上でアニメーションやインタラクティブなグラフィックを実現します。
ArcGIS API for JavaScript ではクラス自体が SVG によって作成されているわけではなく、主に独自のシンボル表現やグラフィカルなアニメーション効果を開発者が必要に応じて SVG を操作して地図に組み込むことができます。
■Geolocation
Geolocation は JavaScript でユーザーの位置情報を扱うための API として提供されています。
位置情報を扱うことから GIS との親和性が高く、ArcGIS API for JavaScript でもクラスとして実装される以前からサンプル コードが提供されていました。実装された機能は現在地表示のためのボタン UI と非常にシンプルです。
■WebSocket
WebSocket は双方向通信用を実現するプロトコルとして提供されています。サーバー側からのプッシュ送信を可能にするため、リアルタイム性の高いデータ更新を実現します。
WebSocket は配信側のサーバーも対応している必要があるため、ArcGIS for Server のエクステンション製品である ArcGIS GeoEvent Extension for Server とセットで実現します。
[画像]
■Web Workers
Web Workers はシングルスレッドの JavaScript の処理をマルチスレッドで行うための API として提供されています。UI あるいは地図のインタラクティブな操作をブロックすることなく、長時間の処理をバックグラウンドで実行することができます。
ArcGIS API for JavaScript では現在ベータ版として実装されたジオメトリ エンジンがそれにあたり、高度な幾何学演算を非同期で行うことができます。従来サーバー側に任せていた複雑な処理を Web Workers を使ってクライアント側でのバックグラウンド実行を実現しています。サーバー側で処理を行っていた機能が今後クライアント側で行うケースが増えていくかもしれません。
■関連リンク
GitHub:
Esri Japan GitHub:
ESRIジャパン Web サイト:
ArcGIS for Developers:
http://www.esrij.com/products/arcgis/developer/arcgis-online-for-developers/
ArcGIS API for JavaScript:http://www.esrij.com/products/arcgis/developer/arcgis-web-mapping/arcgis-api-for-javascript/
Esri 社(米国)Web サイト:
ArcGIS for Developers: https://developers.arcgis.com/
ArcGIS API for JavaScript:https://developers.arcgis.com/en/javascript/