チュートリアル: データベースのデータを使用した Web 編集の実行

複雑性: 中級 データ要件: ソフトウェアと共にインストール済み 目的: データベースに存在するデータを、ArcGIS.com map viewerを使用して Web 上で編集できるようにするフィーチャ サービスを作成します。

Web ベースの編集では、広範なユーザ層がデータに追加や修正の操作を実行できます。これらのユーザ層としては、たとえばフィールド スタッフ、社内の他の部署のアナリストが挙げられます。また、特に専門的な知識のない方でもデータを見事な仕上がりに加工できます。これは、ユーザにわかりやすい編集インタフェースが提供されているためです。

このチュートリアルでは、データベースへのデータの読み込み、データに対する権限の付与、ArcGIS Server へのデータベースの登録、マップ ドキュメントの作成、およびフィーチャ サービスの公開を行い、ArcGIS.com map viewerを通じてフィーチャ サービスを利用してデータを編集します。

チュートリアルを始める前に

フィーチャ サービスをデータベースから公開する場合は、空間データを格納できるデータベースがあることが前提となります。データベースがない場合は、データベース管理ソフトウェアをインストールして、データベースを作成する必要があります。場合によっては、空間タイプをインストールして、データベースに空間データを格納できるようにする必要があります。フィーチャ サービスは、次のデータベース管理システムのいずれかから公開できます。

サポートされているデータベースのバージョンについては、「リレーショナル データベース管理システムの要件」をご参照ください。

このチュートリアルを実行するには、次の 2 人のユーザが必要です。1 人は、データベースにテーブルとフィーチャクラスを作成する権限を持つユーザ(データ所有者)、もう 1 人は、初めにデータベースへの接続権限のみを持つユーザ(データ編集者)です。データ編集者には、データを編集してフィーチャ サービスとして公開する権限を後で付与します。

データベース管理者であれば、データベース管理システムのツールを使用して両方のユーザを作成し、必要な権限を付与することができます。または、[データベース ユーザの作成(Create Database User)] ジオプロセシング ツールを使用して、データ所有者ユーザを作成することもできます。ただし、データ編集者ユーザについては、データベース管理システムのツールを使用して作成する必要があります。データベース管理者でない場合は、このチュートリアルで使用するデータ所有者とデータ編集者の作成を、データベース管理者に依頼します。

ArcGIS Server をインストールした直後の場合は、このチュートリアルを始める前に次のトピックを読むことをお勧めします。

データの準備

このチュートリアルでは、ArcGIS を使用してフィーチャクラスをデータベースにコピーする手順も説明しています。この手順の代わりに、データベースのツールを使用してテーブルを作成する場合、または既存のフィーチャクラスを使用する場合は、フィーチャ サービスとして公開するデータが次の条件を満たしている必要があります。

これらすべての要件を満たすフィーチャクラスを ArcGIS で作成するには、次のセクションを完了します。

データベースへのフィーチャクラスの追加

データ所有者(データベースにテーブルを作成するための十分な権限を持つユーザ)としてデータベースに接続し、ArcGIS for Server と一緒にインストールされたファイル ジオデータベースからフィーチャクラスをコピーします。

ArcGIS Server のサンプル データへの接続

ArcGIS for Server と一緒にファイル ジオデータベース(tree_maintenance.gdb)がインストールされています。このデータに ArcGIS for Desktop から接続します。

ArcGIS for Server を Linux コンピュータにインストールしている場合は、tree_maintenance.gdb を ArcGIS for Desktop コンピュータ上のディレクトリにコピーするか FTP で転送します。Linux 上のデータのデフォルトの場所は <home directory of installing user>/arcgis/server/help/samples/data です。

手順:
  1. ArcCatalog または ArcMap を起動し、カタログ ウィンドウを開きます。
  2. [フォルダに接続] フォルダに接続 をクリックします。
  3. ArcGIS for Server(Windows)をインストールしたディレクトリ内のサンプル データ フォルダ、または ArcGIS for Server(Linux)のインストールからコピーしたサンプル データ フォルダを選択します。

    デフォルトでは、Windows のデータは C:\Program Files\ArcGIS\Server\help\samples\data にインストールされます。

  4. [OK] をクリックして、フォルダをカタログ ツリーの [フォルダ接続] に追加します。

