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.

  • 1
    Why wouldn't the Intersect command work for your analysis? – Aaron Apr 3 '14 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 Apr 3 '14 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 Apr 3 '14 at 17:52
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/

  • 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 Sep 15 '14 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.

  • 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 Aug 14 '14 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 Aug 16 '14 at 1:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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