position matching [message #54014] |
Tue, 15 May 2007 05:55  |
cmancone
Messages: 30 Registered: May 2007
|
Member |
|
|
Hi everyone,
A common task I have to do is take two lists of stars with x & y
positions and match up the closest stars within a certain radius (so
that each star has at most one match, that one being the best match).
A long time ago I wrote some code to do this that gets the job done,
but probably not in the fastest way. It just uses a for loop over one
of the lists and uses a where to search for the closest star to each
star on the other list. Most of the time this is more than adequate,
but anytime my star lists get around 10000-20000 stars each (which
happens on a not-so irregular basis) the program turns into quite a
beast and takes its sweet time (i.e. a minute or two). Granted, this
isn't exactly research-stopping time delays, but I'm sure that with a
well thought-out algorithm, the execution time could be pulled down to
a handful of seconds. The problem is, I have yet to come up with a
well thought-out algorithm. I'm sure I'm not the only one who has run
into this, so I was hoping there might be someone else out there that
has dealt with the same thing, and knows a better way.
-Conor
|
|
|