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

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

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

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

ArcGIS Maps SDK for JavaScript はセマンティック バージョニングを採用しました。これにより、変更内容の理解やアップグレードの影響評価、安心した更新計画を立てることが容易になります。
セマンティック バージョニングへの移行については、「ArcGIS Maps SDK for JavaScript のセマンティック バージョニングへの移行」をご覧ください。

バージョン 5.0

AI コンポーネント(ベータ版)によるエージェント型マッピング Web アプリケーション

新しく追加された AI コンポーネント(ベータ版)パッケージを使用して、自然言語インターフェイスを備えたエージェント型 Web マッピング アプリケーションを作成できます。ユーザーは会話形式のプロンプトを通じて地理空間情報を探索・分析でき、より直感的で使いやすい体験を提供します。

arcgis-assistant を使ったエージェント型マッピング アプリで世界の小麦生産を探索

このパッケージには、アシスタント コンポーネントと複数のエージェントが含まれています。

Assistant コンポーネント

<arcgis-assistant> はエンド ユーザー向けのチャット インターフェイスを提供し、1 つ以上のエージェントを介して、自然言語で Web マップと対話できるようにします。

エージェント

ユーザーの入力を処理し、それぞれの機能に基づいて適切な応答を生成します。

  • ナビゲーション エージェント
    マップの特定の場所へ移動するためのエージェントで、「どこ?」という質問に答えます。
    例)「ゴールデン ゲート ブリッジに移動して」「ズーム インして」
  • データ探索エージェント
    フィーチャのクエリーやフィルタリング、統計の計算、空間的な近接関係の評価などを行うエージェントで「何?」という質問に答えます。
    例)「人口が最大の都市はどこ?」「コロラド川から 30 マイル以内にある都市はいくつある?」といった質問に対して、対応するレイヤーを含むマップで回答できます。
  • ヘルプ エージェント
    文脈に応じたヘルプやガイダンスを提供します。
    例)「どのような質問ができますか?」「このマップにはどのようなレイヤーが含まれていますか?」
  • カスタム エージェント
    開発者は、特定のタスク、ワークフロー、データ ニーズに対応するために、アシスタント コンポーネント向けのカスタム エージェントを作成できます。

AI アシスタントとエージェントを利用するには、数行のコードだけで済みます。

<arcgis-assistant reference-element="#wheat-map">
    <arcgis-assistant-navigation-agent></arcgis-assistant-navigation-agent>
    <arcgis-assistant-data-exploration-agent></arcgis-assistant-data-exploration-agent>
    <arcgis-assistant-help-agent></arcgis-assistant-help-agent>
</arcgis-assistant>
<arcgis-map id="wheat-map" item-id="dd6e8957e7a94765bf32bc07097cbf46"></arcgis-map>

AI コンポーネントを使ったエージェント型マッピング アプリケーションの構築について詳しく知りたい場合は、ガイド ページを確認し、コンポーネントをお試しいただき、ベータ期間中にぜひフィードバックをお寄せください。

トゥルー カーブの描画と編集

Sketch を使用したトゥルー カーブの描画

ユーザーはベジェ曲線セグメント、円弧セグメント、端点円弧セグメントといった新しいツールを使用して、描画中にカーブ セグメントを持つジオメトリーを作成できるようになりました。これにより、ベジェ曲線や円弧を簡単に構築できます。既存の直線セグメントは、Shift キーを押しながら中点ハンドルをドラッグすることで円弧に変換できます。

セグメント ベースの描画

ポリラインまたはポリゴンのジオメトリー セグメントを作成する際、ライン、フリーハンド、そして今回追加された新しいカーブ オプションなど、描画ツールをシームレスに切り替えることができます。

複雑な描画にベジェ曲線ツールと直線ツールを使用

新しい曲線描画ツールは Sketch コンポーネント、Editor コンポーネントそして SketchViewModel にネイティブに統合されています。

Editor での曲線を用いたフィーチャーの作成、編集、スナップ

