ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

FieldMap

  • Сводка
  • Описание
  • Синтаксис
  • Свойства
  • Обзор метода
  • Методы
  • Пример кода

Сводка

Объект FieldMap задает определение поля и список входных полей из набора таблиц или классов пространственных объектов.

Описание

Свойства объекта FieldMap включают начальное и конечное положения входного текстового значения, поэтому выходное значение можно создать с использованием лишь части входного значения. Если объект FieldMap содержит несколько входных полей из одной таблицы или класса объектов, то значения каждой записи объединяются с помощью свойства mergeRule. Этот способ удобен для объединения таких значений, как название улицы из одного поля и тип улицы из другого поля, например: Eureka и Street. Свойство joinDelimiter для FieldMap применяется, если для mergeRule задано значение Join. Любой набор символов, например, пробел, можно использовать в качестве разделителя. В приведенном выше примере, таким образом, будет создано значение Eureka Street.

Объект FieldMappings представляет собой набор объектов FieldMap и используется как значение параметра для инструментов, выполняющих сопоставление полей; к таким инструментам относится, в частности, инструмент Слияние. Проще всего с этими объектами работать следующим образом — сначала создать объект FieldMappings, а затем инициализировать его объекты FieldMap посредством добавления входных классов объектов или таблиц, которые необходимо с ним соединить. Когда будут заданы все входные данные, объект FieldMappings будет содержать один объект FieldMap или выходное поле для каждого уникального имени поля из всех входных данных. Этот список можно изменять, добавляя в него новые поля, изменяя свойства или содержимое выходного поля или удаляя из него ненужные выходные поля.

Синтаксис

 FieldMap  ()

Свойства

ВладениеОбъяснениеТип данных
inputFieldCount
(только чтение)

Число определенных входных полей.

Integer
joinDelimiter
(чтение и запись)

Строковое значение, используемое для отделения входных значений от той же таблицы, если тип выходного поля – строка и для mergeRule задано значение Join.

String
mergeRule
(чтение и запись)

Определяет способ объединения значений из двух и более полей одной и той же входной таблицы в единственное выходное значение. Допустимые значения:

  • First —Используется первое входное значение.
  • Last —Используется последнее входное значение.
  • Join —Позволяет соединить значения с использованием разделителя (допустимо, только если тип выходного поля текстовый).
  • Min —Используется минимальное входное значение (допустимо, только если тип выходного поля числовой).
  • Max —Используется максимальное входное значение (допустимо, только если тип выходного поля числовой).
  • Mean —Среднее значение рассчитывается на основе входных значений (допустимо, только если тип выходного поля числовой).
  • Median —Медианное значение рассчитывается на основе входных значений (допустимо, только если тип выходного поля числовой).
  • Sum —Сумма рассчитывается на основе входных значений (допустимо, только если тип выходного поля числовой).
  • StDev —Среднеквадратическое отклонение рассчитывается на основе входных значений (допустимо, только если тип выходного поля числовой).
  • Count —Количество значений будет включено в статистику. Пересчитываются все значения, исключая пустые значения.
String
outputField
(чтение и запись)

Свойства выходного поля либо задаются, либо возвращаются в объекте Field.

Field

Обзор метода

МетодОбъяснение
addInputField (table_dataset, field_name, {start_position}, {end_position})

Добавляет входное поле в список полей.

findInputFieldIndex (table_dataset, field_name)

Находит входное поле в списке полей.

getEndTextPosition (index)

Возвращает позицию конца текста на карте полей.

getInputFieldName (index)

Возвращает имя входного поля из карты полей на основе позиции индекса поля.

getInputTableName (index)

Возвращает имя входной таблицы из карты полей на основе позиции индекса таблицы.

getStartTextPosition (index)

Возвращает начальную текстовую позицию объекта FieldMap.

removeAll ()

Удаляет все значения и создает пустой объект.

removeInputField (index)

Удаляет входное поле из объект FieldMap.

setEndTextPosition (index, end_position)

Устанавливает конечное текстовое положение для списка полей.

setStartTextPosition (index, start_position)

Устанавливает начальное текстовое положение из списка полей.

Методы

addInputField (table_dataset, field_name, {start_position}, {end_position})
ПараметрОбъяснениеТип данных
table_dataset

Таблица, которая будет добавлена к списку полей.

String
field_name

Имя входного поля.

String
start_position

Начальное положение входного текстового значения.

(Значение по умолчанию — -1)

Integer
end_position

Конечное положение входного текстового значения.

(Значение по умолчанию — -1)

Integer
findInputFieldIndex (table_dataset, field_name)
ПараметрОбъяснениеТип данных
table_dataset

Таблица, которая будет добавлена к списку полей.

String
field_name

Имя поля.

String

Значение отраженного сигнала

Тип данныхОбъяснение
Integer

Значение индекса имени поля.

