Архивный класс создается и обслуживается в базе геоданных, когда для набора данных или класса объектов разрешается архивирование. Вы не сможете увидеть архивные классы в окнах просмотра данных, но вы можете добавить их в ArcMap для их просмотра и организации к ним запросов.
Чтобы добавить архивный класс в ArcMap, вы должны сначала выделить слой или таблицу, для которой было разрешено архивирование, в таблице содержания. После этого кнопка Добавить архив (Add Historical Archive) на панели инструментов История базы геоданных (Geodatabase History) станет доступна.
Щелкните на этой кнопке, чтобы добавить архивный класс на карту. Архивный класс будет отображать каждое изменение, которое было произведено с момента разрешения архивирования. Архивный класс не может быть изменен: он используется исключительно в целях анализа.
Добавление архивного класса на карту позволит вам работать с архивом напрямую. Вы также сможете задать для этого слоя условные знаки, чтобы сделать ваш анализ эффективнее. Например, при использовании поля GDB_FROM_DATE в качестве поля значения для ваших условных знаков вы могли бы раскрасить объекты в этом слое на основании момента времени, когда они были обновлены.
Существует два типа запросов, результаты выполнения которых смогут ответить на большинство вопросов, адресованных к истории класса:
Запросы к определенному моменту времени используются для организации запроса к определенному времени. Это позволит вам работать с данными в исторической версии и подключаться к состоянию данных нужного вам момента времени. Такие запросы смогут помочь вам при попытке определить, как данные или определенный район выглядели в определенный момент времени.
Запросы к периоду времени работают с данными на промежутке времени между двумя моментами времени, начальным и конечным. Данные запросы позволяют вам просматривать, как объект или некоторая местность изменялись с течением времени. Просматривая временные диапазоны, вы можете отслеживать, как объект обновлялся за время его существования. Это покажет, как изменялись данные, и позволит вам видеть и сравнивать изменения объекта.
Любой запрос к конкретному моменту времени или временному диапазону может быть создан в конструкторе определяющих запросов ArcMap.
Если вам необходимо увидеть определенный объект в заданное время, то используйте его object ID и введите соответствующую дату и время.
Ниже приведем пример запроса к моменту времени:
OBJECTID = 23 AND GDB_FROM_DATE <= '2005-10-12 14:11:20' and GDB_TO_DATE > '2005-10-12 14:11:20'
Важно заметить, что синтаксис полей GDB_FROM_DATE и GDB_TO_DATE может отличаться в зависимости от того, как база данных хранит даты. Вы легко можете проверить формат хранения дат, выбрав GDB_FROM_DATE или GDB_TO_DATE и нажав кнопку Получить значения (Get Unique Values) в окне конструктора запросов.
Чтобы выполнить запрос к временному диапазону с помощью конструктора запросов, откройте диалоговое окно Конструктор запросов (Query Builder), щелкнув правой кнопкой мыши на архивном классе и выбрав из контекстного меню Свойства (Properties). Перейдите на закладку Определяющий запрос (Definition Query) и затем нажмите кнопку Конструктор запросов (Query Builder).
В архивном классе имеется два поля, которые могут помочь выполнить запрос к временным диапазонам: GDB_FROM_DATE и GDB_TO_DATE. Выберите одно из этих полей и нажмите кнопку Получить значения (Get Unique Values), чтобы увидеть значения и синтаксис поля дат. После этого вы сможете построить запросы, используя эти значения или вводя ваши собственные даты.
Например, если вы хотите увидеть, как географическая область изменялась между датами 1 мая 2003 и 1 июня 2005, то вы можете создать такой запрос:
GDB_FROM_DATE > '2003-05-01 12:00:00' AND GDB_FROM_DATE < '2005-06-01 12:00:00'
В результате вам будут возвращены все строки, которые были вставлены или обновлены в период между этими датами.
Вы сможете обнаружить все вставки, обновления или удаления, которые были произведены на этом временном отрезке. Разработчикам, которые заинтересованы в обнаружении этих типов изменений, следует обратиться к интерфейсу IVersionedTable, расположенном в пакете Software Developer Kit.
Переименование архивного класса
Для того, чтобы изменить имя архивного класса, выполните следующие действия:
- В дереве Каталога щелкните правой кнопкой мыши класс объектов или таблицу.
- Щелкните Свойства (Properties).
- Щелкните закладку Общие (General).
- В нижней части диалогового окна имеется секция, в которой отображается дата и время активации архивирования, а также имя архивного класса. Щелкните в окне для текста рядом с Именем архивного класса (Archive Class Name) и введите новое имя.
Управление индексами архивного класса
Управление индексами архивного класса осуществляется таким же способом, как и любым другим классом пространственных объектов или таблицей.
- В дереве Каталога щелкните правой кнопкой мыши класс объектов или таблицу.
- Щелкните Свойства (Properties).
- Перейдите на закладку Индексы (Indexes).
- В верхней части диалогового окна выберите Архивный класс (Archive Class) из ниспадающего списка Индексы атрибутов (Attribute Indexes).
- Теперь вы можете изменить индексы атрибутов и пространственные индексы архивного класса. Более подробно см. Создание индексов атрибутов (Creating attribute indexes) и Изменение пространственного индекса (Modifying a spatial index).