ArcGIS API for JavaScript バージョン 4.20 およびバージョン 3.37 の国内サポートを開始しました!

Shadow accumulation ウィジェット

ArcGIS API for JavaScript の最新バージョン 4.20 およびバージョン 3.37 の国内サポートを開始しました。以下では、バージョン 4.20 の主な新機能・機能拡張をご紹介します。

■バージョン 4.20

WFS レイヤー

WFS レイヤーは、OGC API – Features の前身である OGC Web Feature Service (WFS) からのフィーチャを可視化することができます。この新しいレイヤー タイプは、一貫したプログラミング パターンで、API の他のフィーチャ レイヤーと同じレベルの機能を提供します。

WFS レイヤーは、WFS 2.0.0 と GeoJSON をサポートし、最大限のパフォーマンスを発揮します。WFS サービスの参照を支援する utility module が付属しています。

WFS レイヤー

サンプル アプリケーション

また、OGCFeatureLayer を Web マップに保存する機能や、WMS レイヤーのディメンションのサポートなど、OGC に関する改良も行われています。

Shadow accumulation ウィジェット

ShadowAccumulation ウィジェットでは、任意の時間範囲と日付で、シーン内の建物やその他の 3D オブジェクトからの影の合計時間を分析できます。閾値などの解析オプションにより、シーンが都市の影の影響規制に準拠しているかどうかを迅速に評価できます。

Shadow accumulation ウィジェット

サンプル アプリケーション

エッジ オフセット

強化された SketchViewModel を使って、ジオメトリの形状を維持したまま、線やポリゴンのエッジを水平方向に押したり引いたりすることができます。

エッジ オフセット

この更新された Sketch in 3D のサンプルでは、 SketchViewModel.defaultUpdateOptions を使用して、エッジオフセットのマニピュレーターを有効にする方法を示しています。

サンプル アプリケーション

 

解析レイヤー (ベータ版)

解析レイヤーは、測定などの API ツールをプログラム的に (ウィジェットを表示せずに) 使用できるようになる新しいコンセプトです。既存のデータやユーザーの対話的な操作による結果を分析の入力として使用することで、どちらも実装することができます。このプロジェクトの初期段階では、測定ポイントをプログラムで提供し、DirectLineMeasurementLayerAreaMeasurementLayer を使って表示することで、3D シーンでカスタムの解析体験を作成することができます。

今後のリリースでは 2D のサポート、より多くの分析ツール、そして結果を Web マップや Web シーンに永続化する機能を追加する予定です。

解析レイヤー

この新しいサンプルでは、AreaMeasurementLayer を使って区画を測定する方法を紹介しています。

サンプル アプリケーション

フィーチャ テーブルとシーン レイヤー

フィーチャ テーブル ウィジェットがシーン レイヤーに対応しました。フィーチャ レイヤーと同じように、シーン レイヤーのフィーチャを表形式で対話的に表示・編集することができます。このウィジェットには、シーン レイヤーと関連するフィーチャ レイヤーが必要です。

フィーチャ テーブルとシーン レイヤー

サンプル アプリケーション

ユーティリティ ネットワーク

今後数回のリリースでは、ユーティリティ ネットワークのサポートを追加するための複数フェーズのプロジェクトに取り組む予定です。今回のリリースでは、第 1 フェーズとして、サブタイプ グループ レイヤーのサポートとシンプルなネットワーク トレースを実装しました。次のフェーズでは、より完全なトレース、サブネットワークの管理、および高度な編集のサポートを追加する予定です。

ユーティリティ ネットワーク

このアニメーションでは、新しいサブタイプ グループ レイヤーを使用することで、個別のレイヤーを使用するよりもパフォーマンスが向上することを示しています。最初のロードとマップのズームにより、リクエストが少なくなり、パフォーマンスが向上します。

サンプル アプリケーション

※ユーティリティ ネットワークは、現時点では国内未サポートです

rest modules

API の rest modules は、機能をよりモジュール化されたアプリ デザインに簡単に組み込むことができ、また、必要なものだけをインポートするため、不要な依存関係を減らすことができます。今回のリリースでは、タスクと関連するサポートクラス (現在は非推奨) の rest modules への移植が完了しました。

rest modules は単なる関数なので、そのメソッドをすぐに使うことができます。また、モジュール化されているため、モジュール全体をインポートするのではなく、rest modules の 1 つまたは複数のメソッドだけをインポートすることができます。これにより、ビルド時間が短縮され、コードがより焦点化されます。

たとえば、非推奨の QueryTask は次のように使われます。

import QueryTask from “esri/tasks/QueryTask”;
const task = new QueryTask({
    url: “service url”
});
task.execute(new Query(…));

新しいクエリモジュールの使用

import { execute } from “esri/rest/query”;
execute(“service url”, new Query());

API キー

過去数回のリリースでは、ロケーション サービスで使用するためのグローバル API キーのサポート (4.18) と、方向とルーティングの詳細なサポート (4.19) を追加しました。バージョン 4.20 では、これに加えて、レイヤーごとに API キーを設定できる機能を追加し、特定のレイヤーで使用するキーをより細かく制御できるようになりました。

より強力なクエリ

ArcGIS Online および ArcGIS Enterprise でホストされているフィーチャ レイヤーの背後にあるリレーショナル データベースを利用して、より高度なクエリ機能が導入されています。このリリース以前は、クエリの結果をグループ化して順序付けすることができました。ただし、グループ化した場合、結果はグループごとに 1 つの集約された値に制限されていました。新しいクエリ機能では、グループ内の個々の行にアクセスできるようになりました。たとえば、米国の国立公園を、その公園がある州ごとにグループ化し、訪問者数の多い順に並べて、各州で訪問者数の多い上位 3 つの公園を返すことができます。

より強力なクエリ

サンプル アプリケーション

ベクター タイル レイヤー スタイルとパフォーマンス

今回のリリースでは、ベクター タイル レイヤーに破線やデータドリブンの塗りつぶしパターンをサポートしました。また、ベクター タイルのパンニング時のパフォーマンスを改善しました。

イメージ レイヤーのプロファイリング

getSamples() メソッドがイメージ レイヤーに追加されました。これにより、風紋図の作成や時系列/深度系列のチャート作成など、多次元空間における画像のプロファイリングが可能になります。getSamples() は、指定されたジオメトリに対するソース データのサンプル ポイントの位置、ピクセル値、対応する解像度を返します。

イメージ レイヤーのプロファイリング

この風配図は、1960 年から 2012 年の間にマウスをクリックした場所で最も頻繁に起こった風速と風向きを示しています。近い将来、SDK に搭載される予定の getSamples() のサンプルにご期待ください。

編集とスケッチのウィジェット – ポイントのスナッピング

編集スケッチの両方のウィジェットで、2D のポイントジオメトリを移動するときに、スナップが使えるようになりました。

編集とスケッチのウィジェット - ポイントのスナッピング

サンプル アプリケーション

ズーム制限の増加

TileInfo.create() に numLODs パラメータを追加することで、マップの最大ズーム レベルを上げることができるようになりました。そのためには、TileInfo.create() メソッドで追加の LODs を作成し、MapView の制約条件に渡すことができます。

これらのサンプルをお見逃しなく

新しい機能を紹介するために、リリースごとに多くの新しいサンプルを追加していますが、過去のリリースで導入された機能の別の側面を紹介するサンプルも追加しています。たとえば、今回のリリースで追加されたサンプルを 2 つご紹介します。

ES modules – Web Workers の使用: アプリケーションのパフォーマンスを向上させるために、カスタム Web Workers を統合する方法を示す新しい ES modules サンプルがあります。このサンプルでは、APIs workers modules を使用して、アプリケーション内でのワーカーの使用を簡素化しています。Web Worker は、空間結合などの計算量の多いタスクをバックグラウンドのスレッドで実行することで、ユーザー インターフェイス (UI) のブロック化や速度低下を防ぐことができます。

ホストされたタイルのイメージレイヤー: このサンプルでは、タイルのイメージ レイヤーのレンダリングと投影をその場で動的に変更する方法を紹介しています。

米国のNational Land Cover Database 2016 における土地被覆タイプ

米国の National Land Cover Database 2016 における土地被覆タイプ

サンプル アプリケーション

この他にも、標高プロファイルの強化やウィジェットなど幾つか機能が更新されています。詳細については、リリース ノートでリリースの概要を確認したり、新しいサンプルを使ってテスト ドライブをしたりすることができます。

また、新機能・拡張の詳細については、以下の新機能ページも併せてご覧ください。

・バージョン 4.20 新機能 (ESRIジャパン / 米国 Esri 社)
・バージョン 3.37 新機能 (ESRIジャパン / 米国 Esri 社)

■関連リンク

米国 Esri ArcGIS ブログ:
What’s New in ArcGIS API for JavaScript (version 4.20)

ESRIジャパン Web サイト:
ArcGIS API for JavaScript

米国 Esri 社 Web サイト:
ArcGIS API for JavaScript(バージョン 4.20)
ArcGIS API for JavaScript(バージョン 3.37)