[GIS] How to create points at shortest euclidean distance to other points

arcgis-10.0arcgis-desktopdistancemodelbuilder

So, I have a lot of points, and I need to site three new points so they will be at the shortest euclidean distance between all of the other points.

In other words, these three new points that I need to site will minimize the sum distance that the large group of points will be from any new point. I need to find the most efficient positioning the new points so the group of points will have the smallest total distance from a new point.

I'd like to be able to do this in Model Builder, or at least develop some kind of process that I can translate into Model Builder and possibly a python script later on (though I'm really bad at python). I assume this will involve some kind of iterative procedure, I just don't really know where to start.

Anyone have any awesome ideas?

P.S. This is in ArcGIS desktop 10.0

Edit: The idea is to site three new points that would be distributed to minimize total sum difference, thus they would, I guess, be taking a subset of the total point set to find the median center of them. It would look something like this (where the orange points would be something like the theoretical new locations):

Point Pattern

Edit 2: Okay, this has been confusing, but I was going on the description I was given for this particular problem. Yes, the minimized sum distance is the centroid. Mathematically, this is the best solution I've come up with so far, where the goal is the minimize Dist, but it just gets the total centroid:
Math

I've now talked to a spatial statistics instructor at an Ivy league university and two Ph.D.'s in math and we still can't figure out an appropriate answer that satisfies what I've been asked.

The only other thing that I can think to do is to somehow evenly divide the original points into three spatially equal parts and find their centroids, but I don't know how to do that.

Best Answer

If I am understanding your question correctly I think you can do this by calculating the median center of your point distribution and use that as your new point. Then repeat the process for the next two points.

Spatial Statistics>Measuring Geographic Distributions>Median Center

http://resources.arcgis.com/en/help/main/10.1/index.html#//005p00000019000000

I think you could accomplish this in Model Builder, although I have not used it in a while. It would be minimal code in Python if you run into issues with Model Builder.

model

Edit: I added a sample model you could use. I did this with a point dataset I created and it worked fine. What I think you will find is that the newly created points will be very close to one another (nearly coincident). Perhaps you have something else in mind for the additional points that I am not following.

Related Question