Упражнение 3c: Использование исходных атрибутов для сортировки данных.
В данном упражнении рассматриваются два метода использования значений атрибутов для сортировки данных на основе значений атрибутов. Они могут использоваться для создания инструментов spatial ETL, которые группируют исходные данные и создают группы объектов с общими значениями.
При первом методе данные группируются в пределах рабочей области с помощью трансформера ValueMapper в виде справочной таблицы и направляются в определенные блоки AutoCAD. При втором методе сортировка данных для набора данных GML производится в момент записи с помощью параметра редактора Сортировать по атрибутам (Fanout By Attribute), при этом "на лету" генерируются уникальные типы объектов.
С помощью Workbench вы выполните следующие задачи:
- Добавьте трансформер ValueMapper и определенные картографические значения атрибутов в поле COVER в описание блока AutoCAD, которое хранится в файле (.dwg) шаблона AutoCAD.
- Раскройте свойства AutoCAD для имени блока, поворота блока и block reference (insert) entity.
- Укажите файл шаблона AutoCAD, который находится вместе с учебными данными.
- Добавьте второе место назначения для набора данных GML и установите параметр Сортировать по атрибутам (Fanout By Attribute) для каждого уникального значения в поле COVER.
Создание набора инструментов и инструмента spatial ETL
Дополнительный модуль Data Interoperability должен быть включен.
- Запустите ArcMap.
-
Щелкните окно Каталога.
на панели инструментов Стандартные (Standard).
-
В текстовое поле Местоположение (Location) введите C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\ и нажмите ENTER.
Местоположение будет добавлено в дерево Каталога.
- Правой кнопкой мыши щелкните папку birds_eggs и выберите Создать (New) > Набор инструментов (Toolbox).
.
- Щелкните правой кнопкой мыши набор инструментов, щелкните Переименовать (Rename) и введите nests.
- Правой кнопкой мыши щелкните набор инструментов nests и выберите Создать (New) > Инструмент spatial ETL (Spatial ETL Tool).
Откроется Мастер создания рабочей области преобразований(Create Translation Workspace Wizard).
Создание рабочей области преобразований
Выбор FME-ридера (FME reader)
- Нажмите кнопку обзора Формат (Format).
Откроется диалоговое окно Галерея FME-ридера (FME Reader Gallery).
- Введите gdb в окне для текста Поиск (Search).
- Выберите строку с форматом Файловая база геоданных Esri (Esri Geodatabase (File-based) и нажмите OK.
Диалоговое окно Галерея FME-ридера (FME Reader Gallery) закроется.
- Нажмите Далее (Next).
Указание источника данных
- Щелкните кнопку обзора Обнаружить исходные данные (Locate Source Data).
Откроется диалоговое окно Выбрать базу геоданных (Select Geodatabase).
- Перейдите к папке C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\.
- Щелкните папку nests.gdb и выберите Открыть (Open).
Диалоговое окно Выбрать базу геоданных (Select Geodatabase) закроется.
- Щелкните Далее (Next), чтобы принять параметры ридера, установленные по умолчанию для этой базы геоданных.
Выбор FME-редактора (FME writer)
- Нажмите кнопку обзора Формат (Format).
Откроется диалоговое окно Галерея FME-редактора (FME Writer Gallery).
- Введите dwg в окне для текста Поиск (Search).
- Выберите строку Autodesk AutoCAD DWG/DXF и нажмите OK.
Диалоговое окно Галерея FME-редактора (FME Writer Gallery) закроется.
- Нажмите Далее (Next).
- Щелкните Далее (Next), чтобы принять параметры по умолчанию, установленные для формата AutoCAD DWG.
Создание рабочей области
- Нажмите Готово (Finish).
Мастер начнет обработку информации и запустит Workbench.
- Разверните тип объектов ридера NESTS и тип объектов редактора NESTS. Обратите внимание на то, что атрибуты исходных объектов отображаются непосредственно в целевом наборе данных AutoCAD.
Добавьте трансформер AttributeValueMapper
Трансформер AttributeValueMapper определяет значения атрибутов на основе других атрибутов и сохраняет значение в новом атрибуте.
Занесение определенных значений атрибутов COVER в имена блока AutoCAD (AutoCAD block names) и сохранение значений в атрибуте с именем block_name.
- В текстовом поле Поиск (search) окна Трансформеры (Transformers) введите valuem и нажмите ENTER.
-
Дважды щелкните AttributeValueMapper.
Трансформер AttributeValueMapper будет добавлен в рабочую область.
- Щелкните правой кнопкой трансформер AttributeValueMapper и выберите команду Вставить перед (Insert Before) из контекстного меню.Запустится Мастер Workbench (Workbench Wizard) .
- Нажмите Далее (Next).
Трансформер соединен с типами объектов и ридера, и редактора.
- Нажмите кнопку Свойства (Properties) в окне трансформера ValueMapper.
Откроется диалоговое окно Параметры AttributeValueMapper (AttributeValueMapper Parameters) .
- Щелкните стрелку Source Attribute и в ниспадающем списке выберите атрибут COVER.
- В текстовое поле Имя нового атрибута (New Attribute Name) введите block_name.
Импорт уникальных значений
Исходные входные значения можно ввести вручную или при помощи мастера импорта. В этом разделе будет показано, как пользоваться мастером импорта. Когда целевые значения недоступны, как в этом случае, можно выбрать одинаковые атрибуты и для ключевых атрибутов, и для атрибутов значений и создать соответствие 1:1. После этого можно изменить целевые значения так, чтобы они подходили соответствующим именам блока AutoCAD, сохраненным в файле (.dwg) шаблона.
- Щелкните Импорт (Import).
Запустится Мастер Workbench (Workbench Wizard) .
- Подтвердите, что Набор данных (Dataset) установлен в C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\nests.gdb. Чтобы посмотреть настройки, можно щелкнуть кнопку Изменить (Change), а затем нажать кнопку Отменить (Cancel), чтобы закрыть диалоговое окно.
- Нажмите Далее (Next).
- В диалоговом окне Выбор типов объектов (Select Feature Types) выберите тип объекта NEST и нажмите Далее (Next).
- В диалоговом окне Ключевой атрибут (Key Attribute) выберите COVER и нажмите Далее (Next).
- В диалоговом окне Атрибутивное значение (Value Attribute) выберите COVER и нажмите Далее (Next).
- В диалоговом окне Сканирование атрибутивных значений (Scanning Attribute Values) щелкните Завершить (Finish), как только сканирование данных будет завершено.
Появится сообщение Workbench: найдено 5 значений. Щелкните ОК.
- В текстовом поле Значение по умолчанию (Default Value) введите LOVSK.
Если во время выполнения инструмент столкнется со значением, отсутствующим в справочной таблице ValueMapper, то будет использовано значение по умолчанию. В этом упражнении вы укажете имя блока AutoCAD (AutoCAD block name), сохраненное в шаблонном чертеже.
- Щелкните по каждому значению в столбце справа и замените их именем блока AutoCAD (AutoCAD block name), сохраненным в шаблонном чертеже.
-
Щелкните ОК.
Диалоговое окно Параметры AttributeValueMapper (AttributeValueMapper Parameters) закроется.
Атрибут COVER | Имя блока AutoCAD |
---|---|
rock | KRYSS |
willow | BARRTR |
conifer (хвойные) | STOMPKT |
bare | LOVTR |
Раскройте свойства блока AutoCAD
Сделав видимыми определенные свойства блока AutoCAD для типа объектов редактора, вы получите возможность контролировать процесс вставки ссылок на блоки в выходном файле (.dwg) AutoCAD.
- Щелкните кнопку Свойства (Properties) на типе объектов редактора NESTS.
Откроется диалоговое окно Свойства типов объектов (Feature Type Properties).
- Щелкните вкладку Атрибуты форматов (Format Attributes).
- Поставьте флажки в окошках autocad_block_name, autocad_entity и autocad_rotation.
-
Щелкните ОК.
Диалоговое окно Свойства типов объектов (Feature Type Properties) закроется.
Подключение входных данных для раскрытых атрибутов формата.
- Раскройте перечень атрибутов для трансформера ValueMapper и типа объектов редактора NESTS. Перейдите вниз списков и выполните следующие подключения:
- Соедините атрибут ROTATION с атрибутом формата autocad_rotation.
Тем самым будут переданы значения поворота от исходных данных в блок AutoCAD.
- Соедините атрибут block_name с атрибутом формата autocad_block_name.
Тем самым будут переданы значения block_name, которые были занесены в справочную таблицу AttributeValueMapper, в редактор DWG (DWG writer).
- Правой кнопкой мыши щелкните стрелку входных данных (красную) autocad_entity и выберите команду Присоединить константу (Attach Constant) в открывшемся контекстном меню.
Новая константа (constant) будет подключена в качестве входных данных.
- Два раза щелкните Новая константа (New Constant) и введите autocad_insert.
Указание объекта AutoCAD как autocad_insert вставляет ссылку на блок для каждого выходного объекта. Геометрия (или символы) задается определениями блоков, которые хранятся в файле (.dwg) шаблонов AutoCAD, который вы укажете в следующем разделе.
Примечание:
Все пользовательские атрибуты, передающиеся типу объектов редактора DWG, вставляются в качестве атрибутов блоков со ссылкой на блок для каждого объекта. Это происходит в результате того, что в редакторе DWG Attribute Output установлен параметр Ignore (игнорировать). Благодаря этому игнорируются любые определения атрибутов, найденные в определениях блока файла шаблона, а инструмент spatial ETL контролирует, какие из атрибутов переписываются в чертежный файл.
Укажите файл шаблона AutoCAD
Файл шаблона AutoCAD содержит определения блока, которые вы указали в справочной таблице ValueMapper (ValueMapper lookup table).
Задайте путь файла шаблона, указывающий на файл template.dwg в папке руководства пользователя.
- В окне Навигатор (Navigator) разверните тип объектов редактора [ACAD] и узел Параметры (Parameters).
- Правой кнопкой мыши щелкните Файл шаблона (Template File) и выберите в контекстном меню Изменить параметр (Edit Parameter).
Откроется диалоговое окно Изменить параметр (Edit Parameter).
- Щелкните кнопку обзора (...) и перейдите к папке C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\template.dwg.
- В диалоговом окне Выбрать файл шаблона (Select Template File) щелкните template.dwg, затем щелкните Открыть (Open).
- В диалоговом окне Изменить параметр (Edit Parameter) щелкните OK.
Сохраните и переименуйте инструмент
Сохраните работу, выйдите из Workbench, после чего переименуйте инструмент в окне Каталога (Catalog).
- Щелкните Файл (File) > Сохранить (Save), чтобы сохранить этот инструмент.
- Щелкните Файл (File) > Выход (Exit), чтобы выйти из Workbench.
- Правой кнопкой мыши щелкните по новому инструменту spatial ETL (spatial ETL tool) в окне Каталога (Catalog), выберите Переименовать (Rename), а затем введите Nests to AutoCAD.
Откройте и запустите инструмент
Откройте инструмент, задайте параметр файла-адресата и запустите инструмент.
- В окне Каталога (Catalog) разверните набор инструментов Nests.
.
-
Дважды щелкните инструмент Nests to AutoCAD.
Откроется диалоговое окно Nests to AutoCAD.
- Щелкните кнопку обзора папок и перейдите к папке C:\arcgis\ArcTutor\Data Interoperability\birds_eggs.
- В диалоговом окне Сохранить как (Save As) введите nests в текстовое поле Имя файла (File name) и щелкните Сохранить (Save). FME-редактор (FME writer) добавит к выходному файлу необходимое расширение.
- Щелкните OK, чтобы запустить инструмент.
Инструмент выполнит конвертацию в фоновом режиме. На индикаторе выполнения, расположенного в нижней части карты, отобразится название инструмента. По окончании работы инструмента в правой нижней части экрана появится всплывающее уведомление. С результатами конвертации вы можете ознакомиться в окне Результаты (Result).
Добавьте эти данные в ArcMap
- В окне Каталога (Catalog) разверните набор данных DWG nests и перетащите класс точечных объектов в ArcMap, чтобы подтвердить ваши результаты.
Скопируйте и переименуйте инструмент
Скопируйте инструмент и используйте его копию как основу для другого инструмента, который создает чертежный файл и набор данных GML с помощью параметра Сортировать по атрибутам (Fanout By Attribute).
- В окне Каталога (Catalog) щелкните правой кнопкой мыши по инструменту spatial ETL Nests to AutoCAD и в контекстном меню выберите Копировать (Copy).
- Щелкните правой кнопкой мыши набор инструментов Nests и выберите Вставить (Paste).
- Правой кнопкой мыши щелкните инструмент Nests to AutoCAD (2), щелкните Переименовать (Rename) и введите Nests to AutoCAD and GML.
- Правой кнопкой мыши щелкните инструмент Nests to AutoCAD and GML и выберите Редактировать (Edit).
Запустится Workbench.
Добавить редактор для GML
Добавьте второй редактор, который создаст наборы данных GML, и соедините его с выходом трансформера ValueMapper (ValueMapper transformer).
- В главном меню выберите Редакторы (Writers) > Добавить редактор (Add Writer).
Откроется диалоговое окно Добавить редактор (Add Writer).
- Нажмите кнопку обзора Формат (Format) и выберите GML (Geography Markup Language) из Галереи FME-редактора (FME Writer Gallery).
- Нажмите кнопку обзора Набор данных (Dataset) и перейдите к папке C:\arcgis\ArcTutor\Data Interoperability\birds_eggs.
- В диалоговом окне Выбрать файл (Select File) введите nests в текстовое поле Имя файла (File name) и щелкните Сохранить (Save). FME-редактор (FME writer) добавит к выходному файлу необходимое расширение.
- Перейдите к папке C:\arcgis\ArcTutor\Data Interoperability\birds_eggs\, введите nests в текстовое поле Имя файла (File name), затем щелкните Сохранить (Save).
- Щелкните ОК.
Workbench предложит вам создать новый тип объектов.
- Щелкните Нет (No).
- Правой кнопкой мыши щелкните выходной тип объектов AutoCAD NESTS и выберите Создать дубликат (Duplicate) в контекстном меню.
- Соедините выход ValueMapper с входом нового целевого типа объектов.
- Щелкните кнопку Свойства (Properties) на дубликате типа целевых объектов NESTS. Когда вы закончите редактировать настройки, появится подсказка, аналогичная той, которая показана на рисунке выше.
Откроется диалоговое окно Свойства типов объектов (Feature Type Properties).
- В текстовое поле Имя типа объектов (Feature Type Name) введите NESTS_gml.
- Поставьте флажок напротив Сортировать по атрибутам (Fanout By Attribute), щелкните стрелку и в ниспадающем списке выберите атрибут COVER.
Настройки Fanout разобьют (отсортируют) выходные данные по значениям атрибутов. В ходе процесса главным образом будет происходить разбивка данных, а не их создание в рабочей области. В этом упражнении они используются для создания выходных данных на основе значения в поле атрибута COVER.
- Щелкните стрелку Набор данных (Dataset) и выберите из списка nests [GML].
-
Щелкните ОК.
Диалоговое окно Свойства типов объектов (Feature Type Properties) закроется.
Настройка целевого параметра для наборов данных DWG
Публикуемый параметр это - любой параметр (настройка), который пользователь может изменить во время работы инструмента. Параметры появляются в виде окон с текстом в диалоговом окне инструмента spatial ETL, которое похоже на диалоговые окна большинства других инструментов геообработки. В окне Navigator они обозначены фиолетовыми значками.
Когда вы добавили редактор GML, вы установили этот параметр с путем и именем файла по умолчанию. В настоящем разделе этот параметр для наборов данных DWG будет задан с путем и именем файла по умолчанию.
- В окне Навигатор (Navigator) разверните тип объектов редактора [ACAD] и узел Параметры (Parameters).
- Правой кнопкой мыши щелкните Целевое местоположение (Destination) и выберите в контекстном меню Изменить параметр (Edit Parameter).
Откроется диалоговое окно Редактировать публикуемые параметры (Edit Published Parameter).
- Нажмите кнопку обзора (...) и перейдите к папке C:\arcgis\ArcTutor\Data Interoperability\birds_eggs.
- В текстовом поле Имя файла (File name) введите nests и щелкните Сохранить (Save).
- Щелкните OK, чтобы закрыть диалоговое окно Редактировать публикуемый параметр (Edit Published Parameter).
Сохраните и запустите инструмент
- Щелкните Файл (File) > Сохранить (Save), чтобы сохранить этот инструмент.
- Щелкните Файл (File) > Выход (Exit), чтобы выйти из Workbench.
- В окне Каталога (Catalog) разверните набор инструментов Nests.
.
-
Дважды щелкните инструмент Nests to AutoCAD and GML.
Откроется диалоговое окно Nests to AutoCAD and GML.
- Щелкните ОК.
Инструмент выполнит конвертацию в фоновом режиме. На индикаторе выполнения, расположенного в нижней части карты, отобразится название инструмента. По окончании работы инструмента в правой нижней части экрана появится всплывающее уведомление. С результатами конвертации вы можете ознакомиться в окне Результаты (Result).
Добавьте эти данные в ArcMap
- В окне Каталога (Catalog) перетащите набор данных GML nests в ArcMap, чтобы проверить полученные результаты.
На этом выполнение упражнения завершено.