for row in wtlndRow: if row.WtlndUnitID is None: totalArea = 0 wtlndUnitID += 1 adjWtlnd = arcpy.MakeFeatureLayer_management(wtlnd4Units, "in_memory\\adjWtlnd") arcpy.SelectLayerByLocation_management(adjWtlnd,"SHARE_A_LINE_SEGMENT_WITH",row.shape, "", "NEW_SELECTION") numPolys = 1 count = 0 while numPolys != count: numPolys = arcpy.GetCount_management(adjWtlnd) arcpy.SelectLayerByLocation_management(adjWtlnd,"SHARE_A_LINE_SEGMENT_WITH", wtlnd4Units,"", "ADD_TO_SELECTION") count = arcpy.GetCount_management(adjWtlnd)
Solved! Go to Solution.
adjWtlnd = arcpy.MakeFeatureLayer_management(wtlnd4Units, "in_memory\\adjWtlnd")
arcpy.MakeFeatureLayer_management(wtlnd4Units, "in_memory\\adjWtlnd") adjWtlnd = "in_memory\\adjWtlnd"
#Create "in_memory" feture class for processing # arcpy.MakeFeatureLayer_management("wtlnd4Anlys", "in_memory\\wtlnd4Units") wtlnd4Units = "in_memory\\wtlnd4Anlys" #Loop through wetlands and select the adjacent polys populate WtlndUnitID and UnitArea # wtlndRow = arcpy.SearchCursor("wtlnd4Anlys") wtlndUnitID = 0 for row in wtlndRow: if row.WtlndUnitID is None: totalArea = 0 wtlndUnitID += 1 arcpy.MakeFeatureLayer_management("wtlnd4Anlys", "in_memory\\adjWtlnd") adjWtlnd = "in_memory\\adjWtlnd" arcpy.SelectLayerByLocation_management(adjWtlnd,"SHARE_A_LINE_SEGMENT_WITH",row.shape, "", "NEW_SELECTION") numPolys = 1 count = 0 while numPolys != count: numPolys = arcpy.GetCount_management(adjWtlnd) arcpy.SelectLayerByLocation_management(adjWtlnd,"SHARE_A_LINE_SEGMENT_WITH", wtlnd4Units,"", "ADD_TO_SELECTION") count = arcpy.GetCount_management(adjWtlnd)
arcpy.SelectLayerByLocation_management(adjWtlnd,"SHARE_A_LINE_SEGMENT_WITH", wtlnd4Units,"", "ADD_TO_SELECTION")
arcpy.MakeFeatureLayer_management("wtlnd4Anlys", "in_memory\\wtlnd4Units") wtlnd4Units = "in_memory\\wtlnd4Anlys"
Hello Alicia,
I don't think you can use arcpy.MakeFeatureLayer_management like that. I think you have to refer to the feature layer using "in_memory\\adjWtlnd".
Try changing:adjWtlnd = arcpy.MakeFeatureLayer_management(wtlnd4Units, "in_memory\\adjWtlnd")
To:arcpy.MakeFeatureLayer_management(wtlnd4Units, "in_memory\\adjWtlnd") adjWtlnd = "in_memory\\adjWtlnd"
adjWtlnd = arcpy.MakeFeatureLayer_management(wtlnd4Units, "in_memory\\adjWtlnd")
for row in wtlndRow: if row.WtlndUnitID is None: totalArea = 0 wtlndUnitID += 1 adjWtlnd = arcpy.MakeFeatureLayer_management(wtlnd4Units, "in_memory\\adjWtlnd") arcpy.SelectLayerByLocation_management(adjWtlnd,"SHARE_A_LINE_SEGMENT_WITH",row.shape, "", "NEW_SELECTION") numPolys = 1 count = 0 while numPolys != count: numPolys = arcpy.GetCount_management(adjWtlnd) arcpy.SelectLayerByLocation_management(adjWtlnd,"SHARE_A_LINE_SEGMENT_WITH", wtlnd4Units,"", "ADD_TO_SELECTION") count = arcpy.GetCount_management(adjWtlnd)
Cant figure out why this wont evaluate to true.
Thanks!
Alicia
That problem seems to be related to the first couple lines:arcpy.MakeFeatureLayer_management("wtlnd4Anlys", "in_memory\\wtlnd4Units") wtlnd4Units = "in_memory\\wtlnd4Anlys"
You output to "in_memory\\wtlnd4Units", but the wtlnd4Units string is "in_memory\\wtlnd4Anlys"
From what I can tell from your script those should be the same strings.