0

I have ten shapefiles containing polygon features.

I would like to produce a single polygon layer containing portions of the input polygons where no fewer than two of the aforementioned feature classes intersect. Any two (or more) polygons which intersect will have those portions included in the output feature class.

Additionally, each of the input feature classes contains a unique field name representing itself. I would like for the output feature class to contain EACH of the unique field names from the input feature classes, as well as the value contained in the attribute, or 0 if the polygon did not intersect.

So, if a polygon from feature class A and feature class B intersect, that intersecting portion will exist in the output feature class. 8 of the 10 attributes in the output will contain the value "0", and the attributes for the fields representing feature classes A and B will contain the values from those input features.

I hope that makes sense.

I would like to accomplish this task using ArcGIS.

3
  • 1
    Why wouldn't the Intersect command work for your analysis?
    – Aaron
    Commented Apr 3, 2014 at 15:52
  • Th intersect command "Computes a geometric intersection of the input features. Features or portions of features which overlap in all layers and/or feature classes will be written to the output feature class." I am looking for intersections of ANY (no fewer than two) of the input feature layers.
    – Joebocop
    Commented Apr 3, 2014 at 17:15
  • 3
    Use Union and check the FID fields in the output. If any 9 of the FID fields for a given polygon have a value of -1, then they don't meet your criteria and can be deleted.
    – nmpeterson
    Commented Apr 3, 2014 at 17:52

2 Answers 2

1

Taking @nmpeterson advice and using the Union tool in ArcMap is correct, but to answer your question with the additional information you provided in a comment to @Joebocop, you may be able to get away with chunking data and using multi-processing.


If you would like to maintain the feature precision (high vertices count), then you will need to chunk your dataset into smaller, geoprocessing friendly sizes. If you do not have a grid handy to subdivide your dataset, you can use the fishnet tool to create one for you: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Create_Fishnet/00170000002q000000/ Using this in combination with multi-processing features available in versions of ArcMap >10.1 you will be able to process your dataset even quicker on your amazing 32gb machine: http://blogs.esri.com/esri/arcgis/2012/09/26/distributed-processing-with-arcgis-part-1/

1
  • Thank you! Yes indeed, chopping the massive area into a few hundred smaller areas rectangular in shape had allowed the operation to complete as well. My thanks for the very useful links.
    – Joebocop
    Commented Sep 15, 2014 at 2:09
0

After much hand-wringing, it turns out that the spatial analyst "Combine" tool does what I want, once my datasets are rasters rather than vectors.

2
  • 1
    I would highly avoid using this method. You run the risk of losing valuable information because your vectors will become "pixelised" to the resolution of the raster. Instead, @nmpeterson's comment explains a more robust method.
    – Fezter
    Commented Aug 14, 2014 at 3:34
  • My thanks for your input. The issue I encountered was that my 10 shape files in fact contain features having many millions of vertices, and a purely vector processing workflow was not "completable" on a machine with 32gb of RAM using 64-bit background geoprocessing. Dumbing the data down to a raster cells of a common size allowed the combine tool to complete successfully, after 6 days of processing.
    – Joebocop
    Commented Aug 16, 2014 at 1:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.