Надання даних будь-якому клієнту SDE за допомогою ArcSDE
Надання даних будь-якому клієнту SDE за допомогою ArcSDE
ArcSDE – модуль, створений для інтеграції клієнт/серверної технології Spatial Database Engine (SDE) із програмним забезпеченням ArcInfo. Користувачі звертаються до ArcSDE через Defined Layers – стандартну утиліту ArcInfo версії 7.2. ArcSDE дозволяє надавати дані будь-якому клієнту SDE без їх перетворення та дублювання.
ArcSDE і двох окремих серверів – для покриттів (SDE for Coverage) і СУБД (SDE for DBMS). SDE для покриттів як джерела використовує файлові дані і представляє їх як шари SDE. Ці джерела включають покриття (coverages), шейп-файли ArcView GIS, шари ArcStorm та шари бібліотек карт. SDE для СУБД працює із шарами SDE, які зберігаються в реляційних базах даних. ArcSDE забезпечує поступовий крок за кроком перехід до повністю реляційного середовища.
Мал.Тепер SDE працює як з файловими даними, так і з даними СУБД
ArcSDE поставляється з ліцензіями на два сервери, SDE для покриттів та SDE для СУБД, та п'ятьма клієнтськими місцями SDE, які забезпечують одночасні з'єднання із серверами SDE для покриттів та/або SDE для СУБД. Користувачі можуть вибрати варіант ліцензії для СУБД для будь-якої з наступних баз даних, що підтримуються: Microsoft SQL Server, Oracle, Informix, IBM DB2 і Sybase.
Як працює ArcSDE?
ArcSDE ґрунтується на реальній клієнт/серверній архітектурі. До даних, що зберігаються на сервері, можна звертатися з будь-якої машини в мережі, де встановлено клієнтське програмне забезпечення. ArcSDE використовує процедуру спільної обробки. Завдання обробки даних поділяються між клієнтами та сервером. Завдання, для виконання яких потрібні значні машинні ресурси, такі як операції накладення,вирізання, проектування, редагування та відображення виконуються безпосередньо на клієнтській машині. Пошук просторових та атрибутивних даних, а також оновлення баз даних виконуються на серверній машині. Перерозподіл процесів між клієнтами та сервером дозволяє повніше використовувати ресурси кожної машини.
SDE для покриттів та SDE для СУБД подібні до структури. Користувачі працюють з клієнтським додатком, роблять запити до даних та виконують ГІС операції, тоді як сервер зберігає дані та запускає серверні процеси SDE. Відмінність між двома серверами полягає в тому, що SDE для покриттів забезпечує клієнтам SDE доступ до заснованих на файлах географічних даних, а SDE для СУБД управляє цими даними в базі даних реляційної.
SDE для покриттів
SDE для покриттів використовує додатковий шматок серверної частини, відомий як модуль доступу до об'єктів (Feature Access Module). Цей модуль додає SDE серверу доступний лише для читання покажчик на дані ArcInfo, що виключає необхідність конвертації даних. Дані, до яких звертається сервер SDE для покриття, залишаються у своєму вихідному форматі. За винятком роботи з шейп-файлами в якості базової, він використовує геореляційну модель ArcInfo, яка зберігає атрибутивну інформацію в таблицях INFO, пов'язаних з просторовими даними за допомогою унікального ідентифікатора.
Вказівники Модуля доступу до об'єктів зберігаються у таблицях INFO. Ці таблиці знаходяться в робочому просторі каталогу %ARCHOME%\tables. Як мінімум тут зберігаються дві таблиці, Layers і Columns. Таблиця LAYERS містить інформацію про шар SDE, розташування та тип цих вихідних даних. Таблиця COLUMNS містить список доступних атрибутів кожного шару. Крім цього, у цьомуробочому просторі може міститися таблиця RELATES, в якій перераховано інформацію про всі таблиці INFO, пов'язані з шарами SDE. Також може бути таблиця CONNECTIONS з інформацією, необхідної для встановлення з'єднання модуля DATABASE INTEGRATOR (DBI) зі зв'язаними таблицями, що знаходяться в СУБД.
Адміністрування шарів SDE для покриттів здійснюється за допомогою програми ArcSDE LAYERUTIL. Дані мають бути зареєстровані за допомогою LAYERUTIL перед тим, як клієнт отримає до них доступ через SDE для покриттів. Хоча дані необхідно зареєструвати на сервері, вони можуть бути локально або на віддаленій машині. Необхідно вказати ім'я шару SDE, його джерела даних та стовпець з об'єктами. У цьому стовпці наводяться унікальні ідентифікатори просторових об'єктів та будь-яка додаткова інформація про класи об'єктів та пов'язані таблиці.
Набір великих джерел даних можна зареєструвати як шар шляхом введення додаткових атрибутивних обмежень при реєстрації шару. За допомогою програми LAYERUTIL зареєстровані шари можна змінювати, описувати та перереєструвати. При реєстрації даних створюються: нове поле таблиці LAYERS, пов'язані з ним поля таблиці COLUMNS і, за необхідності, поля таблицях RELATES і CONNECTIONS. Для редагування вихідних даних можна використовувати модуль системи ARCEDIT ArcInfo або програму ArcView GIS. Усі зміни у вихідних даних відразу відображаються через сервер SDE для покриття.
SDE для СУБД забезпечує взаємодію зі стандартними системами управління базами даних шляхом зберігання географічних об'єктів у таблицях баз даних. Оскільки всі дані – просторові та атрибутивні – зберігаються в базі даних, SDE для СУБД використовує переваги безпеки,відновлення та одночасного (спільного) доступу, які є у підтримуваній базі даних. Такий метод зберігання дозволяє робити стандартні запити до атрибутивних даних. Сервер SDE взаємодіє із СУБД при зверненні до даних, визначених у запиті.
SDE використовує безперервну, нетопологічну об'єктну модель даних, схожу на ту, що використовується програмою ArcView GIS. Кожен об'єкт займає окремий рядок бази даних. Немає необхідності створювати мозаїку (tiling), оскільки тема даних може зберігатися як окремого безперервного шару. Просторовий індекс забезпечує швидкий доступ до об'єктів, які зберігаються у цих великих немозаїчних шарах. SDE підтримує роботу з такими географічними об'єктами (features), як точки (дискретні розташування з координатами x і y), простими лініями (лінійні форми, що не перетинаються), лініями (лінійні форми, які можуть перетинати себе або з'єднуватися (торкатися, зливатися), та області (замкнуті форми, що представляють однорідні об'єкти.) Ці об'єкти можуть бути окремими формами або складатися з кількох частин.
База даних SDE містить таблицю LAYERS, де зберігається інформація про кожному шарі SDE. Кожен завантажений у SDE шар реєструється за допомогою унікального ідентифікатора в таблиці LAYERS, і в базі даних створюються три нові таблиці Business, Feature та Spatial Index. Таблиця Business містить атрибутивну інформацію щодо кожного об'єкта в шарі; у таблиці Feature зберігається геометрична форма(и) кожного об'єкта; нарешті, у таблиці Spatial Index зберігаються посилання форми, засновані на простих регулярних сітках, що підвищуєшвидкість виконання просторових запитів.
У SDE для СУБД є кілька методів створення шарів SDE. Для отримання даних у SDE потрібно два кроки - створення шару та завантаження даних у таблиці. Для адміністрування таблиць Business та шарів SDE шляхом створення, модифікації, видалення та опису таблиць, табличних індексів та шарів використовуються утиліти SDETABLE та SDELAYER. Для автоматичного створення нового шару та одночасного завантаження даних у існуючу таблицю використовуються утиліти COV2SDE або SHP2SDE.
Всі ці чотири утиліти (SDETABLE, SDELAYER, COV2SDE та SHP2SDE) запускаються з командного рядка. Шари також можна створювати, а дані завантажувати та редагувати з клієнтської машини з використанням операції (функції, програми) завдання шарів Defined Layers в ArcInfo.
Запуск SDE Service (службовий процес)
І SDE для покриттів, і SDE для СУБД використовують процес управління сервером для фіксації запитів при з'єднанні з клієнтами. При отриманні запиту процес керування сервером запускає призначений для цього процес на сервері для обробки запитів клієнта даних. Цей процес контролюється адміністратором сервера через програму моніторингу (відстеження, супроводу) SDEMON, яка запускає, зупиняє та відключає сервісні служби (services) як SDE для покриттів, так і SDE для СУБД. SDEMON також видає інформацію про поточний статус, кількість клієнтів та параметри налаштування (конфігурації). Під час роботи під Windows NT служби SDE можна запустити та вимкнути з Менеджера служб (Services Manager) у Панелі керування.
Операція (функція) завдання шарів Defined Layers, доступна з модуля ARCPLOT системи ArcInfo, забезпечує прямий доступ до шейп-файлів, шарів SDE, шарів ArcStorm, шарів бібліотекикарт та покриттям. Кожен шар вказує на окремий (свій) тип об'єкта в окремому джерелі даних, дозволяючи користувачеві відображати та запитувати дані без конвертації чи реплікації даних. p align="justify"> Робота з кожним шаром відбувається на вихідному джерелі, тому дані завжди готові для обробки за запитом. Функція Defined Layers залишається активною протягом сеансу ARCPLOT.
Defined Layers може створюватися лише джерела даних SDE після встановлення з'єднання між клієнтом (ArcInfo) і сервером (SDE). Для з'єднання та від'єднання від сервера SDE, для створення та видалення визначення шарів, виконання операторів SQL та управління транзакціями, зробленими до бази даних SDE, використовується команда DATASET. Перед встановленням з'єднання з SDE повинен бути запущений службовий процес SDE. Для з'єднання з сервером SDE для СУБД користувач (або користувачі) має бути позначений у базі даних SDE та мати відповідні права доступу.
Після встановлення зв'язку необхідно створити defined layers із зазначенням певного джерела даних SDE. Для створення та керування функцією defined layers використовується команда LAYER. Після визначення шару для керування, відображення та запиту даних доступні кілька операцій. Доступ до SDE для покриттів обмежується відображенням, запитуванням та експортуванням заданих шарів (defined layers) як покриттів. Будь-які зміни (редагування) даних у середовищі SDE для покриттів повинні проводитися з вихідними даними, а не через defined layers.
Редагування та оновлення даних у середовищі SDE для СУБД
Для редагування та оновлення даних SDE для СУБД призначені додаткові операції defined layers. Окремі атрибутивні параметри можна оновлювати, а ціле покриття можна завантажити у наявнішари SDE. Окремий шар можна експортувати в покриття або кілька шарів SDE можна об'єднати в одне результуюче покриття. Вибрані об'єкти можна видалити із шарів. У процесі редагування можна заборонити іншим користувачам доступ до читання та запису в задані у шарі прямокутні області. Детальний опис команд і операцій із заданими шарами (defined layers) наведено в онлайновій документації, що є в ArcInfo.