データ所有者としてデータベースに接続する

データをデータベースにコピーできるように、データ所有者ユーザとしてデータベースに接続します。

手順:
  1. カタログ ウィンドウのカタログ ツリーで、[Database Connections] ノードを展開します。
  2. [データベース接続の追加] をダブルクリックし、データ所有者ユーザとしてデータベースに接続します。

    データベースへの接続方法については、「ArcGIS Desktop でのデータベース接続」をご参照ください。

  3. データ所有者の接続として識別できるように、接続ファイルに名前を付けます。

    たとえば、新しい接続を右クリックして [名前変更] をポイントし、「dataowner@mydatabase.sde」と入力します。

データベースへのデータのコピー

tree_maintenance ファイル ジオデータベースから trees、villages、および streets フィーチャクラスをコピーして、データベースに貼り付けます。

手順:
  1. サンプル データ フォルダを開きます。
  2. tree_maintenance ジオデータベースをダブルクリックして接続します。
  3. ArcMap で作業している場合は、カタログ ウィンドウに コンテンツ ウィンドウが開いていることを確認します。
  4. Shift キーを押しながら、tree_maintenance ジオデータベースの streets、trees、および villages フィーチャクラスを選択します。

    一度に複数のフィーチャクラスを選択する場合は、フィーチャクラスを [コンテンツ] タブ(ArcCatalog)または [コンテンツ] ペイン(ArcMap)でクリックする必要があります。

  5. ハイライトされたフィーチャクラスを右クリックし、[コピー] をクリックします。
  6. データベース接続を右クリックして、[貼り付け] をクリックします。

streets、trees、および villages フィーチャクラスがデータベースにコピーされます。

データに関する権限の付与

公開するデータにアクセスする予定のユーザには、データを編集するための十分な権限を付与する必要があります。たとえば、公開するフィーチャクラスで新しいフィーチャの挿入および既存のフィーチャの更新を実行できるようにする場合は、データに対する SELECT、INSERT、および UPDATE の権限を、接続するユーザに付与する必要があります。既存のレコードの更新のみを実行できるようにする場合は、データに対する SELECT および UPDATE の権限を、接続ユーザに付与します。

データをテスト サイトに公開する場合、またはこのチュートリアルを学習の目的のみで完了する場合は、データ所有者としてデータを公開できます。ただし、実際に稼働しているサイトにデータを公開する場合は、データのアクセスに使用する接続に対して最低限の権限のみを付与するようにしてください。

データベース認証ユーザを使用する場合は、データに関する権限をデータベース ユーザに付与します。Windows 認証を使用してデータベースに接続する場合は、権限を ArcGIS Server アカウントに付与する必要があります。

次の手順では、フィーチャ サービスに含めるフィーチャクラスに対して選択、挿入、および更新の権限を付与します。独自のデータを使用する場合は、同じ基本手順に従ってデータに対する権限を付与してください。

手順:
  1. カタログ ツリーで、データベース接続の下に表示されている trees フィーチャクラスを右クリックし、[管理] をポイントして [権限] をクリックします。

    [権限] ダイアログ ボックスが開きます。

  2. データ編集者のデータベース ユーザまたは ArcGIS Server アカウントがリストに表示されている場合は、trees フィーチャクラスに対する選択、挿入、および更新の権限を付与するチェックボックスをオンにします。
  3. データ編集者のデータベース ユーザまたは ArcGIS Server アカウントがリストに表示されていない場合は、次の手順を実行します。
    1. [追加] をクリックして、[ユーザ/ロール] ダイアログ ボックスを開きます。
    2. システム テーブルを表示してデータベース内のすべてのユーザとロールを一覧表示する権限がデータベースにある場合は、追加するデータベース ユーザまたはロールを、リストの横にあるチェックボックスをオンにして選択できます。それ以外の場合は、権限を付与するデータベース ユーザ、データベース ロール、オペレーティング システムのログイン、または Windows グループの名前を入力します。
    3. [OK] をクリックして、[ユーザ/ロール] ダイアログ ボックスを閉じます。

      [選択] ボックスは、すでにオンになっています。

    4. [挿入] および [更新] のボックスをオンにして [OK] をクリックし、権限を付与してダイアログ ボックスを閉じます。
  4. villages および streets フィーチャクラスについて、これらの手順を繰り返します。

