チュートリアル: オフラインで使用するフィーチャ サービス データの構成
このトピックの内容
- チュートリアルを始める前に
- エンタープライズ ジオデータベースの設定
- 新しいデータベース ユーザーの作成
- フィーチャ サービスと Web 編集を使用できるマップ ドキュメントの作成
- 公開するエンタープライズ ジオデータベースの準備
- フィーチャ アクセスを有効にしたマップ サービスの公開
- 同期機能の利用
Web ベースの編集では、広範なユーザー層がデータに追加や修正の操作を実行できます。これらのユーザー層としては、たとえばフィールドスタッフ、社内の他の部署のアナリストが挙げられます。また、特に専門的な知識のない方でもデータを見事な仕上がりに加工できます。これは、ユーザーにわかりやすい編集インターフェイスが提供されているためです。
このチュートリアルでは、マップをオフラインで操作するときに使用できるように、フィーチャ サービス データを設定する方法について説明します。ここでは、海岸線の野鳥観察を管理する目的で架空のエンタープライズ ジオデータベースを設定します。
このチュートリアルでは、次の作業を行う方法を示します。
- PostgreSQL、Oracle などのデータベース プラットフォームを使用して、エンタープライズ ジオデータベースを設定します。
- Web 編集をサポートするマップ ドキュメントを作成します。これには、フィーチャ サービスに適合するマップ ドキュメントの設計が必要です。このチュートリアルでは、フィーチャ サービスの使用により、ユーザーはエンタープライズ ジオデータベースに野鳥観察を追加および編集できます。
- ArcGIS Server で公開するためにエンタープライズ ジオデータベースを準備します。この作業には、フィーチャ サービスの同期機能をサポートするためのデータの設定、ArcGIS Server への接続、およびサーバーへのデータベースの登録が含まれます。
- フィーチャ アクセス ケーパビリティと同期機能を有効にしたマップ サービスとしてマップ ドキュメントを公開します。これによりフィーチャ サービスのエンドポイントが作成され、クライアント アプリケーションはこのエンド ポイントを通して、マップ内の野鳥観察をオフラインで編集することができます。
チュートリアルを始める前に
ArcGIS Server をインストールした直後の場合は、このチュートリアルを始める前に次のトピックを読むことをお勧めします。
- ArcGIS Server サイトを構成する方法については、ヘルプの「インストール後の作業」をご参照ください。
- エンタープライズ ジオデータベースとデータベース管理が初めての場合は、「ジオデータベース管理」をご参照ください。
- フィーチャ サービスの使用経験がない場合は、「フィーチャ サービスとは」をご参照ください。
エンタープライズ ジオデータベースの設定
エンタープライズ ジオデータベースのデータを使用して、フィーチャ サービスを公開できます。これは、エンタープライズ ジオデータベースが複数のユーザーによる同時編集に対応する設計になっているためです。このチュートリアルではよくある状況です。エンタープライズ ジオデータベースでは、PostgreSQL、SQL Server、Oracle などのさまざまなデータベース プラットフォームを使用できます。
このチュートリアルの目的に合わせて、作成および編集するフィーチャを格納する空のエンタープライズ ジオデータベースを設定する必要があります。サポートされているデータベース プラットフォームをすでにインストールし、空のジオデータベースを設定している場合は、次のセクションに進んでください。そうでない場合は、適切なデータベース プラットフォームをコンピューターにインストールし、新しいエンタープライズ ジオデータベースを作成する必要があります。その前に、オペレーティング システム、ArcGIS for Server のライセンス レベル、および ArcGIS for Desktop で、インストールするデータベース プラットフォームを使用できることを確認してください。
次のトピックでは、データベース プラットフォームごとの設定処理について説明します。これらのトピックには、新しいエンタープライズ ジオデータベースを作成して組織内で使用できるように正しく構成する方法を説明している補助トピックへのリンクもあります。適切なデータベース プラットフォームをインストールし、新しいジオデータベースを作成したら、このチュートリアルの次のセクションに進んでください。
新しいデータベース ユーザーの作成
空のエンタープライズ ジオデータベースを作成したら、新しいデータベース ユーザーを作成して編集を管理します。これを行うには、データベースにデータベース管理者として接続して新しいデータベース ユーザーを作成し、新しいユーザーとしてデータベースに再接続する必要があります。
データベースへの接続と新しいユーザーの作成
- ArcCatalog または ArcMap の [カタログ] ウィンドウで、[Database Connections] フォルダー を展開し、[データベース接続の追加] をダブルクリックします。
[データベース コネクション] ダイアログ ボックスが開きます。
- [データベース プラットフォーム] ドロップダウン リストから、接続するデータベースの種類を選択します。
- 適切なデータベース プロパティと認証情報を入力して、データベースに接続します。手順が不明な場合は、「ArcGIS for Desktop でのデータベース接続」を参照し、正しい情報を入力してデータベースに接続する方法を確認してください。
ユーザーを作成するために、データベース管理者として接続する必要があります。
- [OK] をクリックします。データベースへの接続が [Database Connections] ノード に表示されます。
- 新しいデータベース接続を右クリックし、[管理] > [ユーザーの追加] の順に選択します。これにより、[データベース ユーザーの作成 (Create Database User)] ジオプロセシング ツールが起動します。
- [データベース ユーザーの作成] ダイアログ ボックスで、新しいデータベース ユーザー名とデータベース ユーザー パスワードを入力します。例、ユーザー: editor、パスワード: tutorial。
- [OK] をクリックします。
新しいユーザーがデータベースに作成され、テーブルとフィーチャクラスの作成に必要な権限がユーザーに付与されました。
新しいユーザーとしてデータベースに再接続
- ArcCatalog または ArcMap の [カタログ] ウィンドウで、[Database Connections] フォルダーを展開し、[データベース接続の追加] をダブルクリックします。
- [データベース コネクション] ダイアログ ボックスで、前のセクションで作成したユーザーの認証情報を入力します。
- [OK] をクリックします。
以上で、新しいユーザーとしてデータベースに接続されます。
- [Database Connections] フォルダー で、データベースへの接続を確立した最初の接続を削除します。これにより、このチュートリアルの後の手順でデータベース接続ファイルを指定するときの混乱を回避しやすくなります。
フィーチャ サービスと Web 編集を使用できるマップ ドキュメントの作成
エンタープライズ ジオデータベースを設定したら、Web 編集で使用するフィーチャ サービスを使用できるマップ ドキュメントの作成作業を開始できます。
このセクションでは、次の操作を行います。
- 属性ドメインの作成によるデータの一貫性の確保。
- 野鳥観察を表すフィーチャクラスの作成。
- ユーザーが野鳥観察に外部メディアを追加できるフィーチャ アタッチメントの作成。
- レイヤー レンダラーとシンボルの定義。
- コンテキストのベースマップの追加。
- マップへの野鳥観察の追加。
開始するには、下記のセクションの手順に従います。
属性ドメインの作成
編集時のデータの一貫性を確保するために、属性ドメインを構成して、データベースに追加される観察を少数の特定の野鳥タイプに制限します。
- ArcMap を起動し、新しい空のマップ ドキュメントを開き、マップ ドキュメントを保存します。マップ ドキュメントは、ArcGIS Server を実行しているアカウントからアクセスできる場所に保存する必要はありません。
- [カタログ] ウィンドウで、[Database Connections] フォルダー を展開します。
- データベース接続を右クリックして、[プロパティ] を選択します。
- [データベース プロパティ] ダイアログ ボックスで、[ドメイン] タブをクリックします。
- [ドメイン名] フィールドで、最初のセルをクリックし、「タイプ」と入力します。
- ドメイン名の横の [説明] 列で、最初のセルをクリックし、「野鳥タイプ」と入力します。
- [ドメイン プロパティ] セクションで、[フィールド タイプ] の横のセルをクリックして、[Long Integer] を選択します。
- [ドメイン タイプ] の横のセルをクリックし、[コード値] を選択します。
- [コード値] セクションで、[コード] 列の最初のセルをクリックし、「0」と入力します。
- コードの横の [説明] 列で、最初のセルをクリックし、「ウミスズメ/外洋にすむ鳥」と入力します。
- 次の表から [コード値] セクションに残りの野鳥タイプを入力します。
コード 説明 1
潜水鳥類
2
カモメ類/アジサシ
3
猛禽類
4
浜鳥
5
渉禽類
6
水鳥
7
不明
- [OK] をクリックします。
フィーチャクラスの作成
チュートリアルのこのセクションでは、野鳥観察ジオデータベースのさまざまな鳥の種類を表すポイント フィーチャクラスを作成します。これには、フィーチャクラスの空間参照の定義、およびフィーチャクラス テーブルの新しいフィールドへのドメインの割り当てが含まれます。次の手順に従って作業を開始します。
- [カタログ] ウィンドウで、データベース接続を右クリックし、[新規作成] > [フィーチャクラス] の順に選択します。
- [フィーチャクラスの新規作成] ダイアログ ボックスで、[名前] フィールドに「shoreline_birdsightings」と入力します。
- [種類] ドロップダウン リストから、[ポイント フィーチャ] を選択します。[次へ] をクリックします。
- 座標系検索ボックスに「Web メルカトル (球体補正)」と入力し、[検索] をクリックします。
- 結果リストで、[WGS 1984 Web メルカトル図法 (球体補正)]を選択します。これは、ArcGIS Online で使用される座標系と同じ座標系であり、フィーチャ サービスを ArcGIS ベースマップ サービスとシームレスにオーバーレイすることができます。[次へ] をクリックします。
- [XY 許容値] パネルで、デフォルトの値をそのまま使用して [次へ] をクリックします。
- [コンフィグレーション キーワード] パネルで、デフォルトの値をそのまま使用して [次へ] をクリックします。
- [フィールド プロパティ] パネルの [フィールド名] 列で、[SHAPE] の下のセルをクリックし、「TYPE」と入力します。
- [データ タイプ] 列で、[ジオメトリ] の下のセルをクリックして、[Long Integer] を選択します。
- [ドメイン] の右側のセルをクリックしてフィールドのプロパティを編集し、[タイプ] を選択します。これは、チュートリアルのタイプ ドメインで定義した値のみをフィールドが受け入れることを指定します。
- [フィールド名] 列で、[TYPE] フィールドの下のセルをクリックし、「COMMENTS」と入力します。
- 「COMMENTS」フィールドのデータ タイプとして [Text] を指定します。
- [完了] をクリックします。
フィーチャクラスが作成され、[コンテンツ] ウィンドウに自動的に追加されます。
フィーチャ アタッチメントの作成
このセクションでは、フィーチャクラスにフィーチャ アタッチメントを追加します。アタッチメントは、フィーチャを作成または編集するときにフィーチャに関連付けることができる、イメージ、PDF、またはビデオなどのメディア ファイルです。たとえば、海岸線の野鳥観察をデータベースに追加するときに、追加のコンテキスト用に野鳥の写真をアタッチできます。フィーチャをクリックすると、アタッチメントが表示されます。
- [カタログ] ウィンドウで、エンタープライズ ジオデータベースへの接続を展開します。
- [shoreline_birdsightings] フィーチャクラスを右クリックして、[管理] > [アタッチメントの作成] の順に選択します。
ArcMap では、アタッチされたファイルとリレーションシップ クラスを格納する新しいテーブルを追加して、フィーチャとそのアタッチメント間のリンクを管理します。
レイヤー レンダラーとシンボルの定義
このセクションでは、データベース内のさまざまな野鳥タイプのレイヤー レンダラーとシンボルを定義します。フィーチャはマップ ドキュメントで定義されたシンボルを使用して Web 上に表示されるため、フィーチャをシンボル表示する方法は重要です。
- ArcMap の [コンテンツ] ウィンドウで、[描画順にリスト] をクリックします。
- [shoreline_birdsightings] フィーチャクラスを右クリックして、[プロパティ] をクリックします。
- [レイヤー プロパティ] ダイアログ ボックスの [シンボル] タブをクリックします。
- [表示] ダイアログ ボックスの [カテゴリ] > [個別値] の順にクリックします。これは、データベース内のすべてのフィーチャに個別値のレンダラーを使用することを指定します。
- [値フィールド] ドロップダウン リストで、[タイプ] を選択します。
- [すべての値を追加] をクリックします。各野鳥タイプがリストに追加されます。
- [<その他の値すべて>] シンボルの横にあるチェックボックスをオフにします。
- [ウミスズメ/外洋にすむ鳥] 野鳥タイプの横にあるシンボルをダブルクリックします。
- [シンボル選択] ダイアログ ボックスで、検索フィールドに「ウミスズメ」と入力し、[検索] をクリックします。
- [ウミスズメ/外洋にすむ鳥] シンボルを選択し、サイズを [25] に増やします。
- [OK] をクリックします。シンボルが [ウミスズメ/外洋にすむ鳥] 野鳥タイプに適用されます。
- 次の基準に基づいて、シンボル検索を使用して残りの野鳥タイプのシンボル表示を指定します。
- シンボルの指定が完了したら、[レイヤー プロパティ] ダイアログ ボックスの [OK] をクリックします。シンボルが ArcMap の [コンテンツ] ウィンドウに表示されます。
野鳥タイプ | 検索条件 | シンボル | サイズ |
---|---|---|---|
潜水鳥類 | diving bird | 25 | |
カモメ類/アジサシ | tern | 25 | |
猛禽類 | raptor | 25 | |
浜鳥 | shorebird | 25 | |
渉禽類 | wading bird | 25 | |
水鳥 | waterfowl | 25 | |
不明 | 疑問符(結果のリストで、[ESRI_Optimized] スタイルを選択します)。 | 25 |
コンテキストのベースマップの追加
コンテキストの場合は、ArcGIS Online からベースマップをマップ ドキュメントに追加します。
- ArcMap のメイン メニューで、[ファイル] > [データの追加] > [ベースマップの追加] の順にクリックします。
- ベースマップとして、[キャンバス (ライト グレー)] を選択し、[追加] をクリックします。ベースマップがマップ表示に追加されます。
- なじみのある海岸や海岸線などの対象地域を拡大し、マップ ドキュメントを保存します。
マップへのフィーチャの追加
以上でフィーチャを適切にシンボル表示し、コンテキストのベースマップを追加しました。次に、適切な編集環境を設定し、フィーチャをマップに追加します。
- ArcMap で、メイン メニューから [カスタマイズ] > [ツールバー] > [エディター] の順に選択して、[エディター] ツールバーを表示します。
- [エディター] ツールバーで、[エディター] > [オプション] の順にクリックします。
- [編集オプション] ダイアログ ボックスで、[バージョニング] タブをクリックします。
- ジオデータベースのデータはバージョン非対応であるため、[データベースのバージョンを編集 (元に戻す、やり直し操作を許可)] をオフにします。このオプションをオフにすると、バージョン非対応のデータを編集できます。
- [OK] をクリックします。
- [エディター] ツールバーで、[エディター] > [編集の開始] の順にクリックします。デフォルトのフィーチャ編集テンプレートが、マップ ドキュメントの編集可能レイヤーのシンボルに基づいて作成されます。次のステップでは、このフィーチャ テンプレートを使用し、マップにフィーチャを追加します。
- [エディター] ツールバーで、[フィーチャ作成] をクリックします。
- [フィーチャ作成] ウィンドウで、野鳥タイプを選択し、マップに追加します。
- [エディター] ツールバーで、[属性] をクリックします。
- [属性] ウィンドウで、作成したフィーチャにコメントとアタッチメントを追加します。選択した野鳥の写真を Web で検索して画像として保存し、アタッチメントとして追加します。
- [コンテンツ] ウィンドウで、[shoreline_birdsightings] フィーチャクラスを右クリックし、[属性テーブルを開く] を選択します。
- [テーブル] ウィンドウで、フィーチャとコメントがテーブル内にあることを確認します。操作が完了したら、テーブルを閉じます。
- 手順 7 〜 12 を繰り返して、別の野鳥観察をマップに追加します。
- [エディター] ツールバーで、[エディター] > [編集の終了] の順にクリックします。プロンプトが表示されたら、[はい] をクリックして編集を保存します。
- マップ ドキュメントを保存します。
公開するエンタープライズ ジオデータベースの準備
マップ ドキュメントの作成と編集が完了しました。続いて、公開するデータを準備します。このチュートリアルでは、バージョン対応登録されていないデータを使用します。データを準備するには、次の操作を行う必要があります。
- Global ID の追加
- 履歴管理の有効化
- ベースマップ レイヤーをマップから削除します。
- ArcGIS Server への接続
- サーバーへのデータベースの登録
Global ID の追加
クライアント アプリケーションでローカルにフィーチャ サービスを使用するには、Global ID をデータに追加する必要があります。これにより、データベースに対して行った編集を一意に識別できます。
- [カタログ] ウィンドウでジオデータベース接続をダブルクリックして、そのコンテンツを表示します。
- [shoreline_birdsightings] フィーチャクラスを右クリックして、[管理] > [Global ID の追加] の順に選択します。
- [Global ID の追加の確認] ダイアログ ボックスで、[はい] をクリックします。
履歴管理の有効化
データベース内のデータはバージョン非対応であるため、クライアントがフィーチャ サービスをローカルで使用できるように、履歴管理を有効にする必要があります。履歴管理によってデータに対して行った変更が記録され、ローカル データをフィーチャ サービスに同期できるようになります。
履歴管理を有効化するには、[shoreline_birdsightings] フィーチャクラスを右クリックして、[管理] > [履歴管理の有効化] の順に選択します。
ベースマップ レイヤーの削除
- ArcMap の [コンテンツ] ウィンドウで、ベースマップを右クリックし、[削除] を選択します。
- マップ ドキュメントを保存します。
ArcGIS Server への接続
- ArcMap の [カタログ] ウィンドウで、[GIS Servers] ノードを展開します。
- [ArcGIS Server サーバーの追加] をダブルクリックします。
- [GIS サービスを公開する] を選択し、[次へ] をクリックします。
- [サーバーの URL] に接続先の ArcGIS Server サイトの URL を入力します。デフォルトは、http://gisserver.domain.com:6080/arcgis です。ユーザーまたはサーバー管理者が ArcGIS Web Adaptor をインストールした場合、URL は ArcGIS Web Adaptor の構成に応じて変わります。その他の URL の例については、「ArcGIS URL のコンポーネント」をご参照ください。
- [サーバー タイプ] ドロップダウン リストで、[ArcGIS Server] が選択されていることを確認します。
- このチュートリアルでは、デフォルトのステージング フォルダーの場所をそのまま使用します。
- サーバー管理者がサイトのセキュリティを有効にしている場合は、ユーザー名とパスワードを入力します。[完了] をクリックします。
ArcGIS Server への公開者接続が、[GIS サーバー] ノードに作成されます。
ArcGIS Server へのデータベースの登録
マップ ドキュメントはエンタープライズ ジオデータベースにあるデータを参照します。このため、エンタープライズ ジオデータベースを ArcGIS Server に登録する必要があります。登録には、マップ ドキュメントにより参照されるエンタープライズ ジオデータベースおよびデータの場所に関する ArcGIS Server の知識が必要です。これにより、公開する準備が整っていることを確認できます。
- カタログ ウィンドウで、ArcGIS Server への公開者接続を右クリックして、[サーバー プロパティ] を選択します。
- [ArcGIS Server プロパティ] ダイアログ ボックスで、[登録済みのデータベース] パネルの横にある [追加] をクリックします。
- [データベースの登録] ダイアログ ボックスで、登録済みのデータベースの一意の名前を入力します。名前には、英数字とスペースを使用できます。例: Shoreline Bird Sightings GDB。
- [公開者のデータベース接続] の横で、[インポート] をクリックします。
- [データベース接続の参照] ダイアログ ボックスで、[場所] ドロップダウン リストをクリックし、[データベース接続] を選択します。
- データベースへの接続を選択して [選択] をクリックします。
- [データベースの登録] ダイアログ ボックスの [サーバー データベース接続] セクションで、[公開者のデータベース接続と同じ] の横のチェックボックスがオンになっていることを確認します。これにより、フィーチャ サービスにアクセスしている ArcMap ユーザーと Web ユーザーの両方が野鳥観察ジオデータベース内のデータを同時に表示および操作できます。詳細については、「データのサーバーへの登録について」をご参照ください。
- [OK] をクリックします。エンタープライズ ジオデータベースがサーバーに登録され、[登録済みのデータベース] ダイアログ ボックスに表示されます。
- [OK] をクリックして [ArcGIS Server プロパティ] ダイアログ ボックスを閉じます。
フィーチャ アクセスを有効にしたマップ サービスの公開
以上で、データベースを準備する作業を完了しました。次に、[フィーチャ アクセス] ケーパビリティを有効にしてマップ ドキュメントを公開できます。これにより、マップ サービスへのフィーチャ サービス エンドポイントを作成します。Web アプリケーションなどのクライアントは、マップのフィーチャにアクセスし、編集を行うことができます。
この手順には、同期機能を有効にする作業も含まれます。これにより、オフラインの状態で、フィーチャ サービスのデータをクライアント アプリケーションで使用できるようになります。
- ArcMap のメイン メニューで、[ファイル] > [共有] > [サービス] の順にクリックします。
- [サービスとして共有] ウィンドウで、[サービスを公開] を選択します。[次へ] をクリックします。
- [サービスを公開] ダイアログ ボックスで、チュートリアルの前の手順で設定した ArcGIS Server への公開者接続を選択します。
- デフォルトでは、マップ ドキュメントの名前はサービス名です。デフォルトの名前を使用する代わりに、「Shoreline_BirdSightings」と入力します。[次へ] をクリックします。
- デフォルトでは、ArcGIS Server のルート フォルダー (root) にサービスが公開されます。デフォルトの場所が選択された状態で、[続行] をクリックします。
[サービス エディター] ダイアログ ボックスが開きます。[サービス エディター] を使用して、フィーチャ サービスでユーザーが実行できる操作を選択し、サーバーがフィーチャ サービスを公開する方法を調整します。
- [ケーパビリティ] タブをクリックします。
- デフォルトでは、マッピングと KML が有効になっています。[フィーチャ アクセス] を選択します。このオプションを有効にすると、マップ サービスに関連するフィーチャ サービスが作成され、クライアントが Web 上でフィーチャを編集できるようになります。
- [サービス エディター] の左側のウィンドウで、[フィーチャ アクセス] をクリックします。
- [フィーチャ アクセス] ダイアログ ボックスで、[同期] 機能を有効にします。
- [サービス エディター] ダイアログ ボックスの左側のウィンドウで [アイテム説明] をクリックし、次のようにサービスのサマリーとタグを入力します。
- サマリー: 「海岸線の野鳥観察」フィーチャ サービスにより、ユーザーはマップへの一般的な海岸線の野鳥観察の追加、観察への写真のアタッチ、コメントの入力を行うことができます。
- タグ: shoreline、bird、sighting
- [公開] をクリックします。
フィーチャ サービスが ArcGIS for Server で公開されます。公開処理が完了したら、海岸線の野鳥観察フィーチャ サービスをクライアント アプリケーションで利用することができます。また、クライアント アプリケーションを使用して、オフラインで使用するフィーチャのローカル コピーを作成することもできます。
同期機能の利用
注意:
ArcGIS クライアントと開発者向け SDK では、ArcGIS 10.2.1 for Server で導入された同期機能のサポートをフィーチャ サービスに段階的に追加します。オフラインでのマップの操作を最初にサポートするクライアントは、バージョン 10.2.2 の Collector for ArcGIS と ArcGIS Runtime SDK です。ArcGIS 10.2.1 for Server より前のバージョンで公開されたフィーチャ サービスでは、同期機能を有効にすることはできません。
その他のクライアントは、ArcGIS REST API を介して同期機能にアクセスすることができます。
ArcMap を使用して、オフライン編集ワークフローに含まれているフィーチャ サービスを編集する場合、必ず ArcMap の編集オプションの [編集後に変更内容を自動的に保存します] を有効なままにしてください。このオプションを無効にすると、編集セッションを閉じるまで、他のクライアントからの同期が妨げられます。