ArcGIS Maps SDK for JavaScript バージョン 4.33 をリリースしました!

アイキャッチ画像 (ArcGIS Maps SDK for JavaScript)

ArcGIS Maps SDK for JavaScript の最新バージョン 4.33 をリリースしました。

以下では、ArcGIS Maps SDK for JavaScript バージョン 4.33 の主な新機能・機能拡張をご紹介します。

バージョン 4.32

コンポーネント パッケージの URL の構造が新しくなりました。
https://js.arcgis.com/{バージョン}/{コンポーネント パッケージ}/

フィーチャのバッチ編集

複数のフィーチャを選択し、一度に編集することで編集中の生産性を最大化します。

編集コンポーネント(ウィジェット)では、1 つまたは複数のレイヤーをまたいでフィーチャを選択し、選択したすべてのフィーチャの属性をレイヤーごとにグループ化して編集できる、新しい選択機能が提供されています。さらに、選択したフィーチャはワンクリックで移動または削除することも可能です。

複数のフィーチャを一度に編集

シーンの一部分を強調する

新しく追加された「フォーカス エリア」機能により、3D シーンの特定の範囲を強調し、注目させることができます。事前に定義されている暗色(dark)または明色(bright)のスタイルで、シーンのほかの範囲とのコントラストを作ることで、注目したい範囲を際立たせることができます。複数のフォーカス エリアが設定される場合は、色の付いたアウトラインを適用してそれぞれを区別できます。また、これらのフォーカス エリアはスライドでキャプチャすることで、シーン ビューアーまたはプログラムから Web シーンに保存することもできます。

この新しいサンプルで、この機能を体験してみてください。

フォーカス エリアを追加して、3D シーンの特定の範囲を強調し、注目を集める

マルチポイント ジオメトリーのラベル表示

要望の多かったマルチポイント ジオメトリーのラベル表示のサポートが追加されました。

マルチ ポイント ジオメトリのラベル表示

3D タイル統合メッシュ(integrated meshes)の調整

IntegratedMesh3DTilesLayer クラスが、I3S の IntegratedMeshLayer で使用されている SceneModifications クラスを使って、クライアント サイドの描画の調整に対応しました。これにより、メッシュの特定の部分のみを描画したり、アウトラインをトリミングしたり、別の 3D データで一部分を置き換えたりすることができます。調整したメッシュは Web シーンを通じて保存、共有することもできます。3D タイル統合メッシュの描画は、ローカル 3D シーンの表示範囲を定義するクリッピング領域にも準拠するようになりました。

新しいサンプルでは、統合メッシュ レイヤーに対して、クリップ、マスク、置き換えなどの調整を適用し、ニーズに合わせてカスタマイズする方法を紹介しています。

スパイク マップの作成

数値データをスパイク(突起)として視覚化し、値に対応してスパイクの高さが表現される新しい「スパイク テーマ」を追加しました。このテーマは、総人口数のような、データの範囲の上限に外れ値があるような偏ったデータ セットに最適です。段階的なシンボルとは異なり、スパイクを使うことで、特に値の範囲が広い場合に、値の相対的な違いをより明確に把握することができます。

値の相対的な違いを強調するスパイク マップを作成

ルート案内の印刷

ルート案内コンポーネント(ウィジェット)に、完了したルートのオプション メニューからルートを印刷する機能(ベータ版)が提供されるようになりました。

レイヤー ベースの表示縮尺を適用

3D シーンで、縮尺に基づく異なるレイヤー タイプ間のシームレスな表示の切り替えが可能になりました。フィーチャ レイヤーやシーン レイヤー(ポイント)を含む多くのレイヤーがレイヤー ベースの表示縮尺をサポートするようになりました。このリリース以前の 3D シーンでも表示縮尺は使用されていましたが、実際の表示はフィーチャごとに決定されていたため、レイヤー内で表示の状態が混在することがありました。このリリースでは、レイヤーごとに評価される縮尺範囲を設定できるため、レイヤー全体が表示または非表示になります。これにより、縮尺に基づいたデータの視覚化がより一貫性のある、予測可能な結果になります。

以下の例では、特定の縮尺設定でレイヤーの表示、非表示を切り替えています。事故発生地点のデータはまずは地形図 3D ベースマップの上に表示されるヒートマップとして表示されます。縮尺を 1/1000 未満に拡大すると、事故発生地点のデータは個々のポイントとして表示され、地形図 3D ベースマップは非表示になり、3D タイル統合メッシュ レイヤーが表示されます。この切り替えにより、ユーザーはより詳細に実世界の状況を把握し、事故がどこで、なぜ発生したのかについての洞察を得ることができます。

