Упражнение 3b: Преобразование данных и использование Data Inspector
Трансформер – это объект FME Workbench, который выполняет определенную перестройку структуры объектов или схемы. Это визуальный объект, который вы добавляете в рабочую область и соединяете исходные объекты с объектами-адресатами, или с другими трансформерами.
Данное упражнение познакомит вас с основными правилами использования трансформеров FME. Вы создадите инструмент spatial ETL, который преобразует данные участка MGE и создает новые выходные данные. Наконец, вы рассмотрите полученную рабочую область, не создавая новых данных, с помощью Data Inspector.
С помощью FME Workbench, выполните следующие задачи:
- Добавите трансформер AreaBuilder для создания полигонов из типа исходных объектов LOT_LINES.
- Добавите трансформер PointOnAreaOverlayer для наложения объектов LOT_POINTS на полигональные объекты и объединения их атрибутов.
- Перенаправите выходные данные рабочей области в Визуализатор (Visualizer) и изучите полученный результат.
После запуска инструмента и создания данных, добавьте набор данных в ArcMap, чтобы проверить свои результаты.
Запустите ArcMap
Дополнительный модуль Data Interoperability должен быть включен.
Прежде чем приступить к этому упражнению, вы должны выполнить предыдущее упражнение, Упражнение 3a: Начало работы с инструментами spatial ETL.
- Запустите ArcMap.
-
Щелкните Каталог (Catalog)
на панели инструментов Стандартная (Standard).
-
В текстовом поле Местоположение (Location) введите C:\arcgis\ArcTutor\Data Interoperability\parcels\ и нажмите ENTER.
Это местоположение будет добавлено к дереву Каталога (Catalog) под заголовком Подключения к папкам (Folder Connections).
Скопируйте и переименуйте инструмент spatial ETL
В этом упражнении мы будем изучать основы преобразования объектов и атрибутов в FME Workbench и использование Data Inspector для проверки результатов.
- Правой кнопкой мыши щелкните по инструменту Import MGE Parcel и выберите команду Копировать (Copy) в открывшемся контекстном меню.
- Правой кнопкой мыши щелкните набор инструментов Участки (Parcels) и выберите в контекстном меню команду Вставить (Paste).
- Щелкните правой кнопкой мыши инструмент Import MGE Parcel (2), выберите в контекстном меню команду Переименовать (Rename) и введите Custom Parcels.
- Щелкните правой кнопкой мыши инструмент Custom Parcels и выберите Редактировать (Edit).
Запустится Workbench.
Добавьте трансформер AreaBuilder
Трансформер AreaBuilder создает топологически корректные полигональные объекты из линий, образующих замкнутые формы. Соедините трансформер AreaBuilder с LOT_LINES GeometryFilter.
- Убедитесь, что Галерея трансформера (Transformer Gallery) доступна.Чтобы открыть окно Галерея трансформеров (Transformer Gallery) из главного меню, щелкните Просмотр (View) > Окна (Windows) > Галерея трансформеров (Transformer Gallery).
- В окне Галерея трансформеров (Transformers Gallery) введите areabuilder в текстовом поле Поиск (Search) и нажмите клавишу ВВОД (ENTER).
-
Дважды щелкните элемент AreaBuilder.
Трансформер AreaBuilder будет добавлен в рабочую область.
-
Щелкните линию, которая соединяет LOT_LINES GeometryFilter и целевой объект LOT_LINES, затем нажмите клавишу Удалить (DELETE).
The GeometryFilter будет отсоединен от типа целевых объектов.
- У элемента LOT_LINES GeometryFilter щелкните желтую стрелку рядом с выходными данными атрибута LINE.
- Щелкните красную стрелку рядом с входными данными AreaBuilder.
Теперь выходные данные GeometryFilter соединены со входными данными AreaBuilder, и обе стрелки имеют зеленый цвет.
Добавьте трансформер PointOnAreaOverlayer
Трансформер PointOnAreaOverlayer накладывает точечные объекты на площадные объекты и объединяет их атрибуты. В результате каждый полигональный объект получает атрибуты от точечного объекта, располагающегося в пределах границ этого полигона. Одноименные атрибуты не замещаются.
Соедините трансформер PointOnAreaOverlayer с трансформером LOT_LINES AreaBuilder и с LOT_POINTS GeometryFilter.
- В окне Галерея трансформеров (Transformer Gallery) введите PointOnArea в текстовое поле Поиск (Search).
-
Дважды щелкните PointOnAreaOverlayer.
Трансформер PointOnAreaOverlayer будет добавлен в рабочую область.
- Щелкните линию, которая соединяет LOT_POINTS GeometryFilter и тип целевых объектов LOT_POINTS, после чего нажмите Удалить (DELETE).
The GeometryFilter будет отсоединен от типа целевых объектов.
- У элемента LOT_POINTS GeometryFilter щелкните желтую стрелку рядом с выходными данными POINT.
- Щелкните красную стрелку рядом с входными данными PointOnAreaOverlayer POINT.
Теперь выходные данные GeometryFilter POINT соединены с входными данными PointOnAreaOverlayer POINT, и обе стрелки имеют зеленый цвет.
- Для трансформера AreaBuilder Transformer щелкните красную стрелку рядом с выходными данными AREA.
-
Щелкните красную стрелку рядом с входными данными PointOnAreaOverlayer AREA.
Теперь выходные данные AreaBuilder AREA соединены со входными данными PointOnAreaOverlayer AREA, и обе стрелки имеют зеленый цвет.
Организация компоновки рабочей области
В этот момент соединители могут начать пересекать друг друга и выглядеть запутанно. Существуют несколько способов организовать компоновку рабочей области:
- Щелкните Инструменты (Tools) > Авто-компоновка (Auto Layout).
- Вручную выберите и перетащите объекты в рабочую область.
- Щелкните правой кнопкой мыши линию соединителя, в контекстном меню выберите Вставить вершину на соединении (Insert Vertex on Connection), чтобы добавить одну или более вершин, затем перетащите каждую из вершин так, чтобы она направляла соединитель вокруг других трансформеров.
Повторное определение целевого объекта LOT_POINTS
Повторно определите целевой объект LOT_POINTS, чтобы создать полигональные объекты.
- Соедините выходные данные AREA на трансформере PointOnAreaOverlayer с INPUT на целевом объекте LOT_POINTS.
- Щелкните кнопку Свойства (Properties) на целевом объекте LOT_POINTS.
Откроется диалоговое окно Свойства типов объектов (Feature Type Properties).
- Щелкните закладку Общие (General).
- В окне для текста Имя типа объектов (Feature Type Name) введите parcels.
- Щелкните стрелку Разрешенные геометрии (Allowed Geometries) и выберите geodb_polyline.
- Щелкните вкладку Пользовательские атрибуты (User Attributes).
- Выберите только те атрибуты, имена которых начинаются с igds_, и щелкните Удаляет элемент управления текущей строки (–) (Removes the current row control (–)).
- Нажмите ОК.
- Диалоговое окно Свойства типов объектов (Feature Type Properties) закроется.
Проверьте состояние рабочей области с помощью Data Inspector
Data Inspector – это вьюер "в памяти", благодаря которому вы имеете возможность проверять происходящее в рабочей области, не генерируя новых данных и не перезаписывая существующие данные.
Перенаправьте выходные данные рабочей области в Data Inspector и изучите полученный результат.
-
В окне Навигатор (Navigator) разверните Параметры инструмента (Tool Parameters), правой кнопкой мыши щелкните Перенаправить в... (Destination Redirect) и в контекстном меню выберите Изменить значение параметра (Edit Parameter Value).
Откроется диалоговое окно Изменить параметр (Edit Parameter).
- Щелкните стрелку Перенаправить в... (Destination Redirect) и выберите Перенаправить в приложение Inspector (Redirect to Inspection Application).
- Нажмите ОК.
Диалоговое окно Изменить параметр (Edit Parameter) закроется.
-
В главном меню щелкните Файл (File) > Запустить трансляцию (Run Translation).
Будет запущен Data Inspector.
- Разверните наборы данных в Viewspace.
- На панели инструментов щелкните инструмент Выбрать (Select), выберите объекты и изучите их атрибутивные значения, отображенные в окне Информация об объекте (Feature Information).
- Выйдите из Data Inspector.
- (Дополнительно) Если вы хотите записать данные, чтобы воспользоваться ими снова, повторите Шаг 1 в окне Навигатор (Navigator) в Workbench, и в диалоговом окне Редактировать параметр (Edit Parameter) выберите Без перенаправления (No Redirect).
- В меню Workbench щелкните Файл (File) > Сохранить (Save).
На этом выполнение упражнения завершено.
Дополнительные задачи
По желанию сделайте следующие упражнения самостоятельно:
- Добавьте трансформер Tester в рабочую область, чтобы протестировать Атрибут вычисления перекрытия (Overlap Count Attribute), создаваемый трансформером PointOnOverlayer. Полигональные объекты, содержащие один точечный объект, проходят условие теста и будут направлены к целевому объекту LOT_POINTS. Полигональные объекты, которые не содержат ни одного точечного объекта, не пройдут тест и будут направлены к целевому объекту LOT_LINES.
- Сохранение инструмента spatial ETL (spatial ETL) как пользовательского формата. Пользовательский формат – это переходная рабочая область, экспортированная в виде формата, которая используется в Галерее FME-ридера (FME reader gallery). Он сохраняется во внешнем файле (.fds) и может быть импортирован в галереи ридеров на другие компьютеры.