ArcGIS API for JavaScript の最新バージョン 4.7 およびバージョン 3.24 をリリースしました。以下では、本バージョンにおける新機能、機能拡張の一部をご紹介します。米国 Esri 社が公開しているサンプル アプリのリンクも掲載していますので、ぜひ最新の機能をお試しください。
バージョン 4.7
WebGL レンダリングの機能向上
2D マップにおいて WebGL を使用したフィーチャ レイヤーの描画パフォーマンスが効率化され、よりシームレスにマップを操作できるようになりました。WebGL は Web ブラウザーを通して GPU へアクセスし、3D 描画などの高度なグラフィックス処理を実現する API です。WebGL を使用することで、より多くのデータを素早くマップに表示できるようになるほか、可視化したデータの更新もスムーズに行えます。
また、FeatureLayerView (esri/views/layers/FeatureLayerView) のクエリ機能に対応しました。サンプル アプリ Query statistics client-side では、WebGL を使用して描画を行うと同時に、FeatureLayerView のクエリ機能を使用してマップの表示範囲内のフィーチャが持つ属性値の統計情報を取得しています。
CSV レイヤーの機能向上
CSV レイヤー (esri/layers/CSVLayer) に以下の機能が追加されました。
- WebGL を使用した描画: WebGL を使用した描画に対応しました (ベータ版)。サンプルアプリ CSVLayer – Project points on the fly では、WebGL を使用して CSV データが描画されています。
- CSVLayer.definitionExpression のサポート: SQL の where 句を使用してクライアント上のフィーチャをフィルタリングする definitionExpression オプションが追加され、任意の条件で指定したフィーチャのフィルタリングが可能になりました。
- CSVLayer.queryFeatures() のサポート: CSV データに対してクエリを実行する queryFeatures() メソッドが追加されました。
- スマート マッピングのサポート: CSV レイヤーがスマート マッピングをサポートできるようになりました。スマート マッピングとは、地図で表現したい属性を指定するだけで、その属性の内容 (文字列、実数、整数等) に応じて適した表現方法を提示する機能です。
3D オブジェクトのエッジ レンダリングの追加
3D オブジェクトをシーン ビューにレンダリングする FillSymbol3DLayer (esri/symbols/FillSymbol3DLayer) および、ExtrudeSymbol3DLayer (esri/symbols/ExtrudeSymbol3DLayer) にエッジ オプションが追加されました。
建物や立ち上げたポリゴンの輪郭を直線 (SolidEdges3D) または手書き風の線 (SketchEdges3D) で強調することが可能になり、3D オブジェクトの表現力が向上しました。
サンプル アプリ Add edges to a SceneLayer では、3D オブジェクトの輪郭を SolidEdges3D や SketchEdges3D、または輪郭なしを切り替えて表示することができ、その違いを体感することができます。
クライアントサイド投影変換エンジンの追加
新しく追加された projection (esri/geometry/projection) は、異なる空間参照へのジオメトリ変換をクライアントサイドで実行します。これにより、データを再投影することが容易になりました。また、ジオメトリ サービスを使用した投影変換と比較して、サービスへリクエストを行わないため、より高速に処理を実行できます。
サンプル アプリ Client-side projection では、10 種類の空間参照の切り替えを試すことができます。
※ projection の利用にはブラウザーが WebAssembly をサポートしている必要があります。
スマート マッピングの機能向上
API では、スマート マッピングを実現する creators メソッドが提供されています。creators メソッドは、可視化するレイヤーとレイヤーに含まれる表現したいフィールドを指定するだけで、フィールドの持つ値をもとに最適なレンダラーが作成されます。
本バージョンでは、creators メソッドを使用してフィーチャ コレクションや CSV レイヤーからレンダラーを作成することができるようになりました。また、Arcade がサポートされ、フィールド名の代わりに Arcade の返す値をもとにレンダラーを作成することが可能です。
サンプル アプリ MapImageLayer – Explore data from a dynamic workspace では creators メソッドを使用して、ダイナミック データ レイヤーから作成されたサブレイヤーのレンダラーを生成する方法をご紹介しています。
バージョン 3.24
クライアントサイド投影変換をサポート
バージョン 4.7 と同様に、クライアントサイドで、異なる空間参照へジオメトリを変換するプロジェクション エンジンを提供する projection モジュールが追加されました。
※ projection の利用にはブラウザーが WebAssembly をサポートしている必要があります。
フィーチャ レイヤーの WebGL レンダリングのサポート
4.x に続き、3.x でもフィーチャ レイヤー (esri/layers/FeatureLayer) を WebGL を使用して描画することができるようになりました。
その他の更新情報や新機能については、ArcGIS for Developers の ArcGIS API for JavaScript 新機能 (英語ページ) (バージョン 4.7 / バージョン 3.24) をご参照ください。
※ベータ版は試用を目的とした公開であり、正式なリリースではありませんので、機能あるいはパフォーマンスについての保証はされておりません。
■関連リンク
ESRIジャパン Web サイト:
・ArcGIS API for JavaScript
Esri 社(米国)Web サイト:
・ArcGIS API for JavaScript (バージョン 4.7)
・ArcGIS API for JavaScript (バージョン 3.24)
Esri Japan GitHub:
・ArcGIS for Developers 開発リソース集