ワークフロー:データベース データの提供を目的とした ArcGIS Spatial Data Server for IIS の使用

複雑性: 初級 データ要件: 独自データの使用

ArcGIS Spatial Data Server for IIS を設定して、既存のデータベースのデータを公開するには、このトピックに示す次の例に従います。特定の情報(空間データ サーバ名、データベース名、ユーザ名など)をサイトに応じた情報に置き換えます。

この例では、アプリケーションを作成して、廃棄物運搬業者の顧客が新しい容器の配送を要求したり、大型品の集荷を計画したりすることができるようにします。

SQL Server データベースの customers フィーチャクラスが編集可能なフィーチャ サービスとして公開され、service_area フィーチャクラスが読み取り専用のフィーチャ サービスとして空間データ サーバに公開されます。

空間データ サーバの配備

まず、空間データ サーバ、ユーザ、データ ソースを設定します。

ArcGIS Spatial Data Server for IIS のインストール

ArcGIS Spatial Data Server for IIS をインストールするには、ソフトウェアに付属するインストール ガイドの手順に従います。このガイドには、システム要件、ISS 要件、認証、ソフトウェアのインストールに関する情報が記載されています。

注意注意:

ArcGIS.com で公開されているサービスを介して編集できるようにするには、パブリック サーバ(ファイアウォールの外)に ArcGIS Spatial Data Server をインストールする必要があります。

接続するユーザへの権限付与

次の手順では、データ ソースに接続するユーザを指定します。ユーザに、空間データ サーバに公開するデータセットに対する権限を付与する必要があります。たとえば、ユーザに、フィーチャ サービスのデータに対するクエリ専用のアクセス権限を与える場合は、データ ソースに指定したユーザに、フィーチャ サービス内のデータセットに対する SELECT 権限のみを付与する必要があります。

このワークフローの例では、フィーチャ サービスによって QUERY 権限と CREATE 権限が付与されます。このため、データ ソースに接続するユーザに、customers フィーチャクラスに対する SELECT 権限と INSERT 権限を付与する必要があります。

ここに示すように、SQL Server インスタンスにログイン webeditor が作成され、データベース threers に追加されます。データベース ユーザにスキーマが作成され、ユーザに customers フィーチャクラスに対する SELECT 権限と INSERT 権限が付与されます。

CREATE LOGIN webeditor WITH PASSWORD=N'We4Svcs', 
  DEFAULT_DATABASE=threers, 
  CHECK_EXPIRATION=OFF, 
  CHECK_POLICY=ON;
GO

USE threers;

CREATE USER webeditor FOR LOGIN webeditor;
ALTER USER webeditor WITH DEFAULT_SCHEMA=webeditor;
GO

CREATE SCHEMA webeditor AUTHORIZATION webeditor;
GO

GRANT SELECT,INSERT
  ON cdata.customers
  TO webeditor;

データ ソースの作成

データ ソースを作成するときに、接続先のデータベースと、接続するユーザを空間データ サーバに指定します。

複数のデータ ソースを作成できますが、この例で必要なのは 1 つだけです。

手順:
  1. Web ブラウザを開いて、空間データ サーバの [REST API 管理] ビューに移動します。この URL の形式は、「http://<サーバ名>/<空間データ サーバ名>/admin」です。

    この例では、空間データ サーバはサーバ webapps にインストールされており、空間データ サーバは sdsi2s です。したがって、[REST API 管理] のエンドポイント URL は、「http://webapps/sdsi2s/admin」です。

  2. [データソース] リンクをクリックして、[データソースの作成] リンクをクリックし [データソースの作成] ページを開きます。

    [データソースの作成] ページ

  3. 必要な情報を指定します。
    1. 新しいデータ ソースの名前と説明を入力します。この例では、データ ソース名は、「cust_reqs」です。
    2. [サーバ] は、データベースが存在する DBMS インスタンスの名前です。この例では、SQL Server インスタンス名は、「abe\sspub」です。
    3. [データベース] は、公開するデータを格納するデータベースの名前です。この例では、データベースは、「threers」です。
    4. 前のセクションで作成したユーザ名(webeditor)とパスワード(We4Svcs)を入力します。
    5. 情報を正しく入力したら、[データソースの作成] をクリックします。

