I would like to be able to create a convex hull in ArcGIS Desktop 9.x, but I cannot find an appropriate tool.
How does one go about creating one?
I am interested in answers for all license levels: ArcView, ArcEditor and ArcInfo.
I've used Hawth's Tools "Create Minimum Convex Polygons" under the Animal Movements menu. You can use a feature selection within ArcMap.
At version 10, there is now a Minimum Bounding Geometry (Data Management) geoprocessing tool which:
Creates a feature class containing polygons which represent a specified minimum bounding geometry enclosing each input feature or each group of input features.
The Geometry Type (geometry_type) options CONVEX_HULL, CIRCLE, and ENVELOPE are only available with an ArcInfo license.
Old question, but since appears quite high when searching for "convex hull arcgis", thought I'd add the Create Convex Hulls Geoprocessing Sample.
This uses the geometry convexhull() method (requires 10.1 or above, tested in 10.2). Works fine in ArcGIS basic, the code in the (python) toolbox is also a good reference for using this method elsewhere.
In ArcGIS, you use Minimum bounding geometry tool in ArcToolBox
Minimum bounding geometry or hull polygon
it's here for you: https://www.youtube.com/watch?v=7CkbEbmz08w
This an old arcscript that worked well http://arcscripts.esri.com/details.asp?dbid=12084 (ignore 0k filesize error on arcscripts it is 359kb) creates the convex hull of a set of points or or the convex envelope (minimum bounding box) of a set of points
Note:uses VBA but works in arcview, arceditor arc/info.
As the accepted answer to this question refers to Hawth's tools, which is now superseded, I decided to post this it's successor, Geospatial Modelling Environment.
The command genmcp (Generate Minimum Convex Polygons) will do the job. The tool accepts a point input and optional unique identifier and outputs polygons. A where clause can be specified to identify a subset of the input features.
Starting with ArcGIS 10,
arcpy.geometry class has a read-only property
hullRectangle which will return a space-delimited string of the coordinate pairs of the convex hull rectangle.
You can easily iterate through every feature creating convex hulls and then preserving them as needed. This is available in all license levels.
g = [f for f in arcpy.da.SearchCursor("CityStreets","SHAPE@","OBJECTID=47")] c = g.hullRectangle
u'1592326,2415 7543305,0318 1592303,39647295 7543680,88044691 1594546,11624981 7543817,19860157 1594568,96127687 7543441,34995466'
Starting with ArcGIS 10.1, there is a method
convexHull() for returning a geometry object directly:
g = [f for f in arcpy.da.SearchCursor("CityStreets","SHAPE@","OBJECTID=47")] c = g.convexHull() arcpy.CopyFeatures_management(c,'outhull')
An example of a convex hull for a polyline feature: