ArcGIS API for JavaScript の最新バージョン 4.12 およびバージョン 3.29 の国内サポートを開始しました。以下では、バージョン 4.12 のパフォーマンスの向上をはじめとした主な新機能・機能拡張をご紹介します。
バージョン 4.12
パフォーマンスの向上
バージョン 4.12 では全体的にマップのロードが高速化しました。具体的な改善点を以下に紹介します。
- ベクター タイル レイヤー: リクエストの並列化やタイル処理の最適化を含むベクター タイル フェッチの改善により、ベクター タイル レイヤーのロードが 50% 速くなりました。
- フィーチャ レイヤー: ジオメトリの測量方法を最適化することにより、ジオメトリの精度を最大限保ったままフィーチャ レイヤーのレンダリングが可能になりました。
- ライン データ: ラインを処理する際にコールされる関数の数を最小限に減らすことにより、ラインの処理スピードが大幅に向上しました。また、細いラインをレンダリングする際は、通常のラインより頂点数を減らすことによってレンダリングの処理を簡素化しています。
- 属性変更時のマップの更新: レンダラーに使用している属性データを変更した時に、ちらつくことなくマップが迅速に更新されるように改善されました。
- 3D シーン: i3s 仕様のバージョン 7 (ArcGIS Pro 2.4 と ArcGIS Online で対応) のアップデートにより、3D オブジェクトと統合メッシュ レイヤーが最大 4 倍高速でロードされます。さらに、新しいクライアントサイドのキャッシュ メカニズムにより、3D シーンを表示する際にデータが表示されない領域を削減できます。
以下の図はフィーチャ レイヤーのレンダラーを変更した際のバージョン 4.11 と 4.12 の比較です。
今後のバージョンアップでも、初期ロードとレンダリングの両方の観点でパフォーマンスは向上し続ける予定です。
タイムスライダー ウィジェットと時間対応
新しく追加された TimeSlider ウィジェット (ベータ) を使用して、時間データを視覚化するアプリケーションを簡単に作成できるようになりました。再生ボタンをクリックまたはスライダーを操作して、時間によるアニメーション表示が行えます。
また、2D MapView または 3D SceneView に時間の表示範囲を設定する機能が追加されました。ビュー内にある時間対応レイヤーは、設定された時間範囲内のデータのみが表示されます。
2D ベクター シンボル
2D MapView で利用可能な Web スタイル シンボル (WebStyleSymbol クラス) が追加されました。すぐに利用可能な 100 個以上のシンボルが用意されています。また CIMSymbol クラス (ベータ) を使用すると、図形、テキスト、サイズ、色、透明度などを構成していくことで、カスタム シンボルを柔軟に作成できます。
サンプル アプリケーション (WebStyleSymbol (2D))
サンプル アプリケーション (CIMSymbol)
ビルディング シーン レイヤーのフィルター
建物の 3D モデルを表示できる BuildingSceneLayer で属性値を使用したフィルタリングの機能が追加されました。これにより、設備や建築材料を強調表示したり、建設状況を視覚化したりするアプリケーションを作成できます。
3D クライアントサイド クエリ
2D MapView と同様に、3D SceneView 上のシーン レイヤーとフィーチャ レイヤーを使用してクライアントサイドのクエリを実行できるようになりました。これにより、ユーザーがインタラクティブにフィーチャを選択し、空間および属性条件式を使用して高速に統計情報を表示できるようなアプリケーションを作成できます。
各種スライダー ウィジェット
スライダーを使用した以下のスマートマッピング用のウィジェットが追加されました。
- ClassedColorSlider (クラス分類を色で可視化)
- ClassedSizeSlider (クラス分類をサイズで可視化)
- ColorSlider (属性値を色で可視化)
- SizeSlider (属性値をサイズで可視化)
- ColorSizeSlider (属性値を色とサイズで可視化)
- OpacitySlider (属性値を透過度で可視化)
- HeatmapSlider (ヒートマップ)
これらのウィジェットを使用して、属性値に応じて色、サイズ、透明度を変更してデータの可視化が行えます。また、スライダーの基本機能を提供する Slider ウィジェットを使用してスライダーを拡張したカスタム機能やウィジェットを作成することもできます。
日付型フォーマットの更新
日付と数字のフォーマットが更新されました。これにより、使用しているブラウザーのロケールの形式で日付が表示されるようになりました。PopupTemplate を使用してポップアップを表示する場合も、ブラウザーのロケールに適した形式で日付型フィールドの属性値が表示されるように更新されています。
また、新しく追加された esri/intl クラスを使用して、年月日や曜日を記号や文字で表現するかどうかなども設定できるようになりました。
API の進化
API と Web ブラウザーの進化により、他のライブラリを使用する代わりに Web ブラウザーで利用可能なネイティブ機能の使用を拡大することで、API のライブラリのサイズを小さくし、ロード パフォーマンスを向上させることができます。具体的には以下のようなものが挙げられます。
- コードベースの 93% は TypeScript で記述されています。
- esri/request は、Fetch API を内部的に使用してリソースを要求します。
- API のほとんどの非同期メソッドは、AbortSignal 型のオプションのシグナル パラメーターをサポートするようになりました。詳細については、非同期メソッドのキャンセル (英語) を参照してください。
- 新しく追加された数値と日付の書式設定モジュールである esri/intl は、ブラウザーの国際化 API を利用しています。ロケール、地域、および 24 時間または 12 時間の時刻形式に基づいて日付、時刻、および数値をフォーマットするための関数が含まれています。
その他にも多くの機能追加・拡張が行われています。詳細については、以下の新機能ページや動画も併せてご覧ください。
・バージョン 4.12 新機能 (ESRIジャパン / 米国 Esri 社)
・バージョン 3.29 新機能 (ESRIジャパン / 米国 Esri 社)
・YouTube 動画: What’s new in the ArcGIS API for JavaScript 4.12 Release!
注意事項
ArcGIS API for JavaScript バージョン 4.12 で作成した 2D アプリケーションを Web ブラウザーで実行した際に、特定のグラフィックカードが搭載されたマシンで、FeatureLayer や GraphicsLayer 上のフィーチャ/グラフィックが表示されない現象が発生する場合があります。問題の詳細は ESRIジャパンのサポート サイトをご覧ください (要ログイン)。
■関連リンク
ESRIジャパン Web サイト:
・ArcGIS API for JavaScript
米国 Esri 社 Web サイト:
・ArcGIS API for JavaScript (バージョン 4.12)
・ArcGIS API for JavaScript (バージョン 3.29)