ArcGIS Online アカウントの設定

この例では、サービスが ArcGIS Online に公開され、そこでアプリケーションが作成されます。

Esri Global Account を使用して、ArcGIS Online にサイン インします。ArcGIS Online で既存の Esri Global Account を登録するか、または Esri Global Account を作成してそこから登録します。http://www.arcgis.com/home/ に移動して、[サイン イン] をクリックします。

ArcGIS Online ですでに Esri Global Account を登録済みの場合は、今回サイン インの必要はありません。これは、サービスが公開されるときのワークフローで行います。

空間データ サーバへの管理者接続の作成

空間データ サーバに特定の接続を介してデータを公開します。管理者接続を使用すると、サーバを管理して、サービスを公開することができます。

空間データ サーバを管理するために、ArcGIS for Desktop から空間データ サーバへの管理者接続を作成します。

手順:
  1. ArcMap を開始して、カタログ ウィンドウを開きます。
  2. カタログ ツリーで [GIS Servers] ノードを展開します。
  3. [ArcGIS Server サーバの追加] をダブルクリックします。
  4. [GIS サーバを管理する] を選択し、[次へ] をクリックします。
  5. [サーバ URL] テキスト ボックスに、空間データ サーバの管理 URL を入力します。

    この例では、URL は「http://webapps/sdsi2s/admin」です。 

  6. [サーバ タイプ] ドロップダウン リストで [空間データ サーバ] を選択します。
  7. この接続を使用してサービス定義を作成および保存する場合は、サービス定義ファイルをディスクにステージングするかどうかを選択できます。デフォルトでは、これらのファイルはローカル コンピュータ上のフォルダにステージングされます。
  8. [完了] をクリックして、接続を作成します。

    [GIS Servers] ノードの下に、新しい接続が一覧表示されます。

フィーチャ サービスの公開

公開するサービスは、次の 2 つです。要求を受け入れる編集可能なサービスと、到達圏を示す読み取り専用のサービスです。他のユーザとサービスを共有するには、ArcMap からデータベースに接続して、ArcMap で 2 つの別々のマップを作成します。1 つは編集可能なサービス用で、もう 1 つは読み取り専用のサービス用です。そして、それぞれを公開します。

ArcGIS for Desktop からデータベースへの接続

データベースへの接続を確立して、データベース内のデータにアクセスできるようにします。データベースへの接続を確立するには、ArcGIS がインストールされているコンピュータにデータベース クライアントをインストールする必要があります。

このワークフローでは、使用中の SQL Server データベースのリリースでサポートされている SQL Server Native Client が必要です。Microsoft からこのクライアントを入手して、クライアント コンピュータにインストールします。

SQL Server Native Client のインストールが完了すると、ArcMap からデータベースへの接続を確立することができます。

ArcMap からデータベースに接続して、マップに customers テーブルを追加できるようにします。

手順:
  1. カタログ ツリーで、[データベース コネクション] ノードを展開します。
  2. [データベース接続の追加] をダブルクリックします。
  3. [データベース プラットフォーム] ドロップダウン リストで [SQL Server] を選択します。
  4. [サービス] テキスト ボックスに、SQL Server インスタンス名「abe\sspub」を入力します。
  5. [データベース] テキスト ボックスに、データベース名「threers」を入力します。
  6. [タイプ] ドロップダウン リストで [データベース認証] を選択します。
  7. [ユーザ名] テキスト ボックスに、「webeditor」と入力します。
  8. [パスワード] テキスト ボックスに、「We4Svcs」と入力します。
  9. [ユーザ名とパスワードを保存する] をオンにして、[OK] をクリックします。

