Основы режимов хранения и оценки атрибутов схемы

Создавая атрибут схемы, нужно указать режим хранения и оценки. Режим хранения определяет, должны ли значения атрибута схемы храниться в наборе схематических данных. Режим оценки атрибута схемы определяет, когда необходимо переоценивать значения атрибута схемы.

Хранение атрибута схемы

Существует три варианта хранения значения атрибута схемы:

Во время создания атрибута схемы автоматически устанавливается режим хранения по умолчанию. Этот режим по умолчанию зависит главным образом от типа, заданного для атрибута, но в общем случае при необходимости его можно изменить. В таблице в разделе Типы атрибутов схемы указан режим хранения по умолчанию для каждого типа атрибута схемы.
ВниманиеВнимание:

Для атрибута схемы, имя которого совпадает с предустановленным именем атрибута, режим хранения задать нельзя. Хранением этих особых атрибутов полностью управляет Schematics, не допуская каких-либо настроек. В большинстве случаев режим хранения основан на системном поле в связанном классе объектов схемы или в классе схематических представлений.

Хранение в поле

Поле является значением хранилища по умолчанию для большинства атрибутов. Данный вариант позволяет хранить значения атрибутов схемы в поле в связанном классе объектов схемы или в классе схематических представлений. Эти значения становятся доступными при применении инструмента Идентифицировать (Identify) к объектам схемы или при выборе команды Открыть таблицу атрибутов (Open Attribute Table) в любом слое объектов, который содержит схематический слой.

ПримечаниеПримечание:

Чтобы атрибуты схемы указывали, как будут отображаться и снабжаться надписями объекты схемы в схематических представлениях, значения атрибутов должны храниться в виде полей в связанном с ними классе объектов схемы.

Во время сохранения набора схематических данных, если настроен атрибут схемы с хранением в поле, Schematics выполняет поиск поля, имя которого совпадает с именем атрибута в классе объектов схемы или в классе схематических представлений, к которому относится этот атрибут. Если такое поле не существует, Schematics пытается создать его, однако создание поля может завершиться неожиданным образом. Например, если открыты схематические представления, хранящиеся в базе схематических данных, или если база геоданных, содержащая набор схематических данных, в настоящий момент выбрана в дереве Каталога, класс объектов схемы или класс схематических представлений, в котором должно быть создано поле, может быть заблокирован. В этом случае создать поле автоматически не удастся. Чтобы избежать этих проблем, когда необходимо настроить атрибут схемы с хранением в поле, рекомендуется выполнять операцию в два этапа.

Хранение в наборе свойств

Вариант хранения в наборе свойств необходимо использовать, когда нужно сохранить значения атрибута схемы в наборе схематических данных, но эта информация необязательно должна быть четко доступна из поля в связанном классе объектов схемы или классе схематических представлений. В этом случае свойством из набора свойств, имя которого совпадает с именем атрибута схемы, будет автоматически управлять поле PROPERTYSET связанного объекта схемы или поле BLOBS связанного схематического представления каждый раз, когда выполняется оценка атрибута схемы.

Не сохранять

Режим Не сохранять (No Storage) необходимо использовать, когда значения атрибута схемы не требуется хранить в наборе схематических данных. Его часто указывают для атрибутов схемы, значения которых используются как часть другого атрибута, а хранятся значения этого второго атрибута.

Оценка атрибута схемы

Можно выбрать четыре варианта случая, когда должна выполняться оценка значений атрибутов схемы:

Во время создания атрибута схемы автоматически устанавливается режим оценки по умолчанию. Аналогично устанавливаемому по умолчанию режиму хранения, режим оценки по умолчанию зависит в основном от типа, указанного для атрибута (более подробные сведения о режиме оценки по умолчанию для каждого типа атрибута см. в таблице в разделе Типы атрибутов схемы).

Оценка При создании/обновлении (On Generate/Update)

