2016-04-07 18 views
1

Bazı eski araçları ve modelleri 9.3'ten 10.3'e güncelleştirme işlemindeyim ve bir Ağ Analiz Katmanı'ndan belirli katmanları kaydetmeye çalışan bir sorunla karşılaştım.Arcpy - NA katmanını özellik sınıfına kaydetme

arcpy.CheckOutExtension("Network") 
arcpy.env.workspace = r"C:\aaa\response profile\test.gdb" 

inNetworkDataset = "J:\\projects\\netmodels\\roadnetwork\\Vic_HERE_2014_Q2\\Data\\HERE_COREMAP.gdb\\RoutingApplication\\RoutingApplication_ND" 
outNALayerName = "StationOfInterest" 
allFacilities = r"C:\aaa\response profile\RMN.gdb\RNM_Statewide_Fire_Stations" 
facilitiesQuiery = "not occ_type = 'future fire station' and label in ('Springvale')" 
arcpy.MakeFeatureLayer_management(allFacilities,"inFacilities", facilitiesQuiery) 
outLayerFile = r"C:\aaa\response profile" + "\\" + outNALayerName + ".lyr" 
timeBreaks = 30 
print "varibles set" 

SA_result_object = arcpy.na.MakeServiceAreaLayer(inNetworkDataset, outNALayerName, 
            "EmergencyServicesTime", "TRAVEL_FROM", timeBreaks, 
            "NO_POLYS", "NO_MERGE", "RINGS", "TRUE_LINES") 
print "Service Area layer created" 

#Get the layer object from the result object. The service layer can now be 
#referenced using the layer object. 
SA_layer_object = SA_result_object.getOutput(0) 

#Get the names of all the sublayers within the service area layer. 
SAClassesIn = arcpy.na.GetNAClassNames(SA_layer_object,"INPUT") 
SAClassesOut = arcpy.na.GetNAClassNames(SA_layer_object,"OUTPUT") 
#Stores the layer names to use later 
facilitiesLayerName = SAClassesIn["Facilities"] 
print "facilitiesLayerName: " + facilitiesLayerName 
linesLayerName = SAClassesOut["SALines"] 
print "linesLayerName: " + linesLayerName 

arcpy.na.AddLocations(SA_layer_object , SAClassesIn["Facilities"], "inFacilities") 
print "added locations to layer" 
print "solving...." 
arcpy.na.Solve(SA_layer_object) 
print"solved" 

********** these are the lines that is causing me issues ********** 
linesSublayer = SA_layer_object.listLayers(SAClassesOut["Lines"])[0] 
arcpy.CopyFeatures_management(linesSublayer,"StationOfInterestLines") 

alıyorum hatadır: Aşağıda

Senaryomun kopyası ve oluşturmakta olduğu hatanın ne buna neden oluyor

linesSublayer = SA_layer_object.listLayers(SAClassesOut["Lines"])[0] 
AttributeError: 'Layer' object has no attribute 'listLayers' 

Herhangi fikirler, ben yapıyorum benim Çalışmaya çalışırken kafa. Teşekkürler

cevap

0

Read over the ListLayers documentation - bir MXD'yi parametre olarak çağırır ve bir Layer nesnesinin bir özniteliği olarak kullanılmaz.

sözdizimi:

ListLayers (map_document_or_layer, {wildcard}, {data_frame}) 

Yani muhtemelen çizgisinde bir şey istiyorum:

linesSublayer = arcpy.mapping.ListLayers(SA_layer_object, "Lines")[0] 
+0

Mükemmel, çok teşekkürler –