編集可能なサービスのマップの作成

ArcMap に customers テーブルを追加するには、データベース接続からマップ ウィンドウにテーブルをドラッグします。

ArcMap が空間参照と適切な ObjectID 列(NULL でない整数列)を検出できない場合、これを入力するよう求められます。

注意注意:

空間参照を持たないデータは公開できません。

ArcMap のコンテンツ ウィンドウにテーブルが表示されたら、サービスに表示するシンプル シンボルを使ってフィーチャをシンボル表示します。シンボルの変更方法については、ArcGIS ヘルプをご参照ください。

次に、サービスで公開するプロパティに必要な、マップ ドキュメントの構成変更を行います。たとえば、サービスを介して表示されるフィールドの指定、表示されるフィールドのエイリアスの設定、一部のフィールドへの読み取り専用の設定などを行います。この例では、ユーザの要求を処理するために必要な情報をユーザが入力できるように、HTML ポップアップ メニューも設定できます。プロパティの詳細については、「空間データ サーバに公開するフィーチャ サービスの作成の概要」をご参照ください。

サービスに使用する初期範囲にズームします。公開時にサービスが返すフィーチャの最大数を指定していますが、初期範囲が、この最大数以下のフィーチャを返すことを確認します。デフォルトの数は1,000 です。マップを保存します。

編集可能なフィーチャ サービスの公開

マップの準備が整ったら、データを公開して、フィーチャ サービスとして共有します。

手順:
  1. ArcMap ドキュメントのメイン メニューで、[ファイル] [共有] [サービス] の順にクリックします。
  2. [サービスとして共有] ウィンドウに 3 つのオプションがあります。
    • データをすぐに公開するには、[サービスを公開] を選択して、[次へ] をクリックします。
    • 後で公開するためにサービス定義ファイルを保存するには、[サービス定義ファイルを保存] を選択して、[次へ] をクリックします。
    • 既存のサービスを置き換えるには、[既存サービスを上書き] を選択して、[次へ] をクリックします。サービスを置き換えるには、まず元のサービスを停止する必要があります。
  3. [接続] ドロップダウンリストから管理空間データ サーバを選択します。
  4. [サービス名] テキスト ボックスに「three_r_requests」と入力して、[続行] をクリックします。
  5. [サービス エディタ][フィーチャ アクセス] をクリックします。
  6. [削除][更新] をオフにして、ユーザがサービスのクエリとサービスへのフィーチャの追加のみを実行できるようにします。
  7. [検索ごとに返されるフィーチャの最大数] を 1000 に設定しておきます。
  8. [共有] をクリックします。

    [ArcGIS Online サイン イン] ダイアログ ボックスが開きます。

  9. Esri Global Account のユーザ名とパスワードを入力して [OK] をクリックし、サイン インして [サイン イン] ダイアログ ボックスを閉じます。
  10. [サービス エディタ] ダイアログ ボックスの [ArcGIS Online] ペインで、適切なボックスをオンにして、コンテンツへのアクセスを許可するユーザを指定します。
    • この時点で、サービスにアクセスするのが自分だけである場合は、[マイ コンテンツ] をオンにします。
    • ArcGIS Online にアクセスするすべてのユーザがサービスを参照できるようにするには、[すべての人に公開(パブリック)] をオンにします。
    • メンバーとして加入しているグループが表示されます。これらのグループにサービスへのアクセス権限を付与する場合、[これらのグループのメンバー] をオンにしてから、付与の対象とするグループをすべてオンにします。

    複数のオプションをオンにすることができます。たとえば、サービスをコンテンツの一部にして、特定の ArcGIS Online グループにアクセス権限を付与する場合があります。

  11. [解析] をクリックして、公開する前に修正すべきエラーや警告がないことを確認します。

    エラーがあれば修正します。修正しないと公開ができません。

  12. サービスでフィーチャクラスがどのように表示されるかを確認するには、[プレビュー] をクリックします。
  13. ここで、サービス定義ファイルを保存して後で公開することもできます。ただし、このワークフローでは、サービスを公開します。
  14. [公開] をクリックします。
  15. 公開するには、[OK] をクリックしてダイアログ ボックスを閉じます。