getEndTextPosition (index)
ПараметрОбъяснениеТип данных
index

The index position.

Integer

Значение отраженного сигнала

Тип данныхОбъяснение
Integer

Позиция конца текста.

getInputFieldName (index)
ПараметрОбъяснениеТип данных
index

The index position.

Integer

Значение отраженного сигнала

Тип данныхОбъяснение
String

Имя входного поля.

getInputTableName (index)
ПараметрОбъяснениеТип данных
index

The index position.

Integer

Значение отраженного сигнала

Тип данныхОбъяснение
String

Имя входной таблицы.

getStartTextPosition (index)
ПараметрОбъяснениеТип данных
index

The index position.

Integer

Значение отраженного сигнала

Тип данныхОбъяснение
Integer

Начальная текстовая позиция.

removeAll ()
removeInputField (index)
ПараметрОбъяснениеТип данных
index

The index position.

Integer
setEndTextPosition (index, end_position)
ПараметрОбъяснениеТип данных
index

Значение индекса.

Integer
end_position

Конечное положение входного текстового значения.

Integer
setStartTextPosition (index, start_position)
ПараметрОбъяснениеТип данных
index

Значение индекса.

Integer
start_position

Начальное положение входного текстового значения.

Integer

Пример кода

FieldMap пример

Объекты FieldMap часто используются, когда требуется соединить наборы со схожими данными в один полный набор. В этом примере класс пространственных объектов Trees (деревья) и шейп-файл Plants.shp (растения) соединяются в один класс пространственных объектов Vegetation (растительность). Атрибутами обоих исходных классов пространственных объектов являются: Тип (Type) и Диаметр (Diameter). В результате соединения оба эти атрибута должны быть сохранены.

import arcpy
# Set the workspace
arcpy.env.workspace = 'c:/base'
in_file1 = 'data.gdb/Trees'
in_file2 = 'Plants.shp'
output_file = 'data.gdb/Vegetation'
# Create the required FieldMap and FieldMappings objects
fm_type = arcpy.FieldMap()
fm_diam = arcpy.FieldMap()
fms = arcpy.FieldMappings()
# Get the field names of vegetation type and diameter for both original
# files
tree_type = "Tree_Type"
plant_type = "Plant_Type"
tree_diam = "Tree_Diameter"
plant_diam = "Diameter"
# Add fields to their corresponding FieldMap objects
fm_type.addInputField(in_file1, tree_type)
fm_type.addInputField(in_file2, plant_type)
fm_diam.addInputField(in_file1, tree_diam)
fm_diam.addInputField(in_file2, plant_diam)
# Set the output field properties for both FieldMap objects
type_name = fm_type.outputField
type_name.name = 'Veg_Type'
fm_type.outputField = type_name
diam_name = fm_diam.outputField
diam_name.name = 'Veg_Diam'
fm_diam.outputField = diam_name
# Add the FieldMap objects to the FieldMappings object
fms.addFieldMap(fm_type)
fms.addFieldMap(fm_diam)
# Merge the two feature classes
arcpy.Merge_management([in_file1, in_file2], output_file, fms)
FieldMap пример 2

В данном примере иллюстрируется вариант использования объектов FieldMap для объединения полей с помощью инструмента FeatureClassToFeatureClass. В этом примере класс объектов содержит информацию о количестве дорожных происшествий в городе в расчете на один перекресток. Каждый год данные сохраняются в одном поле. Пользователю требуется найти среднее количество происшествий на каждом перекрестке, не изменяя имеющейся таблицы.

import arcpy
# Set the workspace arcpy.env.workspace = 'c:/base/data.gdb'
in_file = 'AccidentData' out_file = 'AverageAccidents'
# Create the necessary FieldMap and FieldMappings objects fm = arcpy.FieldMap() fm1 = arcpy.FieldMap() fms = arcpy.FieldMappings()
# Each field with accident data begins with 'Yr' (from Yr2007 to Yr2012). # The next step loops through each of the fields beginning with 'Yr', # and adds them to the FieldMap Object for field in arcpy.ListFields(in_file, 'Yr*'):
    fm.addInputField(in_file, field.name)
# Set the merge rule to find the mean value of all fields in the
# FieldMap object fm.mergeRule = 'Mean'
# Set properties of the output name. f_name = fm.outputField f_name.name = 'AvgAccidents' f_name.aliasName = 'AvgAccidents' fm.outputField = f_name
# Add the intersection field to the second FieldMap object fm1.addInputField(in_file, "Intersection")
# Add both FieldMaps to the FieldMappings Object fms.addFieldMap(fm) fms.addFieldMap(fm1)
# Create the output feature class, using the FieldMappings object arcpy.FeatureClassToFeatureClass_conversion(    in_file, arcpy.env.workspace, out_file, field_mapping=fms)

Связанные разделы

  • Сопоставление входных полей с выходными полями
  • FieldMappings

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация