vroom has asked for the wisdom of the Perl Monks concerning the following question:
I have an application which tracks complaints based on location. The X and Y for the problem location is then stored. However many complaints could be placed for one problem. Before a work order is made it would be nice to be able to find all items that fall within a similar geographical area and then associate all of those complaints with the newly created work order. The goal would be to find clumps of problems and list them together. It's straight forward to find all the items that fall within X feet of a given location. Doing this for all the possible combinations within the dataset is less desirable.
The goal would be to find a decent solution that isn't too computationally intensive to identify and list these clumps of complaints. Some thoughts I had:
The goal would be to find a decent solution that isn't too computationally intensive to identify and list these clumps of complaints. Some thoughts I had:
- Sort the list by x and sort the list by y. Then come up with a method for merging the lists w/o listing a given complaint more than once. Downside: Identifying a method for merging the results that doesn't result in too many misses
- Round the X and Y to the nearest N feet then sort by X concatenated with Y. This finds all items which fall within a given square on the grid. Downside: This fails to notice items which are just over the border from each other.
Thanks,
Tim
Back to
Seekers of Perl Wisdom