Solved! Go to Solution.
import arcpy
import os
# Script arguments and variables
sNetwork = arcpy.GetParameterAsText(0)
Flags = arcpy.GetParameterAsText(1)
Barriers = arcpy.GetParameterAsText(2)
Trace_Results = Flags
LayerList = ["gas_main", "service_line", "service_point"]
EdgeList = [True, True, False]
iOutParameter = 3
try:
arcpy.env.workspace = "in_memory"
sScratchWS = arcpy.env.scratchFolder
# Perform trace
arcpy.AddMessage("Tracing...")
arcpy.TraceGeometricNetwork_management(
sNetwork, Trace_Results, Flags, "FIND_CONNECTED", Barriers)
# Extract feature sets from group layer
for i in range(len(LayerList)):
sLayer = LayerList
bEdge = EdgeList
arcpy.AddMessage("Processing results (" + sLayer + ")...")
SelectResults = arcpy.SelectData_management(Trace_Results, sLayer)
SelectLayer = SelectResults.getOutput(0)
TempName = arcpy.CreateUniqueName(sLayer)
if bEdge:
# Densify_edit (to remove curves) is not supported in Runtime
# Workaround: export features to shapefile
TempShpName = arcpy.CreateUniqueName(sLayer + ".shp", sScratchWS)
arcpy.AddMessage("TempShpName = " + TempShpName)
arcpy.CopyFeatures_management(SelectLayer, TempShpName)
arcpy.CopyFeatures_management(TempShpName, TempName)
arcpy.Delete_management(TempShpName)
else:
arcpy.Select_analysis(SelectLayer, TempName, None)
OutFeatureSet = arcpy.FeatureSet()
OutFeatureSet.load(TempName)
arcpy.SetParameter(iOutParameter, OutFeatureSet)
iOutParameter += 1
except Exception, ErrorDesc:
sErr = "ERROR:\n" + str(ErrorDesc)
arcpy.AddError(sErr)