Доступно с лицензией Standard или Advanced.
Для создания таблиц можно использовать SQL. Если таблица содержит пространственный столбец, таблица считается пространственной. Можно использовать SQL для заполнения непространственных и пространственных таблиц данными. Если таблица существует, можно зарегистрировать ее в базе геоданных, чтобы она могла участвовать в функциональности базы геоданных.
Это можно сделать, если вы используете пользовательское приложение для создания пространственных и непространственных таблиц, или если таблицы баз данных получены от другого агентства или подрядчика, но вы хотите использовать преимущества функциональности базы геоданных и ArcGIS.
Аналогично, можно использовать SQL, чтобы задать представления пространственных и непространственных таблиц. Если определение представления включает столбец целых чисел, содержащий уникальные значения, которые можно использовать в качестве ObjectID, представление можно зарегистрировать в базе геоданных. Регистрация представления позволяет хранить информацию о содержании представления, например, экстент и тип геометрии, и задать метаданные представления.
В этом рабочем процессе вы создадите и непространственную, и пространственную таблицы при помощи клиента SQL, добавите данные в таблицы и зарегистрируете таблицы в базе геоданных.
Создание непространственной таблицы с помощью SQL
- Откройте клиент SQL и войдите в базу данных в качестве пользователя с правами на создание таблиц в базе данных.
- Используйте выражение CREATE TABLE SQL для создания непространственной таблицы patients, которая содержит столбцы со следующими именами: PID, f_name, l_name и dwel_id.
Oracle
CREATE TABLE patients (PID integer NOT NULL, f_name nvarchar2(25), l_name nvarchar2(38), dwel_id integer);
PostgreSQL
CREATE TABLE patients (PID integer NOT NULL UNIQUE, f_name varchar(25), l_name varchar(38), dwel_id integer);
Db2
CREATE TABLE patients (PID integer NOT NULL, f_name varchar(25), l_name varchar(38), dwel_id integer);
Informix
CREATE TABLE patients (PID integer NOT NULL, f_name varchar(25), l_name varchar(38), dwel_id integer);
Добавление данных в непространственную таблицу с помощью SQL
Используйте выражения SQL INSERT для добавления записей в таблицу patients при помощи SQL.
- Вставьте четыре записи в таблицу patients:
Oracle
INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (1, 'wolfgang', 'bruker', 4301); INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (2, 'ida', 'pastens', 4301); INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (3, 'ricardo', 'montoya', 1001); INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (4, 'tukufu', 'endel', 9601);
PostgreSQL
INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (1, 'wolfgang', 'bruker', 4301); INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (2, 'ida', 'pastens', 4301); INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (3, 'ricardo', 'montoya', 1001); INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (4, 'tukufu', 'endel', 9601);
Db2
INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (1, 'wolfgang', 'bruker', 4301); INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (2, 'ida', 'pastens', 4301); INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (3, 'ricardo', 'montoya', 1001); INSERT INTO PATIENTS (PID, f_name, l_name, dwel_id) VALUES (4, 'tukufu', 'endel', 9601);
Informix
INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (1, 'wolfgang', 'bruker', 4301); INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (2, 'ida', 'pastens', 4301); INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (3, 'ricardo', 'montoya', 1001); INSERT INTO patients (PID, f_name, l_name, dwel_id) VALUES (4, 'tukufu', 'endel', 9601);
Создание пространственной таблицы с помощью SQL
Можно также использовать выражение CREATE TABLE для создания таблицы с пространственным столбцом.
- Создайте таблицу outbreaks, которая содержит целочисленный OID, целочисленный dwel_id, адрес улицы, целочисленный city_code и столбец ST_Geometry:
Oracle
CREATE TABLE outbreaks (OID integer NOT NULL, address nvarchar2(120), city_code integer, loc sde.st_geometry);
PostgreSQL
CREATE TABLE outbreaks (OID integer NOT NULL UNIQUE, address varchar(120), city_code integer, loc sde.st_geometry);
Db2
CREATE TABLE outbreaks (OID integer NOT NULL, address nvarchar2(120), city_code integer, loc st_geometry);
Informix
CREATE TABLE outbreaks (OID integer NOT NULL UNIQUE, address varchar(120), city_code integer, loc st_geometry);
Добавление данных в пространственную таблицу с помощью SQL
Вставьте три записи в таблицу outbreaks.
- Используйте выражения SQL INSERT и функцию ST_Point для добавления записей в таблицу outbreaks:
Oracle
INSERT INTO OUTBREAKS (OID, address, city_code, loc) VALUES (1, '1420 kirchestrasse', 43, sde.st_geometry (0.00003, 0.00051, null, null, 4326) ); INSERT INTO OUTBREAKS (OID, address, city_code, loc) VALUES (2, '638 villa arbol', 10, sde.st_geometry (0.00020, -0.00029, null, null, 4326) ); INSERT INTO OUTBREAKS (OID, address, city_code, loc) VALUES (3, '5579 riverview dr', 96, sde.st_geometry (-0.00048, -0.00009, null, null, 4326) );
PostgreSQL
INSERT INTO outbreaks (OID, address, city_code, loc) VALUES (1, '1420 kirchestrasse', 43, sde.st_point (0.00003, 0.00051, null, null, 4326) ); INSERT INTO outbreaks (OID, address, city_code, loc) VALUES (2, '638 villa arbol', 10, sde.st_point (0.00020, -0.00029, null, null, 4326) ); INSERT INTO outbreaks (OID, address, city_code, loc) VALUES (3, '5579 riverview dr', 96, sde.st_point (-0.00048, -0.00009, null, null, 4326) );
Db2
INSERT INTO OUTBREAKS (OID, address, city_code, loc) VALUES (1, '1420 kirchestrasse', 43, st_point (0.00003, 0.00051, null, null, 0) ); INSERT INTO OUTBREAKS (OID, address, city_code, loc) VALUES (2, '638 villa arbol', 10, st_point (0.00020, -0.00029, null, null, 0) ); INSERT INTO OUTBREAKS (OID, address, city_code, loc) VALUES (3, '5579 riverview dr', 96, st_point (-0.00048, -0.00009, null, null, 0) );
Informix
INSERT INTO outbreaks (OID, address, city_code, loc) VALUES (1, '1420 kirchestrasse', 43, st_point (0.00003, 0.00051, null, null, 0) ); INSERT INTO outbreaks (OID, address, city_code, loc) VALUES (2, '638 villa arbol', 10, st_point (0.00020, -0.00029, null, null, 0) ); INSERT INTO outbreaks (OID, address, city_code, loc) VALUES (3, '5579 riverview dr', 96, st_point (-0.00048, -0.00009, null, null, 0) );
Регистрация таблиц в базе геоданных
Можно зарегистрировать таблицу в базе геоданных в ArcGIS Desktop.
В следующих шагах описывается регистрация в базе геоданных в ArcGIS Desktop:
- Откройте инструмент геообработки Зарегистрировать в базе геоданных.
Можно либо выполнить поиск инструмента, либо открыть его в группе инструментов Администрирование базы геоданных, набора Управление данными, либо в окне Каталога ArcMap – щелкнув правой кнопкой таблицу или представление под подключением к базе данных и выбрав Зарегистрировать в базе геоданных.
- Запустите клиент ArcGIS Desktop и подключитесь к многопользовательской базе геоданных, содержащей таблицу или представление, которые вы хотите зарегистрировать.
Подключитесь к таблице или представлению как владелец, поскольку только владелец может выполнять регистрацию в базе геоданных.
- Щелкните правой кнопкой таблицу patients и выберите Зарегистрировать в базе геоданных.
- Щелкните правой кнопкой таблицу outbreaks и выберите Зарегистрировать в базе геоданных.