ArcGIS API for JavaScript の最新バージョン 4.23 および 3.40 をリリースしました。
以下では、バージョン 4.23 の主な新機能・機能拡張をご紹介します。
目次
バージョン 4.23
FlowRenderer による流れの可視化
バージョン 4.22 のリリース ブログにて気象・海洋ラスター データの流向・流速情報をアニメーションで可視化する AnimationFlowRenderer (ベータ版) を紹介しました。今回のアップデートにより、FlowRenderer はベータ版から外され、以下のようにいくつかの機能が追加されました。
- レイヤーのマグニチュード フィールドで、フロー ラインの色、不透明度、大きさを調整
および、スマート マッピングを使用したレイヤーのスタイリング - レイヤーの流れる方向を変更
- レイヤーが時間を保有している場合、TimeSlider と一緒に使うことで、各タイム スライスでのフローを可視化
- レイヤーを Web マップに保存
- 印刷
次のサンプルは、FlowRendererと visualVariable を使用して、ハリケーン アイダの際の風速を可視化したものです。詳細は、ArcGIS API for JavaScript を使用してアニメーション化されたフローのビジュアライゼーションを作成するブログをご覧ください。
空間参照の切り替え (2D)
spatialReference プロパティを設定するだけで、マップの空間参照を簡単に切り替えることができます。また、BasemapGallery や BasemapToggle ウィジェットで異なる空間参照を持つ別のベースマップに変更することも可能です。つまり、BasemapGallery ウィジェットを使用している場合、異なる空間参照を持つベースマップを用意し、エンド ユーザーがそこから選択できるようにすることができます。同様に、BasemapToggle は異なる空間参照を持つ 2 つのベースマップを切り替えることができます。
Client-side projection と Basemaps with different projection のサンプルで、この動作を確認してください。
3D シーンでヒートマップ
HeatmapRenderer を使用して、シーン内の連続したカラーランプに沿った高密度エリアを強調することができます。各ピクセルの色の強さは、1つまたは複数のポイントへの密度に基づいて決定されるか、またはレイヤーのデータ値に基づいて重み付けされることがあります。出来上がったラスターは、地面や統合されたメッシュ レイヤーの上にドレープすることができます。referenceScale という新しいプロパティにより、現在の表示スケールに依存しないブラー半径を調整することができます。
以下のサンプルでは、ミュンヘンの交通事故を調べることができます。このサンプルでは、交通事故を含むフィーチャ レイヤーがヒートマップとしてレンダリングされ、統合されたメッシュの上に配置されています。
天候ウィジェット
新しい天候ウィジェットを使って、シーンの天気を晴れ、曇り、雨、霧の中で変更しましょう。ウィジェットのスライダーを使えば、雲や霧の濃さをインタラクティブに調整できます。
更新された天候のサンプルで、ウィジェットを確認できます。
3Dシーンにおけるラインとラベルのスタイルが追加
ラインにマーカーを追加
ラインのフィーチャにマーカーを追加して始点と終点を強調したり、矢印で方向を示したりすることができます。新しい LineStyleMarker3D クラスは、既存の 2D 機能に沿ったさまざまなスタイルを提供するため、同じレイヤーを 2D と 3D の両方で一貫して表示することができます。マーカーは属性値によって決定することができ、視覚的な変数を使用してサポートします。
ラベルの配置とスタイル
TextSymbol3DLayer の新しいスタイル オプションを使って、シーンのラベルやテキストの見栄えを良くすることができます。下線や取り消し線などの装飾、行間や配置などのテキスト レイアウトの設定、カスタム フォントの読み込みなどが追加されました。ラベル シンボルに背景を追加することで、特定のラベルの強調や、読みやすさを向上させることができます。
このサンプルでの新しいライン マーカーやラベルの配置は、南極大陸への初遠征を表しています。
仮想光源
新しい VirtualLighting オプションを使用すると、世界中の 3D ビジュアライゼーション、特に極地でライトアップすることができます。SceneView 環境の lightning プロパティを設定することで、光源をカメラに対して相対的に配置し、見える影の量を最小にすることができます。
このサンプルでは、新しい仮想光源が、地球上の誇張された地形の探索にどのように役立つかをご覧ください。
解析オブジェクトの紹介
クライアント サイドの計測、スライス、見通しなどをプログラムで実行し、その結果をシーンに表示することができます。また、分析結果を対応するウィジェットのコンストラクタに渡して初期状態を設定し、さらにユーザーとの対話を可能にすることができます。
以下のサンプルは、実行した解析の結果とユーザー エクスペリエンスを体験できます。
編集機能の UI と機能の改良
このリリースでは、編集時の生産性を向上させ、全体的なユーザー エクスペリエンスを提供することを目的とし、Editor ウィジェットに大幅な変更が加えられました。更新された UI は、スナップ コントロールを統合しながら、機能の作成と更新のプロセスを合理化します。また、Editor はバッチ (連続) フィーチャ作成をサポートしています。同じタイプのフィーチャを一度に複数作成することが可能になりました。この際、新規作成されたフィーチャごとにフォームが表示され、必要に応じて属性を更新することができます。
これらのアップデートは Editor のロードマップにある改良点の一部で、今後さらに多くのリリースが予定されています。
FeatureForm
条件値のサポート
FeatureForm ウィジェットで、条件値がサポートされるようになりました。条件値は、データ デザイン機能 (ArcGIS Pro 2.4 で導入) の 1 つで、あるフィールドの有効なフィールド入力を、別のフィールドで選択されたフィールド値に基づいて制限するものです。これは、編集ワークフローにおけるデータの整合性を強化するのに役立ちます。
Arcade を使用してフィールドの値を計算
今回の API アップデートでは、Arcade 式によるフィールドの表示と必須フィールドかどうかの制御に加えて、Arcade 式によるフィールドの値の計算が可能になりました。また、Arcade 式によってフィールドが編集可能かどうかを制御することもできます。
FeatureTable のオプション機能
FeatureTable ウィジェットは、今回のリリースでいくつかの重要なアップデートが行われました。
複数フィールドのソート
複数のフィールドをソートし、テーブルの初期表示時にどのカラムを優先させるかを制御することができます。下の画像は、2番目の列である「在籍数」が「学校名」よりも高いソート優先度を持つことを示しています。
選択とズーム
表で行を選択すると新たに2つのメニュー項目が表示されます。「選択されたレコードを表示する」と「選択範囲にズームする」です。これらはプログラムでも呼び出すことができます。
自動更新
FeatureTable は、関連するレイヤーが更新されると自動的に更新されます (ただし、これは変更可能です)。
カラムの可視性
カラムのメニュー項目を表示/非表示にできます。
ルートの作成、可視化、保存
新しく導入された RouteLayer は、ルートの分析、視覚化、共有を可能にします。RouteLayer は、ストップ、障壁、方向 (解決された場合) で構成されます。RouteLayer は ArcGIS Online または Enterprise から読み込むか、一から作成することができます。
将来のリリースでは、RouteLayer は Directions ウィジェットに統合される予定です。これにより、新しい RouteLayers を作成して Directions ウィジェットで保存したり、Directions ウィジェットで既存の RouteLayers を開いたり、更新したりすることができるようになる予定です。
RouteLayer のサンプルを見るには、Intro to RouteLayer をチェックしてください。
クライアント サイドでの空間解析機能の改良
MapView.hitTest が交差するすべてのフィーチャを返す
MapView.hitTest() は、FeatureLayer, CSVLayer, GeoJSONLayer, StreamLayer, GeoRSSLayer, KMLLayer から指定したスクリーン座標と交差するすべてのフィーチャを返すようになりました。以前は、レイヤーから最上位のフィーチャのみを返していました。
空間統計の集計
バージョン 4.23 では、空間統計の集計に対応しました。統計クエリは、統計がフィールドによってグループ化されている場合、フィーチャを包含する集約された範囲、中心、または凸包のジオメトリを返すことができるようになりました。集約されたジオメトリは結果フィーチャとともに返され、グラフィックの aggregateGeometries プロパティからアクセスすることができます。空間統計の集計のサンプルで動作を確認してください。
CIMSymbol のサポートおよびドキュメントの強化
CIMSymbol のサポート強化に加え、CIMSymbol のドキュメントを更新し、独自の CIMSymbol をより分かりやすく作成できるようにしました。GitHub 上の CIM 仕様書を使用するのとは対照的に、単に API リファレンスを使用することができます。CIM 仕様書でサポートされているすべてのプロパティが、画像とコード スニペットとともに文書化されています。
OAuth 認証によるセキュリティ強化
本バージョン以前は、1ステップの OAuth 認証フローがデフォルトで使用されており、トークンの漏洩や盗難などの問題が発生する可能性がありました。OAuth 2.0 Security Best Current Practices 仕様の勧告に従い、より強固なセキュリティを実現するため、OAuth 認証のデフォルトでは、Proof Key for Code Exchange (PKCE) フローによる2ステップで生成された短命のアクセストークンを使用するようになりました。これは、OAuth のサインインでデフォルトのページ リダイレクトを使用しているアプリケーションのデフォルトの動作となります。
サインインにポップアップを使用せず、アプリケーションが ArcGIS Online または PKCE をサポートするバージョンの ArcGIS Enterprise にアクセスする場合、この更新は透過的であり、開発者が変更する必要はありません。ポップアップ ウィンドウを使用したユーザー サインインで 2 段階認証を利用する方法など、この更新の詳細については、リリース ノートを参照してください。
このリリースでは、さらに多くのことを学ぶことができます。例えば、プロパティを見るための新しいユーティリティ、ポップアップでの画像のより良いデフォルト表示、複数のバンドを持つ大規模な画像サービスに対する大幅なパフォーマンスの改善、その他にも開発者が強力な Web マッピング アプリケーションを構築するための多くの機能強化がされています。詳しくはリリースノートをご覧いただき、新しいサンプルをお試しください。