Select to view content in your preferred language

# Density points to equally divided polygons

5301
7
01-14-2016 10:14 AM
New Contributor II

How do I convert a point layer into multiple polygons? Ideally each polygon would take into account the weight of each point.

EDIT: Just to clarify my intention. I have a layer with 2,000 points. I want to end up with a polygon layer which has three polygons where each polygon covers the area of 1/3 of those points.

Message was edited by: Roberto DeDeus

7 Replies
Regular Contributor III

or you could buffer each point based on the field Buffer—Help | ArcGIS for Desktop

And for density you'll want

Point Density—Help | ArcGIS for Desktop

or

EDIT:

MVP Emeritus

a voronoi diagram will subdivide space from input points.

Examining local variation—Help | ArcGIS for Desktop in geostatistical analyst

or   Triangulation tools... http://www.arcgis.com/home/item.html?id=6e9bc6cbf93d4939b2eb04ff8519be47

my humble but free offering

Esri Esteemed Contributor

Dan, that's a great Thiessen tool you uploaded to ArcGIS Online! Thanx for sharing!

MVP Emeritus

Well your modified question, is indeed different... perhaps Aggregate Points—Help | ArcGIS for Desktop

might be a first step, although getting to the target of 3 polygons and 3 only may be a bit out of its realm.  But you will need an Advanced license.  And perhaps Aggregate Polygons—Help | ArcGIS for Desktop  could be used in association with it after the initial clustering

MVP Honored Contributor

Can you provide a picture of what you hope to accomplish? There are (almost) an infinite number of solutions to this problem the way I see it.

Esri Esteemed Contributor

• Create Thiessen Polygons based on the input points
• Generate a Near table from the points to the polygons limiting the maximum number of closest matched to a third of the total number of points and not limiting the search distance (this will create a huge table in your case using 2000 points)
• From the table, create two relates. One towards the points using the IN_FID matching the OBJECTID and one towards the thiessen polygons using the NEAR_FID matching the OBJECTID of the polygons.
• In the point featureclass, select a single extreme point:

• Open the attribute table of the points and use the Relate to select the nearest polygons:

• In the Near table use the relate to the polygons to select the corresponding Thiessen polygons:

• Add a new numeric field to the polygons and fill the field with the value 1 (group 1)
• Do the same based on an extreme point located at the opposite of the area (assign value 3)

• Select the features where the new goup field IS NULL
• Fill that selection with value 2:

• You can make the result a bit more presentable by clipping it with the area of interest or using the Minimum Bounding Geometry tool to create a ConvexHull, buffer that with a representative distance and clip it. Dissolve the polygons by the group field:

This is very manual and you may have a problem when using 2000 points. In my case using 300 point the number of records in the Near table was 300 * 100 = 30000. In you case it will be 2000 * 667 = 1334000.

I'm sure there must a nice algoritm implemented in Python to do the job...

Esri Esteemed Contributor

BTW, it would be nice if the Grouping Analysis—Help | ArcGIS for Desktop  would do the job, but it has no option to divide into equal groups.

Maybe the Location-allocation analysis—Help | ArcGIS for Desktop could be helpful?