読み取り専用サービスのマップの作成

2 つめのマップを作成して、そこから読み取り専用のサービスを公開します。

手順:
  1. ArcMap で新しいマップを開きます。[ファイル] [新規作成] の順にクリックします。
  2. [新規マップ] を選択して、[OK] をクリックします。
  3. service_area フィーチャクラスをマップにドラッグします。
  4. サービスにおける表示方法で、レイヤをシンボル表示します。

    到達圏ポリゴンに塗りつぶしなしを使用するか、または塗りつぶしを透過表示に設定します。

  5. サービスを介して表示するフィールドを指定して、これらのフィールドにエイリアスを設定します。
  6. ローカルの IIS APPPOOL\DefaultAppPool ユーザがアクセスする共有ディレクトリに、マップ ドキュメントを保存します。

読み取り専用サービスの公開

2 つめのマップを公開して、Web アプリケーションで参照ポイントとして使用できるようにします。

手順:
  1. ArcMap ドキュメントのメイン メニューで、[ファイル] [共有] [サービス] の順にクリックします。
  2. [サービスとして共有] ウィンドウに 3 つのオプションがあります。
    • データをすぐに公開するには、[サービスを公開] を選択して、[次へ] をクリックします。
    • 後で公開するためにサービス定義ファイルを保存するには、[サービス定義ファイルを保存] を選択して、[次へ] をクリックします。
    • 既存のサービスを置き換えるには、[既存サービスを上書き] を選択して、[次へ] をクリックします。サービスを置き換えるには、まず元のサービスを停止する必要があります。
  3. [接続] ドロップダウンリストから管理空間データ サーバを選択します。
  4. [サービス名] テキスト ボックスに「service_area」と入力して、[続行] をクリックします。
  5. [サービス エディタ][フィーチャ アクセス] をクリックします。
  6. [URL] テキスト ボックスにパブリック サーバの URL を入力します。

    パブリック サーバに編集可能なフィーチャ サービスを公開して、ArcGIS Online でアクセスできるようにする必要があります。

  7. [追加][削除][更新] をオフにして、ユーザがこのサービスのクエリのみを実行できるようにします。
  8. [ArcGIS Online] をクリックします。

    [ArcGIS Online サイン イン] ダイアログ ボックスが開きます。

  9. Esri Global Account のユーザ名とパスワードを入力して [OK] をクリックし、サイン インして [サイン イン] ダイアログ ボックスを閉じます。
  10. [サービス エディタ] ダイアログ ボックスの [ArcGIS Online] ペインで、適切なボックスをオンにして、コンテンツへのアクセスを許可するユーザを指定します。
    • この時点で、サービスにアクセスするのが自分だけである場合は、[マイ コンテンツ] をオンにします。
    • ArcGIS Online にアクセスするすべてのユーザがサービスを参照できるようにするには、[すべての人に公開(パブリック)] をオンにします。
    • メンバーとして加入しているグループが表示されます。これらのグループにサービスへのアクセス権限を付与する場合、[これらのグループのメンバー] をオンにしてから、付与の対象とするグループをすべてオンにします。

    複数のオプションをオンにすることができます。たとえば、サービスをコンテンツの一部にして、特定の ArcGIS Online グループにアクセス権限を付与する場合があります。

  11. [解析] をクリックして、公開する前に修正すべきエラーや警告がないことを確認します。

    エラーがあれば修正します。修正しないと公開ができません。

  12. サービスでフィーチャクラスがどのように表示されるかを確認するには、[プレビュー] をクリックします。
  13. ここで、サービス定義ファイルを保存して後で公開することもできます。ただし、このワークフローでは、サービスを公開します。
  14. [公開] をクリックします。
  15. 公開するには、[OK] をクリックしてダイアログ ボックスを閉じます。