フィーチャ サービスと Web 編集を使用できるマップ ドキュメントの作成

公開するデータを準備し、ArcGIS Server がデータにアクセスできるように権限を付与したら、Web 編集で使用するフィーチャ サービスをサポートするためにマップ ドキュメントを作成できます。

データ編集者としてデータベースに接続する

データベース認証を使用している場合は、データ編集者ユーザとしてデータベースに接続します。データ所有者として接続した際と同じ手順に従って、データベースに接続します。ただし、今回はデータ編集者として接続します。[ユーザ名とパスワードを保存する] チェックボックスをオンにして、ユーザ名とパスワードを接続に保存します。

オペレーティング システム認証を使用している場合は、データに対して少なくとも選択の権限を持つログインを使用して接続します。フィーチャ サービスは、マップの作成および公開に使用しているログインではなく、データを編集する権限を付与した ArcGIS Server アカウントとしてデータにアクセスします。

検索しやすいように、接続ファイルの名前を dataeditor@mydatabase に変更します。この接続ファイルは、データベースをサーバに登録する際に必要になります。

サーバへのデータベースの登録

ArcGIS Server で公開するには、GIS サーバへの公開者接続を作成して、データベースを登録する必要があります。このチュートリアルでは、公開者のデータベースがサーバ データベースと同じになるように、データベースを登録します。つまり、公開されたフィーチャ サービスは、直接ソース データベース内のデータにアクセスします。

手順:
  1. まず、サーバに接続してデータを公開します。「ArcGIS for Desktop での ArcGIS Server への公開者接続の作成」の手順に従って、このタイプの接続を作成できます。
  2. サーバに接続したら、データベースを登録できます。GIS サーバ接続を右クリックして、[サーバ プロパティ] をクリックします。
  3. [データ ストア] タブで、[登録済みのデータベース] の横にある [追加] 追加 ボタンをクリックします。

    [データベースの登録] ダイアログ ボックスが開きます。

  4. 登録済みデータベースの一意の名前を入力します。
  5. [インポート] をクリックし、前のセクションで作成したデータベース接続ファイル(データベースへの編集者の接続)を参照して選択します。
  6. [公開者のデータベース接続と同じ] の横にあるチェックボックスがオンであることを確認します。
  7. [OK] をクリックして [データベースの登録] ダイアログ ボックスを閉じます。
  8. [OK] をクリックして [ArcGIS Server プロパティ] ダイアログ ボックスを閉じます。

マップへのデータの追加とプロパティの設定

カタログ ウィンドウで、公開するフィーチャクラスを編集者のデータベース接続からマップにドラッグできます。ArcMap は、ObjectID フィールドや空間参照などの必要なプロパティを確認します。これらのプロパティを確認できない場合は、必要な情報を指定するよう指示されます。

データベース テーブルを ArcMap に追加するときに、テーブルにアクセスするためのクエリ レイヤが定義されます。クエリ レイヤを変更して、ArcMap に表示するデータを定義することができます。クエリ レイヤの定義を変更する方法については、「クエリ レイヤの変更」をご参照ください。

注意注意:

クエリ定義ではテーブルを結合できません。フィーチャ サービスを公開する場合、クエリ レイヤには 1 つのテーブルのデータだけを含めることができます。

マップの構成が完了したら、マップ ドキュメントを保存します。

手順:
  1. ArcMap をまだ起動していない場合は、ここで起動します。
  2. カタログ ウィンドウで、データ編集者の接続をダブルクリックしてデータベースに接続します。
  3. データベース接続からフィーチャクラスを一度に 1 つずつ選択し、マップにドラッグします。

    チュートリアル データを使用している場合は、villages、trees、および streets フィーチャクラスを選択します。

    ArcMap はデータの空間範囲を計算し、フィーチャをマップ上に表示します。

  4. レイヤが正しい順序で描画されることを確認します。チュートリアル データの場合は、trees、streets、villages の順になります。レイヤの順序が正しくない場合は、[描画順にリスト] 描画順にリスト をクリックし、コンテンツ ウィンドウでレイヤを正しい順序にドラッグします。

