В большинстве случаев люди ошибаются, считая базу геоданных просто геопространственным форматом, который позволяет выполнять пространственные запросы. Это такое невероятное упрощение.
Черт, я сам делал эту ошибку - пока однажды я не услышал, как Скотт Морхаус объясняет причины создания базы геоданных. Он - один из тех людей, которые могут мыслить очень абстрактно, очень высоко, а затем очень быстро опускаться и быть очень практичными и, таким образом, избегать проблем, с которыми сталкиваются архитектурные астронавты .
Чтобы понять, что такое база геоданных, вам нужно взглянуть на определение информационной модели :
Информационная модель в программной инженерии - это представление концепций, отношений, ограничений, правил и операций для определения семантики данных для выбранной области дискурса. Он может предоставить общую, стабильную и организованную структуру информационных требований для контекста домена.
База геоданных - это просто определение ESRI информационной модели, поддерживающей географические концепции. Например, эта информационная модель поддерживает такие понятия, как топология ; со всеми правилами, операциями и семантикой данных, связанных с ними (например, что может перекрываться поверх того, что происходит после разделения, как редактирование влияет на другие функции, имеющие одинаковое преимущество и т. д.).
Существуют различные реализации информационной модели ESRI GeoDatabase, и их можно разделить на две категории:
Однопользовательские базы геоданных:
- Персональная база геоданных: построена на основе формата MS Access ".mdb".
- FileGDB: построен на основе собственного формата, созданного ESRI (папки ".gdb")
Многопользовательские базы геоданных (также известные как корпоративные базы геоданных):
Это источники данных, поддерживаемые промежуточным программным обеспечением ArcSDE.
- PostgreSQL
- SQL Server
- оракул
- DB2
- Informix
- так далее
Цель ArcSDE также неправильно понимается. «SDE» часто путают с базой данных GeoDatabase - и в худших случаях термины используются взаимозаменяемо; ужасная ошибка В свое время ArcSDE (тогда он назывался просто SDE) был создан для использования в качестве уровня абстракции данных . Вы можете найти простое описание ArcSDE из действительно старого поста новостей USENET от Скотта Морхауса (1999) . Фрагмент из этого поста говорит:
SDE откладывает пространственную обработку в СУБД. Если базовая система баз данных вообще не имеет пространственной поддержки, SDE реализует все пространственные функции. Если базовая база данных имеет некоторые функциональные возможности, SDE реализует некоторые функциональные возможности и передает все остальное ядру базы данных. Чтобы добиться максимальной производительности и использовать основную технологию баз данных, мы стараемся максимально использовать функциональность базы данных.
Это означает, что ArcSDE используется GeoDatabase при взаимодействии с базовыми источниками данных, но он ничего не знает об абстракциях GeoDatabase, таких как отношения, домены, ландшафты, кадастровая структура, наборы схематических данных и т . Д. Он просто используется для облегчения программирования с различными хранилищами данных.
Вот почему, если вы имеете дело с абстракциями уровня GeoDatabase, а затем пытаетесь делать вещи из ArcSDE (через исполняемые файлы командной строки API или arcsde), вы можете столкнуться с проблемами. (Могу ли я сделать это предложение больше ???)
Что касается ограничений каждой отдельной реализации базы геоданных, она обычно зависит от основного хранилища.
Персональный GDB ограничен лимитом 2 ГБ (доступ). FileGDB, не имеет этой проблемы, так как он был создан, чтобы избавиться от этого ограничения и быть совместимым с Unix.
Персональный GDB и FileGDB являются однопользовательскими. Таким образом, вы не получаете никаких версий . Репликация GDB реализована поверх управления версиями, поэтому она является функцией только для всех многопользовательских баз геоданных (источников данных ArcSDE).
Топология, аннотации , классы представлений , домены , Terrains и т. Д. - это все концепции GeoDatabase, которые не требуют многопользовательской поддержки, поэтому они доступны во всех реализациях информационной модели GeoDatabase.
Что касается использования для каждой реализации GDB, это зависит от ваших потребностей. Таким образом, существует тип базы геоданных для большинства (но не всех) вариантов использования.
Я надеюсь, что это ясно дает понять.