<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic field_mappings[&amp;quot;AdditionalTime&amp;quot;].mappedFieldName = turnoutTimeField not applying in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/field-mappings-quot-additionaltime-quot/m-p/1176278#M64624</link>
    <description>&lt;P&gt;I am trying to generate a number of service profiles using the arcpy nax network analyst library. The idea is to create a profile for each&amp;nbsp; of the models (impedance&amp;nbsp; values) we use, and also some standard cut off times that we use.&lt;/P&gt;&lt;P&gt;The script appears to work but does not apply either the Additional Time mapped field name, or the default value. In the output facilities layer the value for all locations is 0.&lt;/P&gt;&lt;P&gt;I've made sure that the value in the turnout field is a double.&lt;/P&gt;&lt;P&gt;Any ideas what the issue could be.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;LI-CODE lang="c"&gt;import arcpy
arcpy.CheckOutExtension("network")

roadNetwork = r"C:\aaa\rnm\2022_04.gdb\Core_VG2020\RoutingApplication_ND"
nd_layer_name = "Routing_ND"
#inFacilities = r"J:\projects\netmodels\04 Data\Turnout Times\FY2122_Q3\data.gdb\FY2022_Q3_Brigades_w_TOT"
inFacilities = r"C:\aaa\rnm\Statewide_Profiles\Resp_Profiles_2022_04.gdb\inside"

turnoutTimeField = "turnout"
additional_fields = ['turnout_id', 'short_name', 'brig_name', 'brig_no', 'distrct_no', 'turnout_mins',
                     turnoutTimeField]

toolOutput = r"C:\aaa\rnm\Statewide_Profiles\Resp_Profiles_2022_04.gdb"
outputName = "Resp_Profiles_2022_041"

models = ['ARRB_Min', 'ARRB_Mean', 'ARRB_Max', 'EmergencyServicesTime', 'GLM_Pumper_Off_Peak', 'GLM_Pumper_Peak',
          'GLM_Tanker_Off_Peak', 'GLM_Tanker_Peak']
breakValues = [8, 10, 20]
travel_mode_name = "CFA"

# Create a network dataset layer and get the desired travel mode for analysis
arcpy.nax.MakeNetworkDatasetLayer(roadNetwork, nd_layer_name)
nd_travel_modes = arcpy.nax.GetTravelModes(nd_layer_name)
travel_mode = nd_travel_modes["CFA"]

service_area = arcpy.nax.ServiceArea(nd_layer_name)
# Set properties
service_area.outputType = arcpy.nax.ServiceAreaOutputType.Polygons
service_area.geometryAtOverlap = arcpy.nax.ServiceAreaOverlapGeometry.Overlap
service_area.polygonDetail = arcpy.nax.ServiceAreaPolygonDetail.Standard


additional_fields_objects = [f for f in arcpy.ListFields(inFacilities) if f.name in additional_fields]

field_mappings = service_area.fieldMappings(arcpy.nax.ServiceAreaInputDataType.Facilities,
                                            list_candidate_fields=additional_fields_objects)

field_mappings["AdditionalTime"].mappedFieldName = turnoutTimeField
field_mappings["AdditionalTime"] = 6.0

service_area.load(arcpy.nax.ServiceAreaInputDataType.Facilities, inFacilities, field_mappings)

for model in models:
    travel_mode.impedance = model
    travel_mode.timeAttributeName = model
    service_area.travelMode = travel_mode
    for cutoff in breakValues:
        service_area.defaultImpedanceCutoffs = cutoff
        result = service_area.solve()
        if result.solveSucceeded:
            output_fc = f"{toolOutput}\\{outputName}_{model}_{cutoff}"
            result.export(arcpy.nax.ServiceAreaOutputDataType.Polygons, output_fc)
            result.export(arcpy.nax.ServiceAreaOutputDataType.Facilities, output_fc + "_fac")
        else:
            print("Solve failed")
            print(result.solverMessages(arcpy.nax.MessageSeverity.All))&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 23 May 2022 02:45:38 GMT</pubDate>
    <dc:creator>HarrySmiles</dc:creator>
    <dc:date>2022-05-23T02:45:38Z</dc:date>
    <item>
      <title>field_mappings["AdditionalTime"].mappedFieldName = turnoutTimeField not applying</title>
      <link>https://community.esri.com/t5/python-questions/field-mappings-quot-additionaltime-quot/m-p/1176278#M64624</link>
      <description>&lt;P&gt;I am trying to generate a number of service profiles using the arcpy nax network analyst library. The idea is to create a profile for each&amp;nbsp; of the models (impedance&amp;nbsp; values) we use, and also some standard cut off times that we use.&lt;/P&gt;&lt;P&gt;The script appears to work but does not apply either the Additional Time mapped field name, or the default value. In the output facilities layer the value for all locations is 0.&lt;/P&gt;&lt;P&gt;I've made sure that the value in the turnout field is a double.&lt;/P&gt;&lt;P&gt;Any ideas what the issue could be.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;LI-CODE lang="c"&gt;import arcpy