データをマップに追加したら、フィールド プロパティ、シンボル、およびレイヤの説明を設定できます。また、HTML ポップアップ ウィンドウを構成することもできます。マップ プロパティの設定については、「フィーチャ サービスの作成」をご参照ください。

trees レイヤのプロパティの設定

trees レイヤの一般的なプロパティを設定します。

手順:
  1. ArcMap のコンテンツ ウィンドウで trees レイヤを右クリックし、[プロパティ] をクリックします。

    [レイヤ プロパティ] ダイアログ ボックスが開きます。

  2. [一般] タブで、[レイヤ名] を「公共の場所にある樹木」に変更します。
  3. [説明] に次のように入力します。公園管理局によって管理されている、公共の場所にある樹木の一覧。
  4. trees レイヤを描画する最小の縮尺を設定します。
    1. [縮尺範囲] で、[縮尺に応じて表示を制御] をクリックします。
    2. 最小縮尺を [1:500,000] に設定します。
    3. 最大縮尺は [<なし>] のままにします。
  5. [適用] をクリックして、ここまでに行ったプロパティの変更を設定します。

フィールドのエイリアスを設定します。

手順:
  1. [フィールド] タブをクリックします。
  2. フィールドに次のようにエイリアスを割り当てます。
    1. フィールド リストから [tree_planted] を選択し、[エイリアス] フィールドに「植栽日」と入力します。
    2. フィールド リストから [eg_decid] を選択し、エイリアスに「常緑樹または落葉樹」と入力します。
    3. フィールド リストから [last_trimmed] を選択し、エイリアスに「剪定日」と入力します。
  3. [適用] をクリックして、フィールド エイリアスを設定します。

次に、trees レイヤのシンボルを変更します。

手順:
  1. [レイヤ プロパティ] ダイアログ ボックスの [シンボル] タブをクリックします。
  2. [カテゴリ] をクリックします。

    デフォルトで、[個別値] カテゴリが選択されています。

  3. [値フィールド] ドロップダウン リストで [常緑樹または落葉樹] を選択します。
  4. [すべての値を追加] をクリックします。

    d および e の値が、デフォルトのシンボルと色でリストに追加されます。

  5. 落葉樹(d)のシンボルを変更します。
    1. d のデフォルト シンボルをダブルクリックして、[シンボル選択] ダイアログ ボックスを開きます。
    2. [参照スタイル] をクリックし、[Civic] の横にあるチェックボックスをオンにします。
    3. [OK] をクリックして、[シンボル選択] に Civic のシンボルを追加します。
    4. [Tree 3] シンボルを選択します。

      下にスクロールして、シンボルを検索する必要があります。

    5. [OK] をクリックして、変更を適用します。
  6. 常緑樹(e)のシンボルを変更します。
    1. e のデフォルト シンボルをダブルクリックして、[シンボル選択] ダイアログ ボックスを開きます。
    2. [Tree 2] シンボルを選択します。
    3. [OK] をクリックして、シンボルの変更を適用します。
  7. [OK] をクリックしてシンボルの変更をすべて適用し、[レイヤ プロパティ] ダイアログ ボックスを閉じます。

villages レイヤのプロパティの設定

villages レイヤの一般的なプロパティを設定します。

手順:
  1. ArcMap のコンテンツ ウィンドウで villages レイヤを右クリックし、[プロパティ] をクリックします。

    [レイヤ プロパティ] ダイアログ ボックスが開きます。

  2. [一般] タブで、[レイヤ名] を「」に変更します。
  3. [説明] に次のように入力します。Osokopf の村の境界。
  4. villages レイヤを描画する最小縮尺を設定します。
    1. [縮尺範囲] で、[縮尺に応じて表示を制御] をクリックします。
    2. 最小縮尺を [1:10,000,000] に設定します。
    3. 最大縮尺は [<なし>] のままにします。
  5. [適用] をクリックして、ここまでに行ったプロパティの変更を設定します。

フィールドのエイリアスを設定します。