Editor コンポーネントはトゥルー カーブを持つフィーチャの追加および更新をサポートし、さらに曲線セグメント上の任意の点へのスナップが可能になりました。これにより、フィーチャ レイヤー内での曲線の編集が簡単かつ確実に行えるようになります。

端点円弧セグメントと直線ツールを組み合わせた Editor での袋小路の区画の描き分け

曲線のサポートとツールの切り替えは 2D でのみ利用可能です。

発光シンボルとグロー効果で 3D シーンを照らす

発光マテリアル(emmisive materials)を利用すると、シンボル自体が光を放つようになり、リアルな夜間シーンの表現や特定のフィーチャを強調して視認性を高めることができます。任意のボリューム シンボルを発光要素として扱えるため、テーマごとに選択フィーチャをハイライトする用途にも適しています。リアルな夜景を再現したい場合は、看板や窓などの 3D モデルに発光情報を直接組み込むことで、自然で雰囲気のある表現を実現できます。

グロー効果を適用すると、発光シンボル全体が柔らかく光をまとったような外観になり、シーン全体でよりスタイリッシュな印象を加えます。

発光マテリアルとグロー効果でフィーチャを強調し、魅力的なシーンを構築

ガウシアン スプラット レイヤー

ガウシアン スプラット レイヤーをご紹介します。これは 3D シーンにおいて、複雑な人工物や自然環境をフォトリアルに可視化できる新しい 3D レイヤー タイプです。電線、手すり、アンテナ、密生した植生といった細かく複雑な構造を高精細に描画でき、ガラスなどの半透明素材も滑らかな透明表現が可能です。これらの機能強化により、点検作業、植生解析、高精度のプレゼンテーションなど、高度なワークフローをサポートします。

ガウシアン スプラット レイヤーは高精細な情報が求められるエリアに最適で、リアルなビジュアル表現を提供します。一方、統合メッシュ レイヤーは高精度で編集や計測が可能なデータを提供します。これらの 3D レイヤー タイプを組み合わせることで、開発者は Web 上でインタラクティブで没入感があり、コンテキスト豊かな 3D 体験を構築できます。

ガウシアン スプラット レイヤーによる高詳細なエリアに最適な、リアルなビジュアルの提供

フィーチャ テーブルの強化

条件付きの属性値制約を使用した編集

FeatureTable コンポーネントは、セル編集時に条件付きの属性値制約を遵守するようになり、テーブル内のデータの整合性と有効な属性更新を保証します。

フィーチャ テーブルで条件付きの属性値制約を使った信頼された編集

フィーチャ テーブル編集時の変更のステージング

開発者は編集の自動保存を無効にすることで編集内容を保存前に確認できるようになりました。自動保存は引き続きデフォルトで有効のままです。

添付ファイル表示体験の改善

テーブルで添付ファイルを表示する際、名前、添付ファイルの種類、サイズ、キーワードなどの追加情報を確認できるようになりました。

コンポーネントを使ったアプリ構築

このリリースは、ウィジェットからコンポーネントへの大きな進化を正式に示すものです。

コンポーネントは、アプリケーションを構築する際に推奨される手法であり、生産性の最大化とモダンなフレームワークとのシームレスな統合を可能にします。バージョン 5.0 ではすべてのウィジェットが非推奨となりますが、既存のウィジェット ベースのアプリはこれまでどおり動作します。ウィジェットへの新機能の提供は終了し、2027 年第 1 四半期(バージョン 6.0)で廃止される予定です。次世代アプリケーションの構築を始めるために、移行ガイド、更新されたプログラミング パターン、チュートリアル、すぐに使えるコンポーネント サンプルをご確認ください。

新コンポーネント

今回のリリースでは、より高度で効率的なトレース体験を提供する Utility Network Trace Analysis コンポーネントや、宣言的に体積測定解析機能を追加できる Volume Measurement コンポーネント(ベータ版)をはじめ、多くの新コンポーネントが含まれています。

トレース ワークフローのための新しい Utility Network Trace Analysis コンポーネント

新しいスタイリング オプション

