Рабочий процесс. Создание таблиц с SQL и регистрация их в базе геоданных
Эта тема относится только к ArcGIS for Desktop Standard и ArcGIS for Desktop Advanced.
Для создания таблиц можно использовать SQL. Если таблица содержит пространственный столбец, таблица считается пространственной. Можно использовать SQL для заполнения непространственных и пространственных таблиц данными. Затем для использования функциональности ArcGIS и базы геоданных можно зарегистрировать таблицу в базе геоданных.
Это можно сделать, если вы используете пользовательское приложение для создания пространственных и непространственных таблиц, или если таблицы баз данных получены от другого агентства или подрядчика, но вы хотите использовать преимущества функциональности базы геоданных и ArcGIS.
Создание непространственной таблицы с помощью SQL
- Откройте клиент SQL и войдите в базу данных в качестве пользователя с правами на создание таблиц в базе данных.
- Используйте выражение SQL CREATE TABLE для создания непространственной таблицы 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.
В этих примерах значение SRID равно 0. Задайте другое число.
- Используйте выражения 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 for Desktop можно использовать, чтобы зарегистрировать таблицу в базе геоданных.
Следующие действия используются для регистрации таблицы в базе геоданных ArcGIS for Desktop:
- Запустите ArcMap и откройте окно Каталога или запустите ArcCatalog.
-
Подключитесь к многопользовательской базе геоданных, содержащей таблицу, которую необходимо зарегистрировать.
Подключение осуществляется через папку Подключения баз данных (Database Connections) в дереве Каталога. Убедитесь, что вы подключились как владелец таблицы.
- Щелкните правой кнопкой таблицу patients и выберите Зарегистрировать в базе геоданных (Register with Geodatabase).
- Щелкните правой кнопкой таблицу outbreaks и выберите Зарегистрировать в базе геоданных (Register with Geodatabase).