[GIS] Quick way to make a convex hull

arcgis-10.1arcpyconvex hullpython-2.7

I am using Python and ArcGIS 10.1.

Is there a function or very quick way to extract points out of point feature class into an array without looping through a search cursor (as I have millions of points to process).

I eventually want to transform this into a multipoint feature and make a convex hull from it.


UPDATE:

Although, initially I thought the 11 million point convex hull optimisation was good, I think it is really too long, in order to create a random convex hull and then do an intersect and switch selection, it took 4 hours and 30 mins. That's NOT INCLUDING the actual processing of the sub-selection of points to (some 100K) create the final convex hull result. So I think it may be back to the drawing board.

The real success here for actually completing long operations and memory intensive ones, has been to upgrade ArcGIS Python geoprocessing to 64bit. Before I did this, it would just hang, now it has all the memory it needs and can really slog through some long iterative processes.

Best Answer

Why can't you just the the 'Minimum Bounding Geometry (Data Management)' tool in the toolbox?

There is a group field and there would be no need to loop through each dataset. Point data is really easy to work with, but if you are trying to push your feature geometries into memory and the larger case occurs you can hit a memory errors. The List object in python will also hit performance issues when it gets really huge.

Related Question