Пример. Создание пространственного представления в PostgreSQL с помощью SQL

Уровень сложности: Начальный Требования к данным: Используйте собственные данные

Чтобы создать пространственное представление посредством включения пространственного столбца в определение вида, можно использовать SQL. Это можно сделать для просмотра объектов в ArcMap. Также может потребоваться создание пространственного представления для использования таблицы, содержащей несколько пространственных столбцов. Пространственное представление будет содержать только один пространственный столбец для использования в ArcGIS.

В данном примере пространственное представление создается для объединения данных из таблицы employees и регионального класса пространственных объектов.

Создание представления с пространственным столбцом.

Необходимо определить представление, добавив в него пространственный столбец и идентификатор ObjectID из класса пространственных объектов, а также другие желаемые столбцы атрибутов.

Владельцем таблицы employees и регионального класса пространственных объектов является пользователь 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 имеет ненулевое значение, целочисленное значение столбца ObjectID из регионального класса пространственных объектов. Регион является пространственным столбцом из регионального класса пространственных объектов. Эти таблицы объединяются на базе столбца emp_id.

Предоставление прав доступа для пространственного вида

После создания вида необходимо предоставить права доступа SELECT пользователю dispatch_mgr. Параметр WITH GRANT OPTION позволит пользователю dispatch_mgr передавать права доступа к виду другим пользователям, группам или ролям.

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