Использование параметра соответствия полей
При слиянии нескольких входных данных в один выходной набор данных важным является сохранение полей и содержания. Каждый входной набор данных будет содержать поля, которые имеются и в других входных наборах данных, а также поля, которые являются уникальными для этого набора данных. То, каким образом производится управление полями определяет структуру полей и содержание выходного набора данных. Параметр Соответствие полей (Field Mapping) позволяет вам определить структуру полей выходного набора данных.
Все поля входных наборов данных будут переведены к выходному набору данных. Когда у всех входных наборов данных имеются одинаковые поля (их имена совпадают), то в выходном наборе данных будет создано поле для каждого из этих полей. Все уникальные поля входных наборов данных (те, которых нет в других входных наборах данных) будут также скопированы в выходной набор данных.
Подполя соответствия полей могут иметь различные типы данных. В этом случае тип данных выходного поля будет определен как тип данных первого набора данных, а типы данных всех остальных подполей будут сконвертированы в этот тип. Например, первое входное поле определено с типом "текст" (text), а второе входное поле (с тем же именем) — с типом "двойной точности" (double). Выходным типом данных будет "текст " (text), а значения второго входного поля будут сконвертированы в этот тип данных. Иногда могут возникнуть случаи, когда конвертация будет невозможна, и в процессе работы возникнет ошибка. Например, поле с типом BLOB не может быть сконвертировано ни в какой другой тип данных, отличный от BLOB. Также буквенно-цифровое поле будет обрезано (начальная и конечные точки будут указаны), чтобы удалить буквенную часть, если поле будет сконвертировано с численным типом.
Схема установки соответствия полей будет отображена в дереве каталога. Все корневые (самого высокого уровня) записи являются полями выходного набора данных. Вы увидите их имена и их выходные типы данных по умолчанию. По умолчанию для выходных полей используется тип данных первого входного поля.
Каждый корневой уровень может быть расширен. Когда он будет расширен, то в нем будут отображены все подполя, из которых данные будут собраны для заполнения выходного поля. Для каждого случая появления поля (по имени) во входном наборе данных будет добавлено подполе, для которого будет указан его источник и тип данных. Первое поле входного набора данных появится первым в списке подполей.
Это стандартная структура полей выходных данных. Вы можете в любое время добавить или удалить входные наборы данных; добавить, удалить или переименовать поля выходных наборов данных; добавить, удалить или переименовать подполя с пользовательским форматом.
Изменение стандартного порядка установки соответствия полей
Стандартная схема установки соответствия полей может быть изменена в любое время. Выходные поля могут быть добавлены, удалены или переименованы. Подполя могут быть добавлены, удалены или переименованы. В случае наличия выходных текстовых полей они могут быть отформатированы. В древовидном списке полей вы можете использовать меню быстрого доступа (доступ к ним осуществляется при щелчке правой кнопкой мыши на выбранном поле, подполе или пустой рабочей области), чтобы произвести какие-то изменения.
Для выходных полей в меню быстрого доступа доступны следующие команды: Добавить входное поле (Add Input Field), Удалить (Delete), Переименовать (Rename) и Свойства (Properties).
- При выборе Добавить входное поле (Add Input Field) откроется диалоговое окно, в котором будут указаны все поля входных наборов данных. При выборе доступного поля произойдет его добавление в список подполей выбранного поля.
- При использовании опции Удалить (Delete) произойдет удаление выбранного поля из выходного набора данных.
- Опция Переименовать (Rename) позволит изменить имя выходного поля.
- Свойства (Properties) позволяют изменить свойства выбранного поля. Вы можете изменить имя поля, его тип, свойства типа, правило слияния и ограничитель (если для правила слияния выбрано Соединение (Join)).
Для дополнительных полей в меню быстрого доступа существуют следующие команды: Удалить (Delete) и Форматировать (Format) (только текстовые поля).
- Опция Удалить (Delete) произведет удаление выбранного подполя. Если будет удалено первое подполе, то тип данных выходного поля не изменится, чтобы отразить новое первую позицию подполя. Если вы хотите изменить тип данных выходного поля, то вам нужно сделать это вручную (с помощью диалогового окна Свойства (Properties)), или используя опцию Переустановить (Reset) в контекстном меню окна списка полей.
- Опция Формат (Format) позволит вам изменить длину поля, начальное и конечное положение, а затем произведет изменения для всех остальных подполей с тем же именем.
Если длина поля будет уменьшена, то значения выходных строк будут обрезаны по длине поля. Обрезание будет также произведено, если значения начального и конечного положений будут изменены. Значение Начальное положение (Start Position) будет начальной точкой, откуда будет производиться обрезание значений строки. Значения длины поля строки начинаются с ноля.
Значения, длина которых будет больше, чем Конечное положение (End Position) будут обрезаны в указанном месте. Например, текстовое поле со значением "environment ", длиной в 12, начальным положением 3 и конечным положением 7 будет обрезано в выходном поле как "ironm ".
Меню быстрого доступа панели списка полей (белая область) содержит несколько команд: Добавить выходное поле (Add Output Field) и Сбросить (Reset).
- Опция Добавить выходное поле (Add Output Field) производит добавление нового поля. Появится второе диалоговое окно, где вы сможете изменить имя, тип данных, свойства типа данных, правило соединения и ограничитель (если было указано правило слияния Соединение (Join)).
- Опция Переустановить (Reset) вернет все настройки параметров выходного поля в стандартные. Все изменения будут аннулированы.
Правила слияния
Каждое выходное поле позволяет настроить определенные параметры, например, имя, тип и правило слияния. Правила слияния позволяют вам определить, каким образом значения из нескольких входных полей (подполей) будут объединены в одно выходное значение. Нулевые значения исключаются из всех статистических вычислений. Имеется несколько правил слияния, которые вы можете использовать:
- Первый (First) — использует значения первого подполя для заполнения строк выходного поля.
- Последний (Last) — использует значения последнего подполя для заполнения строк выходного поля.
- Соединение (Join) — производит конкатенацию (соединение) всех значений подполей и использует это значение для заполнения строк выходного поля. Вы можете использовать ограничитель для разделения различных входных значений. Если никаких ограничителей не будет использовано, то все значения будут объединены в одно строковое значение.
- Сумма (Sum) — производит суммирование всех значений подполей, а затем делит результат на число входных подполей.
- Среднее (Mean) — производит расчет среднего значения значений всех подполей, и использует его для заполнения строк выходного поля.
- Медиана (Median) — производит расчет медианы (середины) и использует это значения для заполнения строк выходного поля. Медиана — это значение в середине группы значений, которое разделяет общее число значений на две группы. Если имеется четное число значений, то рассчитывается среднее значение двух центровых значений группы. Например, медианой значений 1, 6, 7 и 100 будет 6,5.
- Мода (Mode) — использует значение, которое встречается чаще всего (самое частое). Если имеется несколько значений, которые встречаются одинаково часто, то список значений моды будет отсортирован (по возрастанию для численных значений, в алфавитном порядке для текстовых значений), и будет использоваться первое значение.
- Минимуму (Min) — находит самое малое значение во всех подполях и использует его для заполнения строк выходного поля.
- Максимум (Max) — находит самое большое значение во всех подполях и использует его для заполнения строк выходного поля.
- Стандартное отклонение (Standard deviation) — использует метод классификации по стандартному отклонению для всех значений подполей.
Операция расчета стандартного отклонения не должна быть произведена только для одного входного набора данных, потому что значения не могут быть разделены на ноль, так что опция стандартного отклонения не может быть корректно использована при наличии только для одного входного набора данных. Запуск инструмента геообработки Слияние (Merge) не будет остановлен, если для выходного поля была выбрана опция стандартного отклонения, и имеется только одно подполе. В этом случае в строках выходной таблицы будут введены нулевые значения.
- Счет (Count) — находит число уникальных значений, которые включены в статистические расчеты. Пересчитываются все значения, исключая нулевые.
Настройки параметра Список полей (Field Map) для скриптов
При работе со скриптами соответствие полей может быть установлено несколькими способами:
- Указав текстовое значение для параметра установки соответствия полей — рекомендуется использовать эту опцию, только когда число полей небольшое, и почти никаких изменений полей не требуется.
- Создайте и используйте объект FieldMappings.