選択されたコンポーネントに visualScale プロパティが追加され、サイズ調整がより簡単になりました。また、新しい CSS 変数 –arcgis-view-color-focus が追加され、Map および Scene ビューのフォーカス アウトラインの色を更新できるようになりました。

分析ベースのコンポーネント

Elevation Profile、Shadow Cast、Volume Measurement(ベータ版)コンポーネントが、それぞれ対応する分析オブジェクトを利用するようになり、安定性と一貫性が向上しました。これらの分析オブジェクトはビュー モデルの代替としてコア API でも使用できます。

共通コンポーネント パッケージ

新しい共通コンポーネント パッケージには、Slider、Histogram、Ticks コンポーネントといった UI コンポーネントが含まれています。これらは地図の有無に関わらず、定量的な可視化に適しています。

チャート コンポーネント

マップ ビューアーでヒート チャートを作成し、レイヤーからカスタム Web アプリケーションに読み込めるようになりました。これにより、バージョン 4.34 で導入されたチャート モデルを使ったプログラム的な選択肢がさらに広がります。また数値分類レンダラー(ClassBreaksRenderer)がヒート チャートでサポートされ、データを範囲ごとに可視化できるようになりました。

ラベルの強化

3D におけるラベルとアイコンの遮蔽処理の改善

ラベルとアイコンが、部分的または完全に遮蔽されていても 3D シーン内で識別しやすくなり、より優れたコンテキスト・方向感・空間認識を提供します。新たに occludedVisibility プロパティが追加され、以下 3 種類のモードで可視性を設定できます。

  • Adaptive(デフォルト)
    他のオブジェクトの背後にあるラベルとアイコンが、その距離に応じてレンダリングされます。このモードは 3D ベースマップで使用されています。
  • Visible
    他のオブジェクトの背後にあるラベルとアイコンも常に表示されます。
  • Hidden
    他のオブジェクトの背後にあるラベルとアイコンは表示されません。これは従来の SDK バージョンと同じ動作です。
より優れたコンテキスト、方向、空間認識を実現するためのラベルおよびアイコンの遮蔽処理の改善

2D におけるポリゴンのラベルの自動的な再配置

ポリゴンの中心点が 2D マップの表示範囲外にある場合、ラベルは自動的に再配置され、常に表示されるようになります。これにより、マップ移動中でもラベルが見やすくなり、より良いコンテキストが提供されます。

バージョン 5.0 ではアラスカ州の大部分が地図の外にあっても、郡ラベルを表示し続ける

Directions コンポーネントでのウェイポイントのドラッグ アンド ドロップ

Directions コンポーネントでは、ユーザーがウェイポイントをドラッグ アンド ドロップしてルートを微調整できるようになりました。ウェイポイントとは、ルートが通過する必要はあるものの、必ずしも停止する必要のない地点のことです。[ルートの編集] ボタンを使って、ウェイポイントの追加、移動、削除を行うことができます。

Directions コンポーネントを使った、ウェイポイントの対話的な追加・編集

方向付き画像の強化

Oriented Imagery Viewer コンポーネントのインターフェイスが再設計され、よりシンプルで直感的なユーザー体験を提供するようになりました。さらに、画像へ簡単にアクセスできる新しい検索ツールの追加や、パフォーマンス向上のための画像キャッシュの改善、時間的な条件に基づく正確な画像検索を可能にする時間情報フィルタリングも強化されています。

Oriented Imagery Viewer の UI の刷新および新機能の追加

Selection Manager を使った選択内容の同期

新しい Selection Manager(ベータ版)クラスにより、2D マップと 3D シーンのレイヤーやテーブルで選択されたフィーチャに開発者がアクセスできるようになりました。Selection Manager は、選択可能なレイヤーでの編集イベントを監視して、自動的に選択状態を更新するように設定できます。これにより、ビュー内の選択状態を一元的に管理できるようになります。

Selection Manager を使用した、Feature Table コンポーネントと Editor コンポーネント間の選択状態の同期

