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)
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.