Use Feature Layer, not Feature Class. See the comments at the top of my example script.
## Parameters: ## 0 (input) - Input Features (Feature Layer) ## 1 (input) - Selecting Features (Feature Layer) ## 2 (input) - Selecting Features Field (Field, obtained from Selecting Features) ## 3 (input) - Output Workspace (Workspace) ## 4 (output, derived) - Output Feature Class(es) (Feature Class, multivalue) import arcpy, os from arcpy import env env.overwriteOutput = True inputFeatures = arcpy.GetParameterAsText(0) selectingFeatures = arcpy.GetParameterAsText(1) selectingFeaturesFieldName = arcpy.GetParameterAsText(2) outputWorkspace = arcpy.GetParameterAsText(3) env.workspace = outputWorkspace arcpy.AddMessage("Current workspace: %s" % outputWorkspace) inputLayer = arcpy.MakeFeatureLayer_management(inputFeatures) selectingLayer = arcpy.MakeFeatureLayer_management(selectingFeatures) desc = arcpy.Describe(inputLayer) inputLayerName = desc.name desc = arcpy.Describe(selectingLayer) selectingLayerName = desc.name selectingLayerShapeFieldName = desc.featureClass.shapeFieldName outputFCs = [] rows = arcpy.SearchCursor(selectingLayer) for row in rows: arcpy.management.SelectLayerByLocation(inputLayer, "HAVE_THEIR_CENTER_IN", row.getValue(selectingLayerShapeFieldName), "", "NEW_SELECTION") count = int((arcpy.GetCount_management(inputLayer))[0]) rowValue = str(row.getValue(selectingFeaturesFieldName)) arcpy.AddMessage("%d feature(s) of layer %s found in layer %s (%s: %s)" % (count, inputLayerName, selectingLayerName, selectingFeaturesFieldName, rowValue)) if (count > 0): outputFC = inputLayerName + "_" + rowValue arcpy.AddMessage("Copying selected feature(s) to %s" % outputFC) arcpy.CopyFeatures_management(inputLayer, outputFC) outputFCs.append(outputFC) del row, rows arcpy.SetParameterAsText(4, ";".join(outputFCs))
for x in range(4): print(x)
0 1 2 3 >>>
FCs = arcpy.ListFeatureClasses('C:\\Data\\Data1.gdb') for FC in FCs: arcpy.AddMessage('Opened:'+FC)
サインインしたメンバーは投稿、更新のフォローなどができます。初めてですか?無料アカウントを登録してください。
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.