セッション ベースのベースマップ利用

ArcGIS Location Platform の開発者は、新しいベースマップ セッション API を使用して、セッション単位でベースマップを利用できるようになりました。セッションとは、1 人のユーザーが 1 つのアプリケーションを使用する一定の時間枠のことで、その間はベースマップ サービスから無制限にベースマップ タイルへアクセスできます。これにより、開発者はベースマップ利用のコストをより正確に予測できるようになります。このチュートリアルでは、使用モデルの仕組みを実際に確認できます。

ドキュメントとプログラミングの改善

新しいサンプル検索・閲覧体験

改良されたレイアウトと検索機能により、サンプルの一覧をより快適に閲覧できるようになりました。また、サンプルに新しいレイアウトが追加され、説明文・コード・プレビュー ウィンドウを同時に表示できるようになり、説明を読みながらコードをその場で編集しやすくなりました。さらに、推奨される使用パターンやベストプラクティスを反映するため、多くのサンプルがコンポーネント ベースの構成へと更新されています。

サンプル ページのレイアウト、検索体験、そして新しいサンプル閲覧用 UI の改善

マッピング アプリケーションのレイアウト

Calcite Design System と ArcGIS Maps SDK for JavaScript を使って Web マッピング アプリケーションを構築する際の、推奨される構成パターンを紹介する新しいガイドが追加されました。また、UI 構築の出発点として使いやすいように設計された、レイアウト重視の新しいサンプルが 3 つ「レイアウト アプリケーション」として公開されています。

一般的なマッピング アプリケーションのワークフローに向けた 3 種類のレイアウト サンプル

@arcgis/create によるアプリの作成開始

開発の手順」ガイドが更新され、@arcgis/create CLI ツールとスターター テンプレートを使って npm でアプリを作成する手順が追加されました。以下の簡単な 1 行のコマンドで、すぐに使えるアプリケーションを作成できます。

npx @arcgis/create -n my-arcgis-app -t vite

CDN ユーザー向けの単一のスクリプト タグ

CDN ベースのアプリでは、1 つのスクリプト タグを使用するだけで、コア API、マップ コンポーネント、AI コンポーネント、共通コンポーネント、チャート コンポーネント、コーディング コンポーネント、そして Calcite コンポーネントに一度にアクセスできます。これにより、サイズを大きく増やすことなく利用できます。なお、スクリプト タグに type=”module” の指定が必要です。

<!-- Load the ArcGIS Maps SDK for JavaScript from CDN -->
<script type="module" src="https://js.arcgis.com/5.0/"></script>

これは複数行のスクリプト タグ構造に代わるもので、SDK の読み込みや小規模アプリケーションの構築がより簡単になります。従来の動作は引き続き、以下の方法でアクセス可能です。

<script type="module" src="https://js.arcgis.com/5.0/core.js"></script>

TypeScript のインポートと codemod

TypeScript 開発者には、各モジュール ファイルから型を直接インポートする個別の ESM インポートの使用を推奨します。従来の __esri 名前空間はサポートされなくなりました。移行を容易にするため、推奨される ESM インポートへ自動的に更新できる codemod も提供されています。

過去バージョンのドキュメント

バージョン 4.34 以降、サポート対象バージョンの過去の SDK ドキュメントを Web サイト上で参照できるようになります。これにより、SDK をローカルにダウンロードしなくても、必要なドキュメントにアクセスできます。

Google からの移行を検討されていますか?

Google Maps JavaScript API 開発者が ArcGIS Maps SDK for JavaScript に移行する際に役立つ、新しいガイド ページが用意されています。セットアップ、一般的なワークフローのチュートリアル、概念説明、そして用語対応表などが含まれており、技術的な移行をスムーズに進められます。

もっと詳しく

本ブログでは今回のリリースに含まれる新機能や機能強化の一部をご紹介しました。このほかにも Flow Renderer のスムーズなトランジション、透過された地面のレンダリングの改善など多くの新機能が含まれています。詳細はリリース ノートをご覧ください。

フォローする