Главная страница
Навигация по странице:

  • 8.8.8. TIN-модель

  • Рис. 8.46.

  • Таблиця 8.5 Таблиця 8.6 Список вершин Список трикутників

  • Трикутник Вершини Суміжні трикутники

  • 8.10. Етапи створення TIN-моделі

  • Рис. 8.48.

  • Зацерковний В.І. та ін. ГІС та бази даних. І бази даних


    Скачать 31.1 Mb.
    НазваниеІ бази даних
    АнкорЗацерковний В.І. та ін. ГІС та бази даних.pdf
    Дата06.02.2018
    Размер31.1 Mb.
    Формат файлаpdf
    Имя файлаЗацерковний В.І. та ін. ГІС та бази даних.pdf
    ТипКнига
    #15245
    страница29 из 49
    1   ...   25   26   27   28   29   30   31   32   ...   49
    а
    б
    в

    303
    8.8.7. Геореляційна структура
    Одним із найважливіших властивостей ГІС є те, що майже для будь-якого просторового об’єкта можна задати набір додаткових атрибу- тів у вигляді числових або символьних значень.
    Останніми роками для організації векторних даних у рамках ліній- но-вузлової моделі широко використовується реляційна, або геореля- ційна, структура даних, де метрична й топологічна інформація організо- вана як лінійно-вузлова структура, а додаткова (атрибутивна) інформація зберігається в базі даних в окремих реляційних базах даних. З точки зору користувача, вся база даних у цій моделі складається з набору різних таблиць, що мають фіксовані набори стовпчиків (полів) і змінну кількість рядків (записів), які описують певні об’єкти.
    Зв’язки між таблицями забезпечуються за допомогою ключових полів – спеціально виділених стовпчиків таблиць.
    У полях реляційних таблиць можуть зберігатися дані тільки деяких певних типів: цілі та речовинні числа, рядки, логічні значення, дата, час, а також великі бінарні масиви (у BLOB-полях). Для роботи з реляційни- ми базами даних розроблена спеціальна мова SQL (мова структурованих запитів), яка дозволяє виконувати модифікацію бази даних, а також виконувати пошук необхідних даних.
    На рис. 8.41 представлено просту базу даних з двох таблиць, що містить відомості про земельні ділянки та їх власників.
    Рис. 8.41. Таблиця реляційної бази
    Кожна з таблиць містить ключове поле (ключ) "ID", який унікально визначає об’єкт "Земельна ділянка" або "Власник" усередині відповідної таблиці. Зв’язки між таблицями здійснюються за допомогою ключових по-

    304
    лів. Для цього в таблиці "Земельна ділянка" спеціально виділено поле "Код власника", в якому запам’ятовується значення ключа з таблиці "Власник".
    За потреби отримання імені власника для заданої земельної ділянки система СКБД отримає код власника в таблиці "Земельна ділянка", потім знайде в таблиці "Власник" запис з цим кодом і отримає з відповідного поля опис власника.
    Одним із недоліків таблиці "Земельна ділянка" є те, що тут не зберіга- ються відомості про геометрію самої ділянки. Для цього, згідно з реляцій- ним підходом, доцільно було б створити допоміжні таблиці та зберігати в них необхідну інформацію про полігони, що складають земельні ділянки.
    Однак швидкість роботи навіть найбільш ефективних СКБД не дозволяє оперативно використовувати геометричні дані, представлені в такому вигляді. "Оперативно" – це коли потрібно, наприклад, за частку секунди зобразити на екрані комп’ютера десятки і сотні тисяч земельних ділянок.
    Саме тому в більшості ГІС застосовується геореляційний підхід, коли геометрія просторового об’єкта (наприклад, земельної ділянки) зберігається в окремому місці у спеціально розробленому форматі, а атрибути об’єкта – в деякій таблиці бази даних. При цьому зв’язок між геометрією й атрибутами здійснюється за допомогою ключа – унікального коду про- сторового об’єкта, приблизно так, як і в реляційних таблицях (рис. 8.42).
    Рис. 8.42. Геореляційна база даних
    (ліворуч – упорядкований список просторових
    об’єктів у шарі карти,
    а праворуч – пов’язані з ними записи в базі даних)
    В ГІС для зручності користувачів існує операція поєднання атрибу- тів просторових даних із таблицями зовнішніх баз даних. У результаті користувачеві здається, ніби він має справу зі звичайними таблицями баз даних, в яких додатково з’явився перший стовпчик з геометрією об’єктів.
    Для вищенаведеного прикладу із земельними ділянками отриманий результат, представлений на рис. 8.43.

    305
    Карта в ГІС База даних СКБД
    Рис. 8.43. Поєднання таблиць геореляційної бази даних
    Після операції єднання можливе виконання операцій різних інфор- маційних запитів над з’єднаною таблицею. Наприклад, для земельних ділянок можна зробити запит на всі ділянки, що належать фізичним особам. Ці ділянки будуть виділені на карті в ГІС.
    Іншою важливою особливістю ГІС після виконання єднання є авто- матичне додавання і видалення записів у приєднаній таблиці. Так, при створенні на шарі карти нового полігона в приєднаній таблиці (в нашому прикладі в таблиці "Земельна ділянка") буде автоматично створено запис із необхідним значенням коду зв’язку ID. При видаленні полігона з карти пов’язаний запис буде вилучено.
    Таким чином, геореляційна структура забезпечує однозначну відпо- відність точкових, лінійних і полігональних об’єктів атрибутивній інфор- мації, яка дозволяє обирати й аналізувати інформацію, що міститься в базі даних, як за просторовими, так і за атрибутивними критеріями.
    Також слід зазначити, що в більшості сучасних систем векторної фор- малізації метричних даних використовуються лінійні сегменти, які склада- ються з послідовних відрізків прямих ліній. Теоретично при необмеженому зменшенні відстані між точками введення, які обмежують ці відрізки, може бути описана будь-яка крива. Однак на практиці це призводить до надмірного збільшення витрат ручної праці при введенні складних кривих.
    Розроблено різні методи апроксимації кривих, які дозволяють уникну- ти надмірного зменшення кроку дигітизування при введенні навіть дуже складних кривих (меж ґрунтових чи ландшафтних контурів, берегової лінії, русел річок, горизонталей, трас доріг тощо). Найчастіше з цією метою використовуються аналітичні методи опису відрізків кривих, як дуг кіл змінного радіуса, або із застосуванням сплайнів.
    Майже в усіх ГІС геометрія й атрибутика просторових об’єктів збе- рігаються в різних файлах. Це пов’язано з двома основними причинами.
    По-перше, це низька швидкість добування і зміни геометричної інформації

    306
    з баз даних, що керуються звичайними системами СКБД порівняно зі звичайними файлами. Частково це пов’язано з низькою пропускною спро- можністю каналів зв’язку між сервером із СКБД, який не дозволяв пере- давати з сервера на комп’ютер користувача інформацію про просторові об’єкти, що повинні виводитися на екран практично в режимі реального часу. Крім того, низька швидкість пов’язана з тим, що геометрія лінійних і полігональних об’єктів повинна зберігатися в допоміжних таблицях або в
    BLOB-полях, що також суттєво знижує швидкість звернення до даних.
    По-друге, збереження геометрії об’єктів у базі даних не дає тих пе- реваг, які є при збереженні звичайних негеометричних даних. Наприклад, у звичайних БД є декілька ключових понять, що використовуються практично в усіх прикладних базах даних. Це обмеження цілісності, які не дозволяють уводити некоректні значення в окремі поля таблиць і ство- рювати некоректні посилання між таблицями бази даних; блокування, що забороняють редагувати окремі поля або цілі таблиці бази даних; транзакції, які дозволяють виконувати великі зміни БД, але у разі помилки під час транзакції повертають стан усієї БД в первісний стан.
    Але усі ці обмеження цілісності, блокування і транзакції мало засто- совуються для просторових об’єктів. Так, обмеження цілісності в ГІС мають геометричний характер (наприклад, заборонене перетинання ліній доріг і річок, оскільки перетинання річок дорогами повинне бути тільки через міст) і їх дуже важко описати стандартними засобами СКБД (у вигляді процедур, що зберігаються на мові SQL). Блокування в ГІС по- винні також мати просторовий характер, наприклад, для забезпечення можливості паралельної роботи багатьох користувачів з однією картою потрібно заблокувати певний регіон цієї карти, що призводить до необ- хідності блокування цілих таблиць у СКБД.
    Класичні транзакції в теорії баз даних отримали назву коротких транзакцій, щоб підкреслити, що процес введення даних в СКБД займає небагато часу. При цьому, поки виконується транзакція одним користу- вачем, робота іншого користувача повинна бути заблокована, щоб не порушувати цілісність бази даних.
    У ГІС потрібно виконувати довгі транзакції, протягом яких користу- вач може змінювати стан множини взаємозалежних шарів карти. При цьому в процесі редагування більшість геометричних обмежень цілісності може порушуватись. Після введення даних (для завершення довгої транзакції) користувач повинен привести базу даних (карту) знову в припустимий стан.
    Довга транзакція може виконуватися тривалий час (дні і навіть тижні).
    Очевидно, що під час введення даних одним користувачем не можна блоку- вати всю базу даних від змін іншими користувачами на такий тривалий час.
    З іншого боку, можливість збереження геометрії спільно з атрибу- тикою в базі даних створила б певні переваги, але тільки після вирішення вищенаведених проблем.

    307
    Рис. 8.44. Геометрія моделі TIN [86]
    Врешті-решт, все це призвело до розробки різних розширень і надбу- дов над звичайними СКБД, які дозволяють створювати повноцінні просторо- ві бази даних, відповідають усім сучасним вимогам ГІС. Консорціум розро- бників мови SQL запровадив в останньому стандарті мови SQL 3 відповідні розділи, що регламентують основи роботи з просторовими базами даних.
    Головною перевагою сучасних просторових баз даних є те, що в них можна інтегрувати геометрію, атрибутику і поведінку об’єктів. Все це відповідає основним принципам об’єктно орієнтованого підходу, який на сучасному етапі є основним при створенні будь-яких програмних систем.
    Найбільш поширеними є дві надбудови над промисловими СКБД, які реалізують вимоги стандарту SQL 3 і тісно інтегровані з провідними світовими ГІС. Це ArcSDE (Spatial Database Engine) компанії ESRI, Inc.
    (США) і SpatialWare компанії MapInfo, Inc. (США).
    Модель геобази даних ArcSDE 8.x/9.x є логічним розвитком тополо- гічної моделі даних (покриття), дозволяючи створювати, за потреби, й аналоги нетопологічної моделі шейп-файлів. Крім того, модель геобази дозволяє створювати мережі, визначати просторові відношення між об’єктами і вводити нові об’єктно орієнтовані сутності.
    Одним з найбільш помітних досягнень ArcSDE є введення тех- нології версій, призначених для виконання операцій "довгі транзакції", які дозволяють відмовитись від традиційних блокувань у регіонах.
    8.8.8. TIN-модель
    TIN (Triangulation Irregular Network – тріангуляційна нерегулярна ме- режа) – модель поверхні у вигляді мережі суміжних трикутних граней, що не перетинаються і які покривають поверхню та визначені по вузлах і реб- рах. Triangulation (тріангуляційна) – вказує спосіб побудови оптимізова- ного набору трикутників за набором точок; Irregular (нерегулярна) – точки можуть бути взяті зі змінною щільністю для моделювання діля- нок поверхні, де різко змінюється рельєф; Network (мережа) – відби- ває топологічну структуру даної моделі. Структура TIN будується шляхом об’єднання відомих точко- вих значень у серії трикутників за алгоритмом тріангуляції Делоне.
    Геометрія моделі TIN утво- рюється гранями, вузлами й реб- рами у тривимірному просторі
    (рис. 8.44) [86].

    308
    Грань (Face) – поверхня трикутника в тривимірному просторі.
    Вузол (Node) – вершина трикутника з координатами X, Y, Z.
    Ребро (Edge) – сторона трикутника в тривимірному просторі.
    Модель TIN має наступні властивості:
    • дозволяє отримати точне уявлення про локальну частину поверхні, використовуючи змінну щільність вузлів зі значенням Z (висоти) і лінії перегину поверхні;
    • є основою 3D-візуалізації поверхні;
    • дозволяє виконати складний аналіз поверхні (обчислення висот, ухилів, експозицій схилів, отримання ізоліній поверхні, розрахунки об’ємів, вертикальні профілі по трасі лінії, аналіз видимості).
    Вихідними даними для побудови TIN є набір точок з координатами
    X, Y, Z. Задача полягає в тому, за по цим набором точок створити мережу суміжних трикутників, що не перетинаються. Задача побудови тріангуляції за набором точок є однією з базових в обчислювальній геометрії. До неї зводяться більшість інших задач, вона широко використовується у машин- ній графіці та ГІС для моделювання поверхонь і розв’язання просторових задач.
    Задача побудови тріангуляції за вихідним набору точок є неодно- значною, тому виникає питання: а яка з усіх тріангуляцій найкраща?
    Наприклад, оптимальним розв’язком можна вважати такий, при якому сума довжин усіх ребер буде мінімальною серед усієї множини можливих тріангуляцій, побудованих на тих же вихідних точках. Розв’язок задачі за такої умови має високу трудомісткість [44].
    За визначенням Делоне, три точки формують трикутник в тріангу- ляції тоді та тільки тоді, коли в окружності, описаній навколо цього трикутника, немає інших точок розбивки (рис. 8.45). Кожне обмежуюче трикутник коло не містить точок з набору в його середині (рис. 8.45, б).
    а б
    Рис. 8.45. Формування трикутника в тріангуляції Делоне:
    а – коло, побудоване за точками 1, 2, 4, включає точку 3;
    б – коло, побудоване за точками 1, 2, 3, не включає точку 4
    Один з алгоритмів побудови тріангуляції Делоне заснований на ге- неруванні полігонів Тиссена (Thiessen) або Вороного. Для цього поверхня

    309
    розбивається на області, в яких кожна точка розташована найближче до якогось вузла мережі – генеруючої точки. Отримані межі називають полігонами Тиссена або полігонами Вороного.
    Дві точки з’єднуються лінією в тріангуляції Делоне, якщо їх поліго- ни Тиссена (рис. 8.46) мають спільну межу. Цей метод дозволяє отримати потрібні трикутники. Полігони Тиссена використовуються також при аналізі близькості.
    Рис. 8.46. Полігони Тиссена
    Рис. 8.47. TIN-модель
    8.9. Топологія в TIN-моделі
    Модель TIN – це топологічна структура даних: ребра з’єднуються у вузлах; кожний трикутник межує із сусідніми трикутниками.
    Топологічні відношення створюються шляхом створення в базі даних для кожного вузла вказівки на суміжні вузли. Простір навколо території представляється фіктивним вузлом.
    Модель TIN (рис. 8.47) у цифровому вигляді описується пов’язаними файлами – файлом вершин (табл. 8.5), файлом покажчиків і файлом трикутників (табл. 8.6). Для кожної точки розбивки зберігається її унікаль- ний номер, координати і список точок, з якими вона з’єднана прямими (за годинниковою стрілкою).
    Таблиця 8.5 Таблиця 8.6
    Список вершин Список трикутників
    Вершина
    X
    Y
    Z
    1
    X
    1
    Y
    1
    Z
    1 2
    X
    2
    Y
    2
    Z
    2 3
    X
    3
    Y
    3
    Z
    3 4
    X
    4
    Y
    4
    Z
    4 5
    X
    5
    Y
    5
    Z
    5 6
    X
    6
    Y
    6
    Z
    6 7
    X
    7
    Y
    7
    Z
    7
    Трикутник
    Вершини
    Суміжні
    трикутники
    A
    5 6
    7
    B
    D
    F
    B
    1 5
    6
    A
    C
    Q
    C
    1 2
    6
    B
    D
    R
    D
    2 6
    7
    A
    C
    E
    E
    2 3
    7
    D
    F
    S
    F
    3 5
    7
    A
    E
    G
    G
    3 4
    5
    F
    T
    P

    310
    8.10. Етапи створення TIN-моделі
    Модель TIN створюється в наступній послідовності.
    Етап 1. Задання множини точок i за координатами X, Y, Z (рис. 8.48).
    Етап 2. Побудова тріангуляції Делоне (рис. 8.49).
    Рис. 8.48. Множина точок
    Рис. 8.49. Побудова тріангуляції Делоне
    Етап 3. Введення ліній перегину поверхні (Breakline) і модифікація
    TIN з урахуванням ліній перегину. Лінії перегину рельєфу визначають різкі зміни поверхні, такі як лінія верху, низу, укосу, гребеня, тальвегу тощо (рис. 8.50).
    Рис. 8.50. Лінії перегину поверхні [86]
    Етап 4. Введення областей виключення (Exclusion areas) з постійним значенням Z і модифікація TIN з урахуванням полігональних об’єктів, наприклад водної поверхні (рис. 8.51).
    Рис. 8.51. Області виключення [86]

    311
    Етап 5. Розв’язання задач за моделлю TIN поверхні.
    У TIN-моделі просторове положення трикутника характеризує нормаль до його грані (рис. 8.52) [89].
    Рис. 8.52. Нормаль Р до грані трикутника [86]
    Трикутник задається трьома точками (x
    a
    , y
    a
    ), (x
    b
    , y
    b
    ), (x
    c
    , y
    c
    ). Нормаль P до площини трикутника визначається нормальним вектором P = {p
    a
    , p
    b
    , p
    c
    }, який утворюється в результаті векторного добутку векторів АВ і АС двох його сторін. Для нормального вектора Р кожного трикутника обчислюються:
    1) прямокутні декартові координати:


    )
    (
    )
    (
    )
    (
    )
    (
    a
    c
    a
    b
    a
    c
    a
    b
    a
    y
    y
    z
    z
    z
    z
    y
    y
    p








    ;


    )
    (
    )
    (
    )
    (
    )
    (
    a
    c
    a
    b
    a
    c
    a
    b
    b
    z
    z
    x
    x
    x
    x
    z
    z
    p








    ;


    )
    (
    )
    (
    )
    (
    )
    (
    a
    c
    a
    b
    a
    c
    a
    b
    c
    x
    x
    y
    y
    y
    y
    x
    x
    p








    ;
    2) напрямні косинуси:
    2 2
    2
    c
    b
    a
    a
    p
    p
    p
    p
    g



    ;
    2 2
    2
    c
    b
    a
    b
    p
    p
    p
    p
    h



    ;
    2 2
    2
    c
    b
    a
    c
    p
    p
    p
    p
    i



    ;
    3) проекції до горизонтальної площини:
    2 2
    b
    a
    a
    p
    p
    p
    e


    ;

    312 2
    2
    b
    a
    b
    p
    p
    p
    f


    Ці залежності є базовими для розв’язку задач відображення та аналізу поверхні [86].
    1   ...   25   26   27   28   29   30   31   32   ...   49


    написать администратору сайта