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

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

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

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

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

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

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

ヒントヒント:

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

psql testdb gdb
Enter password for user gdb:

CREATE VIEW emp_region_vw
AS SELECT (
	employees.emp_name,employees.emp_id,
	hbear.region.rname,
	hbear.region.reg_id,
	hbear.region.region)
	FROM employees, hbear.regions
	WHERE employees.emp_id = hbear.regions.emp_id;

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

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

ビューが作成されたため、dispatch_mgr に SELECT 権限を付与します。WITH GRANT OPTION を指定して、dispatch_mgr ユーザにビューの権限を他のユーザ、グループまたはロールに付与することを許可します。

GRANT SELECT 
ON gdb.emp_region_vw
TO dispatch_mgr WITH GRANT OPTION;
9/14/2013