Управление промежуточными данными. Краткий обзор
Когда модель запущена, выходные данные создаются для каждого процесса в модели. Некоторые из этих выходных данных создаются только в виде промежуточного шага для подключения к другим процессам, которые создают окончательный результат. Данные, созданные на таких промежуточных этапах, называются промежуточными, и часто (но не всегда) после завершения модели они не нужны. Можно рассматривать промежуточные данные в качестве временных черновых данных, которые удаляются после выполнения модели. Но при запуске модели в диалоговом окне ModelBuilder промежуточные данные не удаляются. Удаление этих данных возлагается на пользователей.
Все переменные данных, за исключением данных и переменных окончательного результата в модели, автоматически помечаются как промежуточные. Чтобы определить, рассматривается ли переменная данных в модели как промежуточная, или чтобы изменить состояние промежуточной переменной, щелкните переменную правой кнопкой мыши и выберите Промежуточные (Intermediate), чтобы установить или снять отметку.
Чтобы запретить удаление переменных окончательного результата, настоятельно рекомендуется не задавать переменную окончательного результата как промежуточную.
Более подробно о сохранении промежуточных данных
Управление местоположением записываемых промежуточных данных
Инструменты геообработки, создающие новые выходные наборы данных, автоматически генерируют имя выходного набора данных (как описано в разделе Использование текущей и временной рабочих областей). Созданное автоматически имя включает путь к рабочему пространству или папке, которая содержит набор данных. ModelBuilder использует созданное автоматически выходное имя для записи промежуточных данных. Можно в любой момент изменить имя и местоположение выходного набора данных. Также можно задать рабочее пространство, используемое для автоматического создания выходного имени.
Во время работы в ModelBuilder автоматически созданное выходное имя можно легко игнорировать, особенно для промежуточных данных. Но возможны ситуации, когда требуется изменить местоположение записи промежуточных данных. Вы можете записать промежуточные данные в любом из следующих местоположений:
- Любая рабочая область (база геоданных, набор классов объектов или папка) по щелчку правой кнопкой мыши переменных промежуточных данных и изменения местоположения, в котором они записаны. Если вы имеете большое количество промежуточных данных, то вы можете преобразовать промежуточные данные в управляемые в соответствии с описанием в разделе Как сделать промежуточные данные управляемыми.
- В Временную БГД (Промежуточная база геоданных) или во Временную папку. Эти два параметра среды (только для чтения) добавлены в ArcGIS 10.1. На иллюстрации ниже показаны данные Пересечения центроидов, помеченные как промежуточные, и выходное местоположение во временной базе геоданных (%scratchGDB%). Символы процента (%) означают подстановку переменных – значение scratchGDB раскрывается при запуске инструмента модели, и класс объектов с именем poly_Intersect, записывается во временную базу геоданных. Аналогично, вы можете использовать %scratchFolder% для записи файловых данных, например файлов .lyr или .txt.
- В виртуальную рабочую область.
- Во Временную рабочую область (Scratch Workspace) с использованием %scratchworkspace%. Данный параметр среды может быть установлен вами (или пользователем вашего инструмента) для любого местоположения - папки, базы геоданных или даже для набора классов объектов внутри базы геоданных. Использование параметра среды Временная рабочая область (Scratch Workspace) вместе с инструментами, которые используются совместно, не рекомендуется, так как пользователь вашего инструмента может установить Временную рабочую область (Scratch Workspace) на папку, базу геоданных или набор пространственных объектов. Например, вы можете ожидать, что Временная рабочая область (Scratch Workspace) установлена на папку, в которую вы сохраните файл слоя, в то время как пользователь вашего инструмента установил Временную рабочую область (Scratch Workspace) на базу геоданных. При запуске вашего инструмента, его выполнение прерывается, так как вы не можете записать ваш файл слоя в базу геоданных. Это основная причина, по которой переменные среды Временная база геоданных (Scratch Geodatabase) и Временная папка (Scratch Folder) введены в 10.1 - что бы предоставить вам известную базу геоданных и известную папку для записи ваших данных.
Несколько рекомендаций по записи промежуточных данных в модели приведены ниже:
- По всей видимости, вы не будете записывать промежуточные данные в базу геоданных ArcSDE. Это приводит к ухудшению производительности при записи временных черновых данных в корпоративную базу данных по локальной сети. Рекомендуется всегда использовать файловую базу геоданных (а не персональную базу геоданных или папку для шейп-файлов) для временной рабочей области.
- Желательно избежать путаницы в рабочей базе геоданных с промежуточными данными. Для этого следует указать другую рабочую область, желательно, файловую базу геоданных, в которую будут записываться промежуточные данные.
- При записи промежуточных классов объектов, вы можете оказаться подверженным соблазну записать шейп-файлы во временную папку. Вы должны избегать такой практики и записывать выходные наборы данных во временную базу геоданных, поскольку шейп-файлы имеют достаточно серьезные ограничения, которые могут повлиять на возможности использования ваших инструментов. Смотри Об особенностях геообработки с шейп-файлами на выходе для более полной информации о шейп-файлах и их ограничениях.