Сводка
Возможность сопоставления имен полей или установки значений по умолчанию для свойств в слое класса сетевого анализа класса в слое сетевого анализа. Свойства класса сетевого анализа используются как исходные данные для расчетов при выполнении сетевого анализа.
Описание
Объект 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 |
Пример кода
Следующий скрипт показывает, как загрузить пожарные станции в качестве пунктов обслуживания в существующий слой области обслуживания и установить десятиминутный интервал при загрузке пунктов обслуживания с помощью объекта NAClassFieldMappings. Предполагается, что слой сетевого анализа области обслуживания Fire Stations Coverage создан из учебного набора сетевых данных на территорию города Сан-Франциско, а также слой FireStations, были добавлены в существующий документ карты.
#Get the service area layer called "Fire Stations Coverage" from the map
doc = arcpy.mp.ArcGISProject('current')
map_obj = doc.listMaps()[0]
sa_layer = map_obj.listLayers("Fire Stations Coverage")[0]
#Get the list of fields from the FireStations feature layer in the map
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.
facilities_sublayer_name = arcpy.na.GetNAClassNames(sa_layer)["Facilities"]
#Create a field mappings object for facilities sublayer based on the fields from
#FireStations layer
field_mappings = arcpy.na.NAClassFieldMappings(sa_layer,
facilities_sublayer_name, False, fields)
#Get the field map corresponding to the "Attr_TravelTime" property of facilities
field_map = field_mappings["Attr_TravelTime"]
#Set a delay of 10 minutes for the facilities
field_map.defaultValue = 10
#Load the fire stations as service area facilities using the field mappings
arcpy.na.AddLocations(sa_layer, facilities_sublayer_name, "FireStations",
field_mappings)