Select to view content in your preferred language

Multiclip only selected features in two for loops?

602
2
Jump to solution
10-15-2014 01:08 AM
JohannesBierer
Regular Contributor

This script only clips on of the selected features? What's wrong?

import arcpy

import os

input = arcpy.GetParameterAsText(0)

clipfeature = arcpy.GetParameterAsText(1)

output = arcpy.GetParameterAsText(2)

arcpy.env.workspace = output

# fc = "R:\Karto\Bierer2014\FFH_Ausschreibung2014\FFH_Merge_Buffer1.shp"

field = "BFN_Nummer"

inputSp = input.split(";")

cursor = arcpy.SearchCursor(clipfeature)

for row in cursor:

    print(row.getValue(field))

    for i in inputSp:

   

        arcpy.AddMessage(i)

        arcpy.Clip_analysis(i, clipfeature, i + "_" + row.getValue(field))

0 Kudos
1 Solution

Accepted Solutions
JohannesBierer
Regular Contributor

import arcpy

import os

input = arcpy.GetParameterAsText(0)

clipfeature = arcpy.GetParameterAsText(1)

output = arcpy.GetParameterAsText(2)

clipfeature_Layer = "clipfeature_Layer"

arcpy.env.workspace = output

arcpy.env.overwriteOutput = True

field = "BFN_Nummer"

inputSp = input.split(";")

# arcpy.MakeFeatureLayer_management(clipfeature, clipfeature_Layer, "", "", "FID FID VISIBLE NONE;Shape Shape VISIBLE NONE;BFN_NUMMER BFN_NUMMER VISIBLE NONE")

arcpy.MakeFeatureLayer_management(clipfeature, clipfeature_Layer, "", "", "")

cursor = arcpy.SearchCursor(clipfeature)

for row in cursor:

    print(row.getValue(field))

    Loop1 = row.getValue(field)

    quercy = field + "=" + "'" + Loop1 + "'"

  

    arcpy.SelectLayerByAttribute_management (clipfeature_Layer, "NEW_SELECTION", quercy)

    Sel_shape = "Sel_" + Loop1 + ".shp"

    arcpy.CopyFeatures_management(clipfeature_Layer, Sel_shape)

    for i in inputSp:

  

        arcpy.AddMessage(i)

        arcpy.Clip_analysis(i, Sel_shape, "Clip_" + row.getValue(field) + "_" + i)

View solution in original post

0 Kudos
2 Replies
JohannesBierer
Regular Contributor

Maybe I should do a feature selection 🙂

0 Kudos
JohannesBierer
Regular Contributor

import arcpy

import os

input = arcpy.GetParameterAsText(0)

clipfeature = arcpy.GetParameterAsText(1)

output = arcpy.GetParameterAsText(2)

clipfeature_Layer = "clipfeature_Layer"

arcpy.env.workspace = output

arcpy.env.overwriteOutput = True

field = "BFN_Nummer"

inputSp = input.split(";")

# arcpy.MakeFeatureLayer_management(clipfeature, clipfeature_Layer, "", "", "FID FID VISIBLE NONE;Shape Shape VISIBLE NONE;BFN_NUMMER BFN_NUMMER VISIBLE NONE")

arcpy.MakeFeatureLayer_management(clipfeature, clipfeature_Layer, "", "", "")

cursor = arcpy.SearchCursor(clipfeature)

for row in cursor:

    print(row.getValue(field))

    Loop1 = row.getValue(field)

    quercy = field + "=" + "'" + Loop1 + "'"

  

    arcpy.SelectLayerByAttribute_management (clipfeature_Layer, "NEW_SELECTION", quercy)

    Sel_shape = "Sel_" + Loop1 + ".shp"

    arcpy.CopyFeatures_management(clipfeature_Layer, Sel_shape)

    for i in inputSp:

  

        arcpy.AddMessage(i)

        arcpy.Clip_analysis(i, Sel_shape, "Clip_" + row.getValue(field) + "_" + i)

0 Kudos