Атрибуты схемы, для которых выбрана оценка при создании/обновлении, оцениваются во время создания схемы. Затем они заново оцениваются каждый раз, когда схематическое представление обновляется. Кроме этих особых моментов в течение срока службы схематического представления, переоценка атрибутов не выполняется.

Такой тип оценки используется наиболее часто.

Оценка При начале редактирования (On Start Editing)

Если для типа оценки установлено При начале редактирования (On Start Editing), атрибуты схемы оцениваются не только во время создания и обновления схемы, но и каждый раз, когда схематическое представление загружается в память, — например, в момент начала сеанса редактирования схематического представления. В этом случае, если значения атрибута изменились и задан режим хранения В поле (Field) или В наборе свойств (Property Set), новые значения автоматически сохраняются в таблице связанного класса объектов схемы или класса схематических представлений во время сохранения изменений схемы.

ПримечаниеПримечание:

Схема всегда загружается в память, когда запускается сеанс ее редактирования. Также она может автоматически загружаться в память во время открытия.

Более подробно о схематических представлениях, загруженных в память

Тип оценки При начале редактирования (On Start Editing) предустановлен для любого атрибута, который должен оцениваться регулярно без обновления всего содержимого схемы. Этот режим также задан для атрибутов, указанных для классов объектов схемы, которые были настроены при помощи динамических пользовательских запросов.

Более подробно о классах объектов схемы, настроенных при помощи динамических пользовательских запросов

Оценка При перерисовке/обновлении (On Refresh/Redraw)

Если задан режим оценки При перерисовке/обновлении (On Refresh/Redraw), значения атрибута схемы будут систематически переоцениваться во время создания схемы, при каждом ее обновлении, загрузке в память, а также при каждом обновлении или перерисовке схематического представления — когда меняется масштаб или экстент схемы, когда перемещаются содержащиеся в ней объекты схемы и т.п.

Этот тип оценки целесообразно использовать, когда атрибуты схемы связаны с часто меняющимися данными (например, в приложениях SCADA).

ВниманиеВнимание:

Как и в любом другом режиме оценки, в случае оценки При перерисовке/обновлении (On Refresh/Redraw) атрибуты схемы можно использовать напрямую для задания символики объектов схемы, независимо от типа атрибута. Однако, в режиме При перерисовке/обновлении (On Refresh/Redraw) атрибуты схемы типа Связанное поле (Associated Field) нельзя напрямую использовать для создания надписей. В этом особом случае средства создания надписей ArcMap по умолчанию принудительно не загружают значения связанного поля, но можно инициировать их загрузку при использовании следующего расширенного выражения надписи:

Правильное расширенное выражение для получения надписей на основе атрибута схемы Связанное поле (Associated Field) в режиме оценки При перерисовке/обновлении (On Refresh/Redraw).

Входные параметры:

  • [ATTR_AS_LABEL]: атрибут схемы, который будет использоваться для надписывания.
  • [PROPERTYSET], [DATASOURCEID], [UCID] и [UOID]: поля классов пространственных объектов схемы, которые должны быть загружены, чтобы значение связанного поля поддерживалось в актуальном состоянии.

Поля [DATASOURCEID], [UCID] и [UOID] доступны в списке полей диалоговом окне Выражение надписи (Label Expression), их можно выбирать из этого списка при построении следующего дополнительного выражения. Поскольку поле [PROPERTYSET] нельзя выбрать из этого списка, необходимо напрямую ввести его в поле выражения.

Function FindLabel([PROPERTYSET],[DATASOURCEID], [UCID], [UOID], [ATTR_AS_LABEL])
			FindLabel = [ATTR_AS_LABEL]
End Function

Оценка По необходимости (As Needed)

Режим оценки По необходимости (As Needed) обычно устанавливается для атрибута схемы, который является частью другого атрибута. В этом случае его оценка выполняется во время оценки атрибута, в который он входит.

9/11/2013