例: SQL を使用して SQL Server で空間ビューを作成する

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

ビューの定義に空間列を含めることで、SQL を使用して空間ビューを作成できます。空間ビューを作成すると、ArcMap でフィーチャを表示できます。また、空間ビューを作成すると、複数の空間列を含むテーブルを使用することもできます。空間ビューには、1 つの空間列だけが含まれるため、ArcGIS で使用することができます。

この例では、employees テーブルと region フィーチャクラスを結合する空間ビューを作成します。

空間列を持つビューの作成

フィーチャクラスの空間列および ObjectID の両方と、ビューに含めるその他の属性列を含むように、ビューを定義します。

employees テーブルと region フィーチャクラスの所有者は gdb ユーザであるため、ユーザはビューの作成に必要な権限をすでに持っています。

ヒントヒント:

ビューを作成するには、ユーザはデータベースに対する CREATE VIEW 権限に加えて、ビューに含まれる各テーブルまたはフィーチャクラスに対して少なくとも SELECT 権限を持つ必要があります。

USE testdb;
CREATE VIEW emp_region_view
AS SELECT (e.emp_name,e.emp_id,r.rname,r.reg_id,r.region) 
FROM employees e JOIN region r 
ON e.emp_id = r.emp_id;
GO

reg_id は、region フィーチャクラスの NULL ではない整数の ObjectID 列です。region は、region フィーチャクラスの空間列です。テーブルは、emp_id 列に基づいて結合されます。

空間ビューに対する権限の付与

これでビューが存在するので、ptolemy ドメイン ログインに SELECT 権限を付与します。ptolemy がビューに対する権限を他のユーザに付与できるように、WITH GRANT OPTION を含めます。

USE testdb;
GRANT SELECT 
ON emp.region.view 
TO [ourdomain\ptolemy]
WITH GRANT OPTION;
GO
ヒントヒント:

ptolemy ドメイン ログインに権限を付与するには、SQL Server インスタンスと testdb データベースにそのドメイン ログインを追加する必要があります。

5/10/2014