FAQ
ArcGIS Maps SDK for JavaScript : フィーチャの編集

ナレッジ番号:5639 | 登録日:2023/10/11 | 更新日:2024/01/16

概要

ArcGIS Maps SDK for JavaScript は、Web 上で GIS データを編集する機能を提供しています。一般的な Web ブラウザーを利用するため、Web ブラウザーは広く普及しており、容易に利用できるツールとして GIS データの利用が可能です。利用者には、フィールド作業員や企業の GIS 担当者、GIS を知らない一般ユーザーも含まれます。

ArcGIS Maps SDK for JavaScript では、編集機能をアプリケーションに実装する際に役立つウィジェットが含まれています。これにより、エンドユーザーの編集時の操作を単純化し、マップや Web アプリケーションをデザインすることが可能です。たとえば、ArcGIS Pro でフィーチャテンプレートを事前に定義することで、特定の種類のフィーチャをユーザーが追加することを容易にできます。また、編集対象の属性の制限や、属性を正確かつ規則正しく入力させるために、ドロップダウンリストからの選択などのオプションも利用できます。開発者は、ユーザーに対して単純な編集操作から複雑な編集操作までの制御が可能です。

Web 編集を行うためには、まずレイヤーのジオメトリと属性に関する情報を Web 上に公開するためにフィーチャ サービスまたはホスト フィーチャ レイヤーを公開する必要があります。

フィーチャ サービスの役割

ArcGIS Maps SDK for JavaScript において、編集操作はフィーチャのシンボルとジオメトリ情報をフィーチャ サービスに要求します。ArcGIS Enterprise を構築した際に公開できるフィーチャ サービスは Feature Access ケーパビリティを有効([フィーチャ] の機能をオン)にしたマップ サービスです。このケーパビリティにより、Webアプリケーション上でフィーチャのジオメトリやシンボルを使用・更新する機能がマップサービスに付与されます。

編集機能を実装したアプリケーションを構築する前に、編集対象のレイヤーを含んだフィーチャ サービスを公開する必要があります。フィーチャ サービスにはオプションで編集用のテンプレートを含めることができます。これらのテンプレートは ArcGIS Pro で設定することができ、よく使用されるフィーチャ タイプのシンボルと属性をあらかじめ定義することが可能です。例えば、道路データを編集するために「高速道路」「国道」「県道」「一般道」といったテンプレートを定義することができます。テンプレートを利用することで、エンドユーザーの入力作業が簡単になります。

フィーチャ サービスを公開すると、マップサービスとフィーチャ サービスの両方の REST URL(エンドポイント)が作成されます。Web アプリケーションでサービスを参照する際には、これらの URL を使用します。フィーチャ サービスは FeatureLayer と呼ばれるレイヤータイプを使用して ArcGIS Maps SDK for JavaScript からアクセスすることができます。FeatureLayer には様々な機能が提供され、マップ サービスまたはフィーチャ サービスのいずれかを参照することができます。ただし、FeatureLayer を使用して編集を行う場合は、フィーチャ サービスを参照する必要があります。

Web アプリケーションは属性またはジオメトリが変更された場合、FeatureLayer にその情報を送信します。FeatureLayer では編集が完了したら、編集内容を適用した最新のフィーチャが表示されます。編集内容を適用するには、FeatureLayer の applyEdits() メソッドを使用してデータベースに編集内容を保存します。

ArcGIS Maps SDK for JavaScript の編集機能

ArcGIS Maps SDK for JavaScript では、単純なフィーチャ編集機能が提供されています。フィーチャは ArcGIS Online のホストされたフィーチャ レイヤーや ArcGIS Enterprise のフィーチャ サービスに格納されている必要があります。バージョン対応の有無は関係なく、ArcGIS Online や ArcGIS Enterprise のライセンスに応じて編集機能を利用できます。

  • ホスト フィーチャー レイヤー:ArcGIS Online、Portal for ArcGIS に公開できるサービス。データの格納先は ArcGIS Online または ArcGIS Data Store。
  • フィーチャー サービス:エンタープライズ ジオデータベースにデータが格納されており、そのデータ ベースを ArcGIS Server が参照した形で公開できるサービス。

ArcGIS Maps SDK for JavaScript の編集機能では、フィーチャの追加、削除、移動、切り取り、結合、形状変更などが行えます。また、フィーチャの属性を編集することもできます。複数の人が同じフィーチャに対して編集した場合は、最後に行われた編集の内容がデータベースに保存されます。

アプリケーションに編集機能を追加する方法

ArcGIS Maps SDK for JavaScript 4.x では、Webアプリケーションに編集機能を簡単に追加するためのウィジェットを提供しています。以下のウィジェットが利用可能です。ウィジェットを利用しない場合は、FeatureLayer に内包されている編集のメソッドを利用します。

Editor ウィジェット

編集機能を簡単に実装したい場合や、提供されるデフォルトの編集インターフェースを利用したい場合は、Editor ウィジェットを使用します。Editor ウィジェットは、編集に必要なすべての機能を提供しております。また、アプリケーション上で使用する編集機能を選択することもできます。Editor ウィジェットを使用することで、フィーチャのジオメトリを描画した後に直ちにフィーチャが作成され、編集内容が保存されます。

FeatureForm ウィジェット

実装したい編集操作が、既存フィーチャの属性値の変更のみで良いのであれば、FeatureForm ウィジェットが使用できます。このウィジェットではレイヤーに含まれるフィールドを読み取り、適切な情報が入力される UI を用意します。
例えば、コード値ドメインが設定されており、決まった値しか入力できないフィールドの編集にはドロップダウンメニューを用意する、日付型のフィールドの編集であれば、YYYY/MM/DD を受け付ける、などです。

FeatureTable ウィジェット

FeatureTable は、地図上のフィーチャデータをテーブル形式で表示し、検索や編集などの対話的なデータ操作が可能な UI コンポーネントです。データをリストし、フィルタリングやソートを行いながら、特定の属性値を持つフィーチャを素早く見つけることができます。これにより、大量の地理空間データを効率的に管理し、利用することができます。

また、フィーチャの編集や削除、新しいフィーチャの作成も行え、編集モードに切り替えることでテーブル内のフィーチャ属性を直接編集できます。さらに、選択したフィーチャをハイライト表示する機能も提供します。開発者は FeatureTable をカスタマイズして、表示や操作の仕組みをアプリケーションの要件に合わせて調整できます。

Attachments ウィジェット

フィーチャ クラスに関連付けられた添付ファイルの表示、追加、更新、削除は Attachments ウィジェットが使用できます。Editor ウィジェットにも内包されています。またポップアップの添付ファイル操作には、このウィジェットの機能が使われています。

FeatureLayer のメソッドの利用

ウィジェットを利用しない場合は、FeatureLayer クラスに用意されているデータ編集用の FeatureLayer.applyEdits() メソッドを利用します。メソッドに渡す引数によって、フィーチャの追加・更新・削除の操作を一度に行えます。既存のウィジェットと組み合わせたり、カスタムの GUI などと組み合わせて拡張性の高い操作を行えます。
そのほか FeatureLayer の添付ファイルの操作も FeatureLayer にメソッドが内包されているため、添付ファイルを操作したいフィーチャを特定した後に、必要な操作だけを行えます。

  • FeatureLayer.addAttachment():添付ファイルの追加
  • FeatureLayer.updateAttachment():添付ファイルの更新
  • FeatureLayer.queryAttachments():添付ファイルの検索
  • FeatureLayer.deleteAttachments():添付ファイルの削除

メタデータ

種類

製品