Здебільшого люди роблять помилку, думаючи про базу даних GeoData як просто на геопросторовий формат, що дозволяє робити просторові запити. Це таке неймовірне спрощення.
Чорт забираю, я часто робив цю помилку - поки одного разу я не почув Скотта Мороуза, який пояснює обґрунтування основи GeoDatabase. Він є одним з тих людей, які можуть мислити дуже абстрактно, дуже високо вгору, а потім дуже швидко зійти і бути дуже практичним і, таким чином, уникати проблем, які мають архітектурні космонавти .
Щоб зрозуміти, що таке база даних GeoData, вам потрібно переглянути визначення інформаційної моделі :
Інформаційна модель в інженерії програмного забезпечення - це представлення понять, взаємозв'язків, обмежень, правил та операцій для конкретизації семантики даних для обраної області дискурсу. Він може забезпечити спільну, стабільну та організовану структуру інформаційних вимог для контексту домену.
База GeoData - це просто визначення ESRI інформаційної моделі, яка підтримує географічні концепції. Наприклад, ця інформаційна модель підтримує такі поняття, як топологія ; з усіма правилами, операціями та семантикою даних, пов'язаними з ними (наприклад, що дозволяється перекриватися поверх того, що відбувається після розбиття, як редагування впливає на інші функції, які мають той самий край тощо).
Існує різноманітна реалізація інформаційної моделі ESRI GeoDatabase, і їх можна класифікувати за двома:
Геодані для одного користувача:
- Персональна база даних GeoData: побудована поверх формату MS Access ".mdb".
- FileGDB: побудований поверх патентованого формату, створеного ESRI (".gdb" папки)
Багатокористувацькі бази даних GeoDatabases (також Enterprise GeoDatabases):
Це джерела даних, що підтримуються програмним забезпеченням ArcSDE.
- PostgreSQL
- SQL Server
- Oracle
- DB2
- Інформукс
- тощо
Мета ArcSDE також стає незрозумілою. "SDE" часто плутається з базою даних GeoData - і в гірших випадках терміни використовуються взаємозамінно; жахлива помилка. Ще в той день було створено ArcSDE (тоді його просто називали SDE), щоб діяти як рівень абстрагування даних . Ви можете знайти простий опис ArcSDE з по-справжньому старовинного повідомлення USENET від Скотта Мореуза (1999) . Фрагмент цієї публікації говорить:
SDE відкладає просторову обробку до СУБД. Якщо основна система бази даних взагалі не має просторової підтримки, SDE реалізує всю просторову функціональність. Якщо база даних має деяку функціональність, SDE реалізує певну функціональність і відкладе решту на двигун бази даних. Для досягнення найкращої продуктивності та використання основної технології бази даних ми намагаємось відкласти якомога більше функціональних можливостей для бази даних.
Це означає, що ArcSDE використовується GeoDatabase під час взаємодії з базовими джерелами даних, але вона нічого не знає про абстракції бази даних GeoDatabase, як, наприклад, відносини, домени, місцевості, кадастрові тканини, схематичні набори даних тощо . Він просто використовується для спрощення програмування за допомогою різних базових сховищ даних.
Ось чому, якщо ви маєте справу з абстракціями на рівні GeoDatabase, а потім намагаєтесь робити речі з ArcSDE (через API або виконувані файли командного рядка arcsde), у вас можуть виникнути проблеми. (Чи можу я підвищити це речення ???)
Що стосується обмежень кожної різної реалізації бази даних GeoData, вона зазвичай залежить від базового сховища.
Особистий GDB обмежений обмеженням 2 Гб (доступ). FileGDB не має цієї проблеми, оскільки він був створений для позбавлення від цього обмеження та сумісності з unix.
І Personal GDB, і FileGDB - це один користувач. Отже, ви не отримаєте жодної версії . Реплікація GDB реалізована поверх версій, тому вона є особливістю всіх багатокористувацьких баз геоданих (ArcSDE Datasources).
Топологія, анотації , класи представлення , домени , місцевості тощо - це всі концепції GeoDatabase, які не потребують підтримки користувачів, тому вони доступні в усіх реалізаціях інформаційної моделі GeoDatabase.
Що стосується звичок для кожної реалізації GDB, це залежить від ваших потреб. Отже, існує тип бази даних GeoDatabase для більшості (але не для всіх) випадків використання.
Сподіваюся, це дає зрозуміти.