Упражнение 3c: Использование исходных атрибутов для сортировки данных.

Уровень сложности: Расширенный Требования к данным: ArcGIS Tutorial Data for Desktop Путь к данным: C:\arcgis\ArcTutor\Data Interoperability\ Задача: Более подробно о том, как использовать значения исходных атрибутов в FME Workbench для сортировки данных и создания новых объектов.

В данном упражнении рассматриваются два метода использования значений атрибутов для сортировки данных на основе значений атрибутов. Они могут использоваться для создания инструментов spatial ETL, которые группируют исходные данные и создают группы объектов с общими значениями.

При первом методе данные группируются в пределах рабочей области с помощью трансформера ValueMapper в виде справочной таблицы и направляются в определенные блоки AutoCAD. При втором методе сортировка данных для набора данных GML производится в момент записи с помощью параметра редактора Сортировать по атрибутам (Fanout By Attribute), при этом "на лету" генерируются уникальные типы объектов.

С помощью Workbench вы выполните следующие задачи:

Создание набора инструментов и инструмента spatial ETL

Предварительное условие:

Дополнительный модуль Data Interoperability должен быть включен.

Шаги:
  1. Запустите ArcMap.
  2. Щелкните окно Каталога. Каталог на панели инструментов Стандартные (Standard).
  3. В текстовое поле Местоположение (Location) введите C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\ и нажмите ENTER.

    Местоположение будет добавлено в дерево Каталога.

  4. Правой кнопкой мыши щелкните папку birds_eggs и выберите Создать (New) > Набор инструментов (Toolbox). Набор инструментов.
  5. Щелкните правой кнопкой мыши набор инструментов, щелкните Переименовать (Rename) и введите nests.
  6. Правой кнопкой мыши щелкните набор инструментов nests и выберите Создать (New) > Инструмент spatial ETL (Spatial ETL Tool).
    Создание нового инструмента spatial ETL

    Откроется Мастер создания рабочей области преобразований(Create Translation Workspace Wizard).

Создание рабочей области преобразований

Выбор FME-ридера (FME reader)

