I am using ArcMap 10. I have two datasets, one of which consists of many small contiguous polygons, and one which has many small non-contiguous polygons. The first dataset is census blocks, and the second is a polygon outline of urban areas generated from the raster datasets NLCD provides. What I want to do is clip each census block such that each census block polygon only contains the urban area specified by the NLCD polygon. Running clip with the census blocks as the input features gives me this. However, there are additional constraints: If the area of the intersection between a census block and the NLCD polygon is under a certain threshold (say, 1000 sq ft), then the entire census block should be kept in the output.
In this example, the green polygon is the NLCD data, and the red outlines are the census blocks. You can see the resulting clip.
The issue comes when there is no intersection between the census block and the NLCD polygon; nothing is kept in the output for that census block.
I need to do this for a large amount of data, probably in arcpy. What strategy would you suggest?