サービスの表示

ArcGIS Spatial Data Services Directory からサービスに関する情報を表示できます。ArcGIS Online にサービスを公開したら、そこからマップのサービスが表示できます。

ArcGIS Spatial Data Services Directory からサービスへのアクセス

ArcGIS Spatial Data Services Directory には、特定の空間データ サーバに公開されているすべてのサービスが一覧表示されます。ここから、サービス定義を JSON ファイルとしてエクスポートしたり、SQL クエリを作成してフィーチャクラスのフィーチャを選択または挿入したり、ArcGIS.com でサービスを開いたりできます。

ArcGIS Spatial Data Services Directory の URL は、「http://<サーバ名>/<空間データ サーバ名>/rest/services」です。したがって、この例では、URL は「http://webapps/sdsi2s/rest/services」です。両方のサービスが表示されます。

ArcGIS Online の使用

フィーチャクラスを空間データ サーバに公開したら、ArcGIS Online から表示することができます。

手順:
  1. Web ブラウザを開いて、ArcGIS Online の Web サイト「http://www.arcgis.com/home/index.html」に移動します。
  2. [サイン イン] をクリックします。
  3. Esri Global Account のユーザ名とパスワードを入力して [サイン イン] をクリックします。
  4. [マイ コンテンツ] をクリックします。
  5. まず、three_r_requests サービスを追加します。
    1. [アイテムの追加] をクリックします。
    2. [アイテムの場所] ドロップダウン リストから、[Web] を選択します。
    3. サービスの URL を入力します。

      この例では、URL は「http://webapps/sdsi2s/rest/services/three_r_requests.svc」です。

    4. [タイトル] テキスト ボックスに、サービスのタイトルを入力します。
    5. [タグ] テキスト ボックスに、サービスを特定するタグを入力します。
    6. [アイテムの追加] をクリックします。
  6. 同じ手順に従って、service_area サービスをコンテンツに追加します。

Web アプリケーションの作成

まず、サービスと、エリアの道路のベースマップを含むマップを ArcGIS.com に作成します。次に、ArcGIS.com からアプリケーション テンプレートを使用して、Web アプリケーションを作成します。

ArcGIS.com でのマップの作成

ArcGIS.com で両方のサービスをベースマップに追加し、マップを保存して、アプリケーションで使用できるようにします。

手順:
  1. ArcGIS.com の [マイ コンテンツ] セクションで、読み取り専用のサービスをクリックします。
  2. [開く] をクリックして、そのサービスのデータを示すマップを開きます。
  3. [追加] をクリックし、[Web からのレイヤの追加] を選択して 2 つめのサービスを追加します。

    [Web からのレイヤの追加] ダイアログ ボックスが開きます。

  4. [URL] テキスト ボックスに編集可能なサービスの URL を入力して、[レイヤの追加]をクリックします。
  5. [ベースマップ] をクリックして、道路名を示すレイヤの 1 つを選択します。
  6. 必要に応じて、マップの範囲を調整して、両方のサービスの範囲に適応させます。
  7. [保存] をクリックして、マップを保存します。
    1. マップのタイトル、タグ、サマリを入力します。
    2. マップを保存するフォルダを選択します。
    3. [マップの保存] をクリックします。
  8. パブリックに、または特定のグループで、マップを共有します。
  9. マップの ID を書き留めておいてください。Web アプリケーションを作成する際に使用します。

Web アプリケーションを作成するテンプレートの使用

アプリケーションが編集を許可する必要があるため、Edit web application template を使用します。

手順:
  1. Edit web application template をダウンロードします。
  2. ダウンロードした *.zip ファイルを IIS サーバの「inetpub\wwwroot」フォルダに置きます。
  3. ファイルを抽出します。
  4. readme.html ファイル内の手順に従って、アプリケーションを設定します。
9/15/2013