Шаги:
  1. Нажмите кнопку обзора Формат (Format).

    Приветствие Мастера

    Откроется диалоговое окно Галерея FME-ридера (FME Reader Gallery).

  2. Введите gdb в окне для текста Поиск (Search).
  3. Выберите строку с форматом Файловая база геоданных Esri (Esri Geodatabase (File-based) и нажмите OK.

    Галерея FME-ридера (FME Reader gallery)

    Диалоговое окно Галерея FME-ридера (FME Reader Gallery) закроется.

  4. Нажмите Далее (Next).

Указание источника данных

Шаги:
  1. Щелкните кнопку обзора Обнаружить исходные данные (Locate Source Data).

    Откроется диалоговое окно Выбрать базу геоданных (Select Geodatabase).

    Обнаружение источника данных

  2. Перейдите к папке C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\.
  3. Щелкните папку nests.gdb и выберите Открыть (Open).

    Диалоговое окно Выбрать базу геоданных (Select Geodatabase) закроется.

  4. Щелкните Далее (Next), чтобы принять параметры ридера, установленные по умолчанию для этой базы геоданных.

Выбор FME-редактора (FME writer)

Шаги:
  1. Нажмите кнопку обзора Формат (Format).
    Выберите формат - адресат.

    Откроется диалоговое окно Галерея FME-редактора (FME Writer Gallery).

  2. Введите dwg в окне для текста Поиск (Search).
  3. Выберите строку Autodesk AutoCAD DWG/DXF и нажмите OK.
    Галерея FME-редактора (FME Writer gallery)

    Диалоговое окно Галерея FME-редактора (FME Writer Gallery) закроется.

  4. Нажмите Далее (Next).
  5. Щелкните Далее (Next), чтобы принять параметры по умолчанию, установленные для формата AutoCAD DWG.

Создание рабочей области

Шаги:
  1. Нажмите Готово (Finish).

    Мастер начнет обработку информации и запустит Workbench.

  2. Разверните тип объектов ридера NESTS и тип объектов редактора NESTS. Обратите внимание на то, что атрибуты исходных объектов отображаются непосредственно в целевом наборе данных AutoCAD.

    Карта по умолчанию

Добавьте трансформер AttributeValueMapper

Трансформер AttributeValueMapper определяет значения атрибутов на основе других атрибутов и сохраняет значение в новом атрибуте.

Занесение определенных значений атрибутов COVER в имена блока AutoCAD (AutoCAD block names) и сохранение значений в атрибуте с именем block_name.

Шаги:
  1. В текстовом поле Поиск (search) окна Трансформеры (Transformers) введите valuem и нажмите ENTER.
  2. Дважды щелкните AttributeValueMapper.

    Трансформер AttributeValueMapper будет добавлен в рабочую область.

  3. Щелкните правой кнопкой трансформер AttributeValueMapper и выберите команду Вставить перед (Insert Before) из контекстного меню.
    Запустится Мастер Workbench (Workbench Wizard) .
    Вставить впереди
  4. Нажмите Далее (Next).

    Трансформер соединен с типами объектов и ридера, и редактора.

    ValueMapper

  5. Нажмите кнопку Свойства (Properties) в окне трансформера ValueMapper.

    Откроется диалоговое окно Параметры AttributeValueMapper (AttributeValueMapper Parameters) .

  6. Щелкните стрелку Source Attribute и в ниспадающем списке выберите атрибут COVER.
  7. В текстовое поле Имя нового атрибута (New Attribute Name) введите block_name.
    Настройки AttributeValueMapper

Импорт уникальных значений

Исходные входные значения можно ввести вручную или при помощи мастера импорта. В этом разделе будет показано, как пользоваться мастером импорта. Когда целевые значения недоступны, как в этом случае, можно выбрать одинаковые атрибуты и для ключевых атрибутов, и для атрибутов значений и создать соответствие 1:1. После этого можно изменить целевые значения так, чтобы они подходили соответствующим именам блока AutoCAD, сохраненным в файле (.dwg) шаблона.

Шаги:
  1. Щелкните Импорт (Import).

    Запустится Мастер Workbench (Workbench Wizard) .

    Мастер Workbench (Workbench Wizard) .

  2. Подтвердите, что Набор данных (Dataset) установлен в C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\nests.gdb. Чтобы посмотреть настройки, можно щелкнуть кнопку Изменить (Change), а затем нажать кнопку Отменить (Cancel), чтобы закрыть диалоговое окно.
  3. Нажмите Далее (Next).
  4. В диалоговом окне Выбор типов объектов (Select Feature Types) выберите тип объекта NEST и нажмите Далее (Next).
  5. В диалоговом окне Ключевой атрибут (Key Attribute) выберите COVER и нажмите Далее (Next).
  6. В диалоговом окне Атрибутивное значение (Value Attribute) выберите COVER и нажмите Далее (Next).
  7. В диалоговом окне Сканирование атрибутивных значений (Scanning Attribute Values) щелкните Завершить (Finish), как только сканирование данных будет завершено.

    Появится сообщение Workbench: найдено 5 значений. Щелкните ОК.

  8. В текстовом поле Значение по умолчанию (Default Value) введите LOVSK.

    Если во время выполнения инструмент столкнется со значением, отсутствующим в справочной таблице ValueMapper, то будет использовано значение по умолчанию. В этом упражнении вы укажете имя блока AutoCAD (AutoCAD block name), сохраненное в шаблонном чертеже.

  9. Щелкните по каждому значению в столбце справа и замените их именем блока AutoCAD (AutoCAD block name), сохраненным в шаблонном чертеже.
    Сопоставление AttributeValueMapper
  10. Вы можете вырезать и вставить значения из следующей таблицы:

    Атрибут COVER

    Имя блока AutoCAD

    rockKRYSS
    willowBARRTR
    conifer (хвойные)STOMPKT
    bareLOVTR
  11. Щелкните ОК.

    Диалоговое окно Параметры AttributeValueMapper (AttributeValueMapper Parameters) закроется.

Раскройте свойства блока AutoCAD

Сделав видимыми определенные свойства блока AutoCAD для типа объектов редактора, вы получите возможность контролировать процесс вставки ссылок на блоки в выходном файле (.dwg) AutoCAD.

Шаги:
  1. Щелкните кнопку Свойства (Properties) на типе объектов редактора NESTS.

    Откроется диалоговое окно Свойства типов объектов (Feature Type Properties).

    Свойства типов объектов

  2. Щелкните вкладку Атрибуты форматов (Format Attributes).
  3. Поставьте флажки в окошках autocad_block_name, autocad_entity и autocad_rotation.
  4. Щелкните ОК.

    Диалоговое окно Свойства типов объектов (Feature Type Properties) закроется.

Подключение входных данных для раскрытых атрибутов формата.

Шаги:
  1. Раскройте перечень атрибутов для трансформера ValueMapper и типа объектов редактора NESTS. Перейдите вниз списков и выполните следующие подключения:

    Подключения ValueMapper

  2. Соедините атрибут ROTATION с атрибутом формата autocad_rotation.

    Тем самым будут переданы значения поворота от исходных данных в блок AutoCAD.

  3. Соедините атрибут block_name с атрибутом формата autocad_block_name.

    Тем самым будут переданы значения block_name, которые были занесены в справочную таблицу AttributeValueMapper, в редактор DWG (DWG writer).

  4. Правой кнопкой мыши щелкните стрелку входных данных (красную) autocad_entity и выберите команду Присоединить константу (Attach Constant) в открывшемся контекстном меню.

    Новая константа (constant) будет подключена в качестве входных данных.

  5. Два раза щелкните Новая константа (New Constant) и введите autocad_insert.

    Указание объекта AutoCAD как autocad_insert вставляет ссылку на блок для каждого выходного объекта. Геометрия (или символы) задается определениями блоков, которые хранятся в файле (.dwg) шаблонов AutoCAD, который вы укажете в следующем разделе.

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

    Все пользовательские атрибуты, передающиеся типу объектов редактора DWG, вставляются в качестве атрибутов блоков со ссылкой на блок для каждого объекта. Это происходит в результате того, что в редакторе DWG Attribute Output установлен параметр Ignore (игнорировать). Благодаря этому игнорируются любые определения атрибутов, найденные в определениях блока файла шаблона, а инструмент spatial ETL контролирует, какие из атрибутов переписываются в чертежный файл.

Укажите файл шаблона AutoCAD

Файл шаблона AutoCAD содержит определения блока, которые вы указали в справочной таблице ValueMapper (ValueMapper lookup table).

Задайте путь файла шаблона, указывающий на файл template.dwg в папке руководства пользователя.

Шаги:
  1. В окне Навигатор (Navigator) разверните тип объектов редактора [ACAD] и узел Параметры (Parameters).
  2. Правой кнопкой мыши щелкните Файл шаблона (Template File) и выберите в контекстном меню Изменить параметр (Edit Parameter).

    Откроется диалоговое окно Изменить параметр (Edit Parameter).

  3. Щелкните кнопку обзора (...) и перейдите к папке C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\template.dwg.
    Параметр файла шаблона
  4. В диалоговом окне Выбрать файл шаблона (Select Template File) щелкните template.dwg, затем щелкните Открыть (Open).
  5. В диалоговом окне Изменить параметр (Edit Parameter) щелкните OK.

Сохраните и переименуйте инструмент

Сохраните работу, выйдите из Workbench, после чего переименуйте инструмент в окне Каталога (Catalog).

Шаги:
  1. Щелкните Файл (File) > Сохранить (Save), чтобы сохранить этот инструмент.
  2. Щелкните Файл (File) > Выход (Exit), чтобы выйти из Workbench.
  3. Правой кнопкой мыши щелкните по новому инструменту spatial ETL (spatial ETL tool) в окне Каталога (Catalog), выберите Переименовать (Rename), а затем введите Nests to AutoCAD.

Откройте и запустите инструмент

Откройте инструмент, задайте параметр файла-адресата и запустите инструмент.

Шаги:
  1. В окне Каталога (Catalog) разверните набор инструментов Nests. Набор инструментов.
  2. Дважды щелкните инструмент Nests to AutoCAD.

    Откроется диалоговое окно Nests to AutoCAD.

    Nests to AutoCAD

  3. Щелкните кнопку обзора папок и перейдите к папке C:\arcgis\ArcTutor\Data Interoperability\birds_eggs.
  4. В диалоговом окне Сохранить как (Save As) введите nests в текстовое поле Имя файла (File name) и щелкните Сохранить (Save). FME-редактор (FME writer) добавит к выходному файлу необходимое расширение.
  5. Щелкните OK, чтобы запустить инструмент.

    Инструмент выполнит конвертацию в фоновом режиме. На индикаторе выполнения, расположенного в нижней части карты, отобразится название инструмента. По окончании работы инструмента в правой нижней части экрана появится всплывающее уведомление. С результатами конвертации вы можете ознакомиться в окне Результаты (Result).

Добавьте эти данные в ArcMap

Шаги:
  1. В окне Каталога (Catalog) разверните набор данных DWG nests и перетащите класс точечных объектов в ArcMap, чтобы подтвердить ваши результаты.

    Nests to AutoCAD, результаты

Скопируйте и переименуйте инструмент

Скопируйте инструмент и используйте его копию как основу для другого инструмента, который создает чертежный файл и набор данных GML с помощью параметра Сортировать по атрибутам (Fanout By Attribute).

Шаги:
  1. В окне Каталога (Catalog) щелкните правой кнопкой мыши по инструменту spatial ETL Nests to AutoCAD и в контекстном меню выберите Копировать (Copy).
  2. Щелкните правой кнопкой мыши набор инструментов Nests и выберите Вставить (Paste).
  3. Правой кнопкой мыши щелкните инструмент Nests to AutoCAD (2), щелкните Переименовать (Rename) и введите Nests to AutoCAD and GML.
  4. Правой кнопкой мыши щелкните инструмент Nests to AutoCAD and GML и выберите Редактировать (Edit).

    Запустится Workbench.

Добавить редактор для GML

Добавьте второй редактор, который создаст наборы данных GML, и соедините его с выходом трансформера ValueMapper (ValueMapper transformer).

Шаги:
  1. В главном меню выберите Редакторы (Writers) > Добавить редактор (Add Writer).

    Откроется диалоговое окно Добавить редактор (Add Writer).

    Добавить редактор

  2. Нажмите кнопку обзора Формат (Format) и выберите GML (Geography Markup Language) из Галереи FME-редактора (FME Writer Gallery).
  3. Нажмите кнопку обзора Набор данных (Dataset) и перейдите к папке C:\arcgis\ArcTutor\Data Interoperability\birds_eggs.
  4. В диалоговом окне Выбрать файл (Select File) введите nests в текстовое поле Имя файла (File name) и щелкните Сохранить (Save). FME-редактор (FME writer) добавит к выходному файлу необходимое расширение.
  5. Перейдите к папке C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\, введите nests в текстовое поле Имя файла (File name), затем щелкните Сохранить (Save).
  6. Щелкните ОК.

    Workbench предложит вам создать новый тип объектов.

  7. Щелкните Нет (No).
  8. Чтобы не создавать тип объектов с нуля, скопируйте имеющийся тип объектов AutoCAD и измените настройки.
  9. Правой кнопкой мыши щелкните выходной тип объектов AutoCAD NESTS и выберите Создать дубликат (Duplicate) в контекстном меню.
  10. Соедините выход ValueMapper с входом нового целевого типа объектов.

    Целевые объекты для GML

  11. Щелкните кнопку Свойства (Properties) на дубликате типа целевых объектов NESTS. Когда вы закончите редактировать настройки, появится подсказка, аналогичная той, которая показана на рисунке выше.

    Откроется диалоговое окно Свойства типов объектов (Feature Type Properties).

    Общие параметры NESTS

  12. В текстовое поле Имя типа объектов (Feature Type Name) введите NESTS_gml.
  13. Поставьте флажок напротив Сортировать по атрибутам (Fanout By Attribute), щелкните стрелку и в ниспадающем списке выберите атрибут COVER.

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

  14. Щелкните стрелку Набор данных (Dataset) и выберите из списка nests [GML].
  15. Щелкните ОК.

    Диалоговое окно Свойства типов объектов (Feature Type Properties) закроется.

Настройка целевого параметра для наборов данных DWG

Публикуемый параметр это - любой параметр (настройка), который пользователь может изменить во время работы инструмента. Параметры появляются в виде окон с текстом в диалоговом окне инструмента spatial ETL, которое похоже на диалоговые окна большинства других инструментов геообработки. В окне Navigator они обозначены фиолетовыми значками.

Когда вы добавили редактор GML, вы установили этот параметр с путем и именем файла по умолчанию. В настоящем разделе этот параметр для наборов данных DWG будет задан с путем и именем файла по умолчанию.

Шаги:
  1. В окне Навигатор (Navigator) разверните тип объектов редактора [ACAD] и узел Параметры (Parameters).
    Публикуемый параметр для наборов данных DWG
  2. Правой кнопкой мыши щелкните Целевое местоположение (Destination) и выберите в контекстном меню Изменить параметр (Edit Parameter).

    Откроется диалоговое окно Редактировать публикуемые параметры (Edit Published Parameter).

  3. Нажмите кнопку обзора (...) и перейдите к папке C:\arcgis\ArcTutor\Data Interoperability\birds_eggs.
  4. В текстовом поле Имя файла (File name) введите nests и щелкните Сохранить (Save).
  5. Щелкните OK, чтобы закрыть диалоговое окно Редактировать публикуемый параметр (Edit Published Parameter).

Сохраните и запустите инструмент

Шаги:
  1. Щелкните Файл (File) > Сохранить (Save), чтобы сохранить этот инструмент.
  2. Щелкните Файл (File) > Выход (Exit), чтобы выйти из Workbench.
  3. В окне Каталога (Catalog) разверните набор инструментов Nests. Набор инструментов.
  4. Дважды щелкните инструмент Nests to AutoCAD and GML.

    Откроется диалоговое окно Nests to AutoCAD and GML.

    Nests to AutoCAD and GML

  5. Щелкните ОК.

    Инструмент выполнит конвертацию в фоновом режиме. На индикаторе выполнения, расположенного в нижней части карты, отобразится название инструмента. По окончании работы инструмента в правой нижней части экрана появится всплывающее уведомление. С результатами конвертации вы можете ознакомиться в окне Результаты (Result).

Добавьте эти данные в ArcMap

Шаги:
  1. В окне Каталога (Catalog) перетащите набор данных GML nests в ArcMap, чтобы проверить полученные результаты.

    Nests to AutoCAD and GML - результаты

На этом выполнение упражнения завершено.

Связанные темы

9/11/2013