How to find the nearby sampling stations
Show older comments
I have millions of samping sations, my goal is to find the nearby stations with a certain distance threshold. What is the best way to do it based on the longitude and latitude information?
It seems that calculating the stations between each of them is extremely time-consuming.
Thanks.
6 Comments
A direct lookup/calculation of all distances from a given point for every case would seem prohibitively expensive, agreed.
I'm sure there are more sophisticated ways to go at it, but you could start to reduce the search space by eliminating all which are farther away in either direction alone and only doing the full calculation within that grid.
You could in all likelihood reduce those distances by some sizable fraction and not miss the result -- say by sqrt(2)
Leon
on 11 Apr 2021
dpb
on 11 Apr 2021
Another way to approach it if the database is static would be to compute the distance once and save it -- then it's just a lookup for each station pair that could be read from an indexed file.
It would likely be too large to store the whole distance matrix for all stations at once, anyway.
dpb
on 11 Apr 2021
Another way if one is always going to be wanting only other stations within some distance of a given station would be to precompute as above, but only save those locations for each station within that magic cutoff distance. Depending upon that distance and the distribution of stations, this could possibly reduce the size of the database significantly.
Leon
on 12 Apr 2021
dpb
on 12 Apr 2021
I would presume there are tools in the Mapping Toolbox (which I don't have) similar to pdist2 in base product, but I really don't know much at all about what is available.
Answers (1)
Shadaab Siddiqie
on 16 Apr 2021
0 votes
1 Comment
dpb
on 16 Apr 2021
Neither of which address that OP's coordinates are in lat, long, not x,y,z...
Categories
Find more on 3-D Visualization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!