Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I'm clipping points (crimes) by using a buffer around a shapefile of city parks. There are quite a few records involved (2 million+), but it is still taking forever - as of now, the clip has been running for an hour and ten minutes. I'm also using a subset of the parks data, so I'm not clipping crimes with every polygon in the shapefile. My questions: How does Arcmap go about it's clipping? Does it have to check every point, even those that are nowhere near the polygons? Is there a better method? I have QGIS at home, but I'm not sure if it's as fast as Arcmap. Thanks, Ward

share|improve this question
1  
As a point of departure (while remaining agnostic about ArcGIS performance), consider that buffers typically add thousands of vertices to the original features. So, if ArcGIS were using a naive algorithm, it would be comparing two million points to a layer described by thousands (or tens of thousands or ...) of points, requiring billions (or tens of billions or ...) distance calculations. Such considerations suggest that, at a minimum, you consider clipping large datasets using greatly simplified layers or that you use a different algorithm altogether (raster-based ones can be fast). –  whuber Mar 1 '13 at 21:35
    
Failing that use brute force (64-bit geoprocessing at 10.1). –  blah238 Mar 2 '13 at 2:19
    
If you could skip the clip operation and just do a Select by Location with a search distance that would probably be a bit faster as well. –  blah238 Mar 2 '13 at 2:20
1  
Also ensure your shapefile has a spatial index. Probably better to import it to a file geodatabase, likely will perform better if you index it. –  blah238 Mar 2 '13 at 2:21
    
Thanks for the help. –  user9492 Mar 2 '13 at 4:02
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.