Краткая информация
Предоставляет возможность брать имена полей или устанавливать значения по умолчанию для свойств слоя класса сетевого анализа . Свойства класса сетевого анализа используются как исходные данные для расчетов при выполнении сетевого анализа.
Обсуждение
Объект NAClassFieldMap не может сам приписывать значения. Это выполняет объект NAClassFieldMappings, который возвращает набор объектов NAClassFieldMap в виде словаря Python. Ключи словаря – это имена свойств и значения объектов NAClassFieldMap.
Свойства
Свойство | Объяснение | Тип данных |
defaultValue (чтение и запись) | Дает возможность получать или задавать значение по умолчанию для свойства, представленного объектом NAClassFieldMap. Значение может определяться как строковое представление значения или как значение типа данных для свойства. Например, свойство Ограждающий подход (Curb Approach) по умолчанию имеет значение в числовом виде 1 или в строковом "1". Значение по умолчанию не может задаваться для свойства Положения (Locations) в подслоях Линейные барьеры (Line Barriers) и Полигональные барьеры (Polygon Barriers), так как они требуют значений BLOB. Если оба свойства mappedFieldName и defaultValue определены для одного свойства, то значение по умолчанию используется только, когда значение атрибута объекта, связанного с указанным полем, имеет нулевое значение. | Variant |
mappedFieldName (чтение и запись) | Дает возможность получать или задавать имя поля из входного класса объектов или таблицы, которая используется для присвоения значения свойству. Если значение атрибута объекта, отправляющего значение полю, нулевое, то используется указанное для свойства defaultValue значение. | String |
propertyName (только чтение) | Имя свойства, для которого указывается значение по умолчанию или поле для принятия значения с помощью объекта NAClassFieldMap. | String |
Пример кода
Пример NAClassFieldMap (окно Python)
Следующие скрипты показывают, как загружать пожарные станции как пункты обслуживания в существующий слой обслуживаемой области и как указывать 10 минутную отсрочку для загрузки пунктов обслуживания с помощью инструмента NAClassFieldMappings. От сообщает,что слой сетевого анализа обслуживаемой области с именем Обеспечение пожарными станциями (Fire Stations Coverage), созданного по данным изучаемого региона Сан Франциско, а также слой объектов Пожарные станции (FireStations) уже добавлены к существующему документу карты.
#Get the service area layer called "Fire Stations Coverage" from the table of contents
saLayer = arcpy.mapping.Layer("Fire Stations Coverage")
#Get the list of fields from the FireStations feature layer in the table of contents
fields = arcpy.ListFields("FireStations")
#Get the facilities sublayer name from the service area layer. Note that we are not
#using a string called "Facilities" because the sublayer name can be
#different if using ArcGIS on a non-english operating system.
facilitiesSubLayerName = arcpy.na.GetNAClassNames(saLayer)["Facilities"]
#Create a field mappings object for facilities sublayer based on the fields from
#FireStations layer
fieldMappings = arcpy.na.NAClassFieldMappings(saLayer, facilitiesSubLayerName,
False, fields)
#Get the field map corresponding to the "Attr_TravelTime" property of facilities
fieldMap = fieldMappings["Attr_TravelTime"]
#Set a delay of 10 minutes for the facilities
fieldMap.defaultValue = 10
#Load the fire stations as service area facilities using the field mappings
arcpy.na.AddLocations(saLayer, facilitiesSubLayerName, "FireStations", fieldMappings)