# Which GIS best for this problem?

This problem is similar to retail presence optimization. I'd like to know which GIS's could help us do the following:

Given a set of point locations,

1. create a circle of radius n meters around each.
2. each circle has a unique score.
3. replace the circle's unique score with the sum of its score and the scores of all circles with which it intersects.
4. create a polygon(s)--the union of all circles with sum >= a threshold.
5. Layer in a new set of points and take the set of all these new points that are contained within the polygon(s).
6. Export as a table those points and their metadata.

I once upon a time was reasonably fluent with Manifold, and I think this could be done in Manifold, I think. We're interested in a GIS, for now, costing no more than Manifold. Shortest learning curve super appreciated too.

Thanks in advance for any guidance you can provide, Steve

-
Have a look at qgis.org it has vector tools that should be enough to accomplish this task. – Moe Oct 24 '12 at 19:42
QGIS is not only great, but its also FREE. And this great training manual for QGIS will help lesson your learning curve. – RyanDalton Oct 24 '12 at 19:56
Sounds like an interesting problem. It would be easier to understand if you could include some screen shots at some of the steps. – Kirk Kuykendall Oct 24 '12 at 20:00
What do you mean by 'score' - an attribute that is added to the circle? – Simbamangu Oct 24 '12 at 20:09
Thanks for the qgis reference. @simbamangu: the scored circles of radius n meters are around given hotels; the scores are the number of avg weekly person-nights stayed at each hotel. – Steve Bernstein Oct 24 '12 at 21:08

These activities should all be easily done in QGIS, point by point as per your question:

1. Symbols can be given radii based on a field. In the Symbology properties tab, select 'advanced', 'size scale field' and then the field with the radius (the CRS of the project will need to be in metres).
2. The score can be stored in an attribute field;
3. "Join attributes by location" can be used to summarise intersecting layers, probably with a subsequent field calculator operation to total the scores;
4. Performing a query (Layer|Query...) on the circles layer will let you select only the characteristics you want, e.g. sum > x, and then Vector|Geoprocessing|Union to create a new layer with those circles.
5. A point-in-polygon operation will give you the interesting points within the polygon layer.
6. The attribute table can be saved directly with save-as CSV.

And, as we love to point out on this site, QGIS is FREE.

-
awesome, thanks! – Steve Bernstein Oct 24 '12 at 22:27
More than free, qgis is opensource, meaning everyone is able to see and improve its code. For your problem you use the plugin Sextante to build a model with all the steps described above. Or you can create a script in python. Either way, you will be able to run all the operations with one click. – Alexandre Neto Oct 24 '12 at 22:55
great info, thanks! – Steve Bernstein Oct 24 '12 at 23:53

For the described issue I don't see the point in actually using GIS (you didn't mention that you have to visualise data). This issue (especially if it is routine one) can be solved by several quite simple SQL-statements. Consider using PostGIS or Spatialite (depends on your data amount). I believe another alternative is to use OGR scripting but I would definitely stick with database management system.

-
Yes, we can do this purely with math (probably w/Pig on Hadoop), but it's easier to explain what we've done to our business peers with a visualization, and, as I said, I'm looking for a general solution for a class of such problems. – Steve Bernstein Oct 24 '12 at 21:09
Ah, just realized that underdark edited out of my original question my statement of looking for a generalized solution--you probably never saw that. – Steve Bernstein Oct 24 '12 at 22:31