手順:
  1. [フィールド] タブをクリックします。
  2. フィールドに次のようにエイリアスを割り当てます。
    1. フィールドのリストから [village_name] を選択し、エイリアスに「名前」と入力します。
    2. フィールドのリストから [population] を選択し、「人口(2010)」と入力します。
  3. [適用] をクリックします。

villages レイヤのシンボル表示に使用する色を変更します。

手順:
  1. [シンボル] タブをクリックします。
  2. [カテゴリ] をクリックします。

    デフォルトで、[個別値] が選択されています。

  3. [値フィールド] ドロップダウン リストで [名前] を選択します。
  4. [すべての値を追加] をクリックします。
  5. 村ごとに異なる色を選択します。
  6. シンボルの変更がすべて完了したら、[OK] をクリックしてすべての変更内容を適用し、[レイヤ プロパティ] ダイアログ ボックスを閉じます。

streets レイヤのプロパティの設定

参照データでは、独立したマップ サービスを公開することをお勧めします。このチュートリアルでは、streets レイヤは参照データとしてしか使用されませんが、必要な手順を減らすためにフィーチャ サービスの一部にします。

手順:
  1. 他のレイヤと同じ手順に従って、streets レイヤの一般的なプロパティ、シンボル、およびフィールド エイリアスを設定します。
  2. streets レイヤでは、ラベル プロパティも設定します。
  3. [ラベル] タブをクリックします。
  4. [このレイヤのラベルを表示] をオンにします。
  5. [ラベル フィールド] が st_name フィールドに設定されていることを確認します。
  6. ラベルの縮尺範囲を設定します。
    1. [その他のオプション] で、[縮尺範囲] をクリックします。
    2. [縮尺に応じて表示を制御] をクリックし、最小縮尺を [1:250,000] に設定します。
    3. [OK] をクリックして、[縮尺範囲] ダイアログ ボックスを閉じます。
  7. [適用] をクリックして、変更した内容を保存します。

デフォルトでは、すべてのフィーチャクラスで HTML ポップアップ ウィンドウが有効になっています。ここでは、streets レイヤの編集は行わないため、HTML ポップアップ ウィンドウを無効にしてかまいません。

手順:
  1. [レイヤ プロパティ] ダイアログ ボックスの [HTML ポップアップ] タブをクリックします。
  2. [ポップアップ ツールを使用してレイヤのコンテンツを表示] チェックボックスをオフにします。
  3. [OK] をクリックして変更内容を適用し、[レイヤ プロパティ] ダイアログ ボックスを閉じます。

フィーチャ アクセスを有効にしたマップ サービスの公開

データとマップの準備が完了したら、フィーチャ アクセスを有効にしてマップ サービスを公開できます。

手順:
  1. ArcMap のメイン メニューで、[ファイル] [共有] [サービス] の順にクリックします。
  2. [サービスとして共有] ウィンドウで、[サービスを公開] を選択します。[次へ] をクリックします。
  3. [サービスを公開] ダイアログ ボックスで、チュートリアルの前の手順で設定した ArcGIS Server への公開者接続を選択します。
  4. デフォルトでは、マップ ドキュメントの名前がサービス名に使用されます。デフォルトを使用する代わりに、「TreeMaintenance」と入力します。
  5. デフォルトでは、ArcGIS Server のルート フォルダ(root)にサービスが公開されます。デフォルトの場所が選択された状態で、[続行] をクリックします。

    [サービス エディタ] ダイアログ ボックスが表示されます。[サービス エディタ] を使用して、フィーチャ サービスでユーザが実行できる操作を選択し、サーバがフィーチャ サービスを公開する方法を調整します。

  6. [機能] タブをクリックします。
  7. デフォルトでは、マッピングと KML が有効になっています。[フィーチャ アクセス] を選択します。このオプションを有効にすると、マップ サービスに関連するフィーチャ サービスが作成され、クライアントが Web 上でフィーチャを編集できるようになります。
  8. [サービス エディタ] ダイアログ ボックスの左側のペインで、[フィーチャ アクセス] をクリックして、サービスで使用する URL を確認します。
  9. [許可するオペレーション] で、[削除] をオフにします。

    接続ユーザには、フィーチャを削除する権限を付与しなかったことに注意してください。

  10. [サービス エディタ] ダイアログ ボックスの左側のペインで [アイテム説明] をクリックし、次のように入力します。
    1. [サマリ] に、「公共の場所にある樹木のリストを更新するためのサービス。」と入力します。
    2. [タグ] に、「樹木,管理,公園」と入力します。
    3. [説明] に、「樹木管理フィーチャ サービスは、公共の場所にある樹木リストの更新に使用できます。」と入力します。
  11. [分析] をクリックして、フィーチャを公開できることを確認します。

    エラー メッセージが返された場合は、公開する前にエラーを修正する必要があります。警告または情報メッセージは修正しなくてもかまいません。これらのメッセージは、作成されるサービスのパフォーマンスおよび操作性を向上するために生成されるもので、サービスの機能に必須の内容ではありません。フィーチャ サービスを通してデータベースのデータを編集する際はデフォルト テンプレートだけを使用するため、警告 24041 は無視できます。

  12. [公開]公開 をクリックします。

フィーチャ サービスが ArcGIS Server に公開されます。Web アプリケーションでフィーチャ サービスを利用して、編集を行えるようになりました。

Web アプリケーションでのフィーチャ サービスの利用

このセクションでは、ArcGIS.com map viewerを使用して、データベースに対して Web 経由でフィーチャを追加、更新、および編集します。map viewerArcGIS.com 上でホストされ、ArcGIS Server Service Directory を経由して直接配置できます。map viewerを使用するために、構成やプログラミングの作業は必要ありません。

次の手順に従って作業を開始します。

手順:
  1. Web ブラウザを開き、ArcGIS Server Services Directory に移動します。これは通常、http://gisserver.domain.com:6080/arcgis/rest/services にあります。Services Directory には、ArcGIS Server と一緒にインストールされたショートカットを開くことでもアクセスできます。
  2. サービス リストで [TreeMaintenance (Feature Server)] をクリックします。
  3. [TreeMaintenance (FeatureServer)] ページに、trees、streets、および villages フィーチャクラスと、フィーチャ サービスでサポートされているオペレーションが表示されます。これらのパラメータが正しいことを確認します。
  4. ページ上部の [View In: ArcGIS.com Map] をクリックします。

    新しいウィンドウ(またはタブ)が開き、ArcGIS.com map viewerが表示されます。

  5. map viewerの上部にある [編集] をクリックします。

    [フィーチャの追加] ダイアログ ボックスが開きます。

  6. マップの各エリアを拡大表示し、既存のフィーチャの属性を編集します。属性を編集するには、次の手順を実行します。
    1. フィーチャをクリックします。

      HTML ポップアップ ウィンドウが開きます。

    2. フィールドに新しい値を入力します。日付の場合は、カレンダーから日付を選択します。
    3. [閉じる] をクリックし、編集を適用して HTML ポップアップ ウィンドウを閉じます。
  7. trees レイヤにも、新しいフィーチャを追加します。これは、次の手順で行います。
    1. [フィーチャの追加] ペインで、[d](落葉樹)または [e](常緑樹)のシンボルをクリックします。
    2. マップ上で樹木を配置する場所をクリックします。
    3. 追加した樹木を選択し、HTML ポップアップ ウィンドウを使用して属性を追加します。
    4. [閉じる] をクリックし、編集を適用して HTML ポップアップ ウィンドウを閉じます。
  8. フィーチャに対する編集がデータベースに反映されていることを確認します。

    これを行うには、ArcMap ドキュメントに切り替えてマップ表示を更新します。Web マップに追加したフィーチャがマップ表示に表示されます。属性に対する編集を確認するには、ArcMap で trees レイヤの属性テーブルを開きます。

  9. 必要な場合は、arcgis.com にサイン インしてマップを保存できます。

参考トピック

以上で、ArcGIS.com map viewerを使用してフィーチャ サービスを正常にテストすることができました。次に、他の ArcGIS クライアントでフィーチャ サービスを使用し、共有する方法を検討できます。たとえば、次のように指定します。

Web ベースの編集では、外部ユーザがデータへの追加または修正を行うことができます。上記の ArcGIS クライアントの 1 つまたはすべてを探索することにより、特定の目的、目標または組織の戦略に合わせて編集シナリオをカスタマイズできる追加のオプションを得ることができます。

5/20/2014