arcpy.CheckOutExtension("network")

roadNetwork = r"C:\aaa\rnm\2022_04.gdb\Core_VG2020\RoutingApplication_ND"
nd_layer_name = "Routing_ND"
#inFacilities = r"J:\projects\netmodels\04 Data\Turnout Times\FY2122_Q3\data.gdb\FY2022_Q3_Brigades_w_TOT"
inFacilities = r"C:\aaa\rnm\Statewide_Profiles\Resp_Profiles_2022_04.gdb\inside"

turnoutTimeField = "turnout"
additional_fields = ['turnout_id', 'short_name', 'brig_name', 'brig_no', 'distrct_no', 'turnout_mins',
                     turnoutTimeField]

toolOutput = r"C:\aaa\rnm\Statewide_Profiles\Resp_Profiles_2022_04.gdb"
outputName = "Resp_Profiles_2022_041"

models = ['ARRB_Min', 'ARRB_Mean', 'ARRB_Max', 'EmergencyServicesTime', 'GLM_Pumper_Off_Peak', 'GLM_Pumper_Peak',
          'GLM_Tanker_Off_Peak', 'GLM_Tanker_Peak']
breakValues = [8, 10, 20]
travel_mode_name = "CFA"

# Create a network dataset layer and get the desired travel mode for analysis
arcpy.nax.MakeNetworkDatasetLayer(roadNetwork, nd_layer_name)
nd_travel_modes = arcpy.nax.GetTravelModes(nd_layer_name)
travel_mode = nd_travel_modes["CFA"]

service_area = arcpy.nax.ServiceArea(nd_layer_name)
# Set properties
service_area.outputType = arcpy.nax.ServiceAreaOutputType.Polygons
service_area.geometryAtOverlap = arcpy.nax.ServiceAreaOverlapGeometry.Overlap
service_area.polygonDetail = arcpy.nax.ServiceAreaPolygonDetail.Standard


additional_fields_objects = [f for f in arcpy.ListFields(inFacilities) if f.name in additional_fields]

field_mappings = service_area.fieldMappings(arcpy.nax.ServiceAreaInputDataType.Facilities,
                                            list_candidate_fields=additional_fields_objects)

field_mappings["AdditionalTime"].mappedFieldName = turnoutTimeField
field_mappings["AdditionalTime"] = 6.0

service_area.load(arcpy.nax.ServiceAreaInputDataType.Facilities, inFacilities, field_mappings)

for model in models:
    travel_mode.impedance = model
    travel_mode.timeAttributeName = model
    service_area.travelMode = travel_mode
    for cutoff in breakValues:
        service_area.defaultImpedanceCutoffs = cutoff
        result = service_area.solve()
        if result.solveSucceeded:
            output_fc = f"{toolOutput}\\{outputName}_{model}_{cutoff}"
            result.export(arcpy.nax.ServiceAreaOutputDataType.Polygons, output_fc)
            result.export(arcpy.nax.ServiceAreaOutputDataType.Facilities, output_fc + "_fac")
        else:
            print("Solve failed")
            print(result.solverMessages(arcpy.nax.MessageSeverity.All))&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 23 May 2022 02:45:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/field-mappings-quot-additionaltime-quot/m-p/1176278#M64624</guid>
      <dc:creator>HarrySmiles</dc:creator>
      <dc:date>2022-05-23T02:45:38Z</dc:date>
    </item>
    <item>
      <title>Re: field_mappings["AdditionalTime"].mappedFieldName = turnoutTimeField not applying</title>
      <link>https://community.esri.com/t5/python-questions/field-mappings-quot-additionaltime-quot/m-p/1178154#M64654</link>
      <description>&lt;P&gt;Just guessing here for now, but I don’t think it likes the .notation. There’s no error, but no change either.&amp;nbsp;&lt;SPAN&gt;I’ve found that&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;field mappings work better if the whole fieldmap object is pulled out, modified, then reassigned.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;field_mappings["AdditionalTime"].mappedFieldName = turnoutTimeField&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;Assign the field_mappings[‘AdditionalTime’] to a variable, change the ‘mappedFieldName’ property there, and reassign it back to field_mappings[‘AdditionalTime’]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;tmp = field_mappings[‘AdditionalTime’]&lt;BR /&gt;tmp[‘MappedFld…’] = turnoutTimeField&lt;BR /&gt;field_mappings[‘AddititonalTime’] = tmp&lt;/P&gt;</description>
      <pubDate>Sat, 28 May 2022 03:46:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/field-mappings-quot-additionaltime-quot/m-p/1178154#M64654</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2022-05-28T03:46:46Z</dc:date>
    </item>
  </channel>
</rss>