拡大すると、事故発生地点はヒートマップではなく個々のポイントとして表示され、地形図 3D ベースマップは非表示になり、3D タイル統合メッシュ レイヤーが表示される。

3D 解析ワークフローにおけるカスタム操作の有効化

可視領域(Viewshed)、見通し線(Line Of Sight)、計測(Measurement)などのすべての 3D 解析機能に、新しい解析ビューである place() メソッドが追加され、3D シーン上でインタラクティブな解析操作をプログラムから開始できるようになりました。たとえば、計測ツールを表示するカスタム ツールバーを表示したり、複数のステップを持つワークフローの一部として 3D 解析を実行することができます。このリリース以前にも、一部の解析ツールで同様の操作が可能でしたが、バージョン 4.33 では、すべての 3D 解析ツールで統一された実装が提供され、より一貫性のあるアプローチが実現されています。

更新された Analysis オブジェクトのサンプルでお試しください。

日射量解析の深化

このリリースでは、設定されたしきい値を超えて長時間影が残る地表について、さらに詳細なコンテキストを取得できるようになりました。「不連続な影」コンテキスト オプションを使用すると、設定された間隔に基づく日中の特定の時間にレンダリングされた影が互いに合成され、しきい値の可視化(色分け)に加えて、影の分布状況を把握できます。以下のシーンでは、しきい値を超える影が赤色で表示され、不連続な影コンテキストの影が灰色で表示されています。これにより、ある場所が日中どれだけ長く影になっているかをより正確に理解することができます。

方向付き画像の統合と分析

測定能力の向上

新しく追加された三角測量ツールは、2 つの異なる視点から捉えた測定ポイントのベクトルを交差させることで、距離、面積、位置を計算することができます。ツールは、定義された対象領域の測定精度を高めることができます。

近くの画像を探索

方向矢印を使用して隣接する画像間を移動したり、ユーザー定義のフィールドに基づいて「前へ」、「次へ」ボタンで画像を切り替えることができます。

動画のサポート

再生、一時停止、ビデオ スライダー、音声ボタンなど、使い慣れた操作で動画を表示し、操作できます。再生中は、フットプリント表示、カメラ位置、画像強調などのツールが利用できます。

より優れたチャートの統合

チャート コンポーネント(ベータ版)には、開発者の体験とアプリで有効化できる機能の両方を向上させる、細かいながらも便利な機能強化が多数含まれています。たとえば以下のような機能改善が行われました。

  • チャート モデルを使用する際のチャートの作成、変更に関するプログラミング パターンの簡素化
  • 特定の間隔や範囲に基づいてデータをカテゴリーごとにグループ化する処理の最適化および高速化
  • チャートを画像または CSV ファイルとしてエクスポート可能に(箱ひげ図と散布図を除く)
  • マップの現在の時間範囲に基づいてチャート表示を制御する機能の追加

Parquet ファイルの描画(ベータ版)

ParquetLayer(ベータ版)は、Parquet ファイルをマップ上に視覚化することができます。今後のリリースでは、フィーチャの検索機能など、さらなる機能拡張が予定されています。

より高速なアプリの構築

私たちは常に、可能な限りパフォーマンスを最適化するように努めています。今回のリリースでは、以下の領域でパフォーマンスを改善しました。

フィーチャ レイヤー

ポリゴン、ポリライン、およびマルチポイント フィーチャの 2D マップでのパンやズームを行った際の読み込みが高速化されました。ArcGIS Online にホストされたフィーチャ レイヤーは特定の条件を満たす場合、初回のマップ読み込み時にすべてのフィーチャをサーバーから取得します。一度読み込まれたフィーチャはサーバーから再取得する必要がないため、パンやズームの際の再描画が不要になります。

辞書レンダラー

シンボルの計算とキャッシュ方法を最適化することで、パフォーマンスが大幅に向上しました。各フィーチャに対して固有のシンボルを生成する代わりに、レンダラーは可能な限りシンボルを再利用し、事前の計算をより多く行うようになりました。

3D シーン

ラスター タイル レイヤーと選択された glTF モデル テクスチャーについて、ブラウザーで読み込まれた画像を自動的に圧縮するようになりました。これにより、以前使用されていた非圧縮メモリーの 75% を節約できます。圧縮処理は Web ワーカー内で非同期かつ並列で行われるため、既存の Web アプリケーションのパフォーマンスには影響しません。このほかの最適化に加えて、一般的な Web シーンでは 10 ~ 50 % のメモリーの節約に繋がります。

プログラミング パターンの更新

SDK は機能の革新とプログラミング パターンの進化を通じて、可能性の限界を常に押し広げるパワーと柔軟性を提供しています。過去数回のリリースでは、SDK のコンポーネント設計とコア API の設計を進化させてきました。この移行により、より効率的で洗練された開発方法が可能になりますが、既存のコードをこれらの進化するパターンに合わせる必要も生じます。以下の更新の一部は、開発者にコンポーネントへのスムーズな移行を提供するために設計されたものもあれば、既存のパターンに対してよりモダンなアプローチを導入するものもあります。

Web コンポーネント標準の採用

SDK を使用して Web アプリを構築する際の推奨のアプローチはコンポーネントを使用することです。コアのウィジェットの機能はすでにコンポーネントとして提供されています。当初、ウィジェットは Web コンポーネント内に内包されていました。時間の経過とともに、既存のウィジェット アーキテクチャーを含まないように、また、たとえば shadowDOM によるスタイルのカプセル化などの Web コンポーネント標準をより積極的に採用するよう、段階的なリファクタリングが進められています。コンポーネントがこの最適化を受けると、対応するウィジェットは非推奨となります。今回のリリースでは、この基準を満たす多くのコンポーネントが含まれています。ウィジェットの移行期間や今後の展望については、ArcGIS Maps SDK for JavaScript のコンポーネントへの完全な移行についてをご覧ください。

コンポーネントの変更を監視

ArcGIS Maps SDK for JavaScript のコンポーネントのプロパティが、コア API のプロパティの変更を監視する際に使用される reactiveUtils を使って監視できるようになりました。reactiveUtils.watch()、.on()、.once()、when()、.whenOnce() を使用することで、view.zoom や layer.loaded プロパティを監視する際と同じ方法で、コンポーネントの状態の変化を監視できます。これにより、ウィジェット ベースのアプリケーションからコンポーネントに移行を行う開発者にとって、馴染みのある方法でプロパティの変化を扱えるようになります。

reactiveUtils を使用してコンポーネントの変更を監視する方法については、更新されたガイドをご覧ください。

ビューの初期化まで待機

MapSceneLink Chart コンポーネントに追加された新しい viewOnReady メソッドにより、コンポーネントの内部ビューが完全に初期化され、使用できる状態になるまで待機できるようになりました。このメソッドは、ほかのモジュールを動的にインポートする場合や、ビューの初期化完了に依存するロジックを設定する場合に便利です。このメソッドは arcgisViewOnReady イベントを監視する方法と同じように動作しますが、特に通常の JavaScript アプリケーションで使用する場合により便利です。どの方法が自分のアーキテクチャーに最適かを判断するには変更の監視に関するガイドにある比較表をご覧ください。

$arcgis.import() によるモダンなモジュール読み込み

新しく追加されたグローバル関数 $arcgis.import() は、CDN を使用して単一ページの JavaScript アプリを構築する際に、AMD の require() に代わる最新の関数です。この関数は、モジュール パスまたはモジュール パスの配列を受け取り、要求されたモジュールを受け取る Promise を返します。ドキュメントもこの新しいパターンに合わせて更新されており、はじめにチュートリアルサンプルなどが $arcgis.import() を使った形に変更されています。require() は引き続きサポートされていますが、より実用的で現代的なこのアプローチへ移行することを開発者に推奨します。

コンポーネント用の新しい CDN エンドポイント

コンポーネント パッケージ用の CDN エンドポイントが更新され、より一貫性があり、シンプルなバージョン管理パターンが導入されました。

新しいパターン:https://js.arcgis.com/{バージョン}/{コンポーネント パッケージ}/

ジオメトリー オペレーターの利用

従来のジオメトリー エンジンは非推奨となり、モジュール化され、機能が豊富なジオメトリー オペレーターの利用が推奨されています。詳細についてはジオメトリー オペレーターのガイド ページを参照してください。

もっと詳しく

このリリースでは上記以外にも、ビデオ レイヤーの強化、空間選択によるユーティリティー ネットワークの関連付け、ベクター シンボルにおける新しい幾何効果、クライアント サイドでの点群レイヤーの検索など、さらに多くの機能が追加されています。詳細はリリース ノートをご覧ください。

Calcite Design System のサポート

Calcite Design System は Web アプリケーション開発時に ArcGIS Maps SDK for JavaScript と合わせて読み込む必要のある Esri の UI キットです。Web コンポーネントとして提供されているため、カスタム HTML タグを記述するのみで ArcGIS Online などと同等で親和性の高い UI をアプリケーションに構築できます。

2025 年 7 月からこの Calcite Design System の国内サポートを開始しました。Calcite Design System の詳細は ArcGIS Developers 開発リソース集でも紹介しておりますので、ぜひご利用ください。

フォローする