A geodesic grid is an even grid over the surface of a sphere. The algorithm is optimized for a grid generated by GridSphere and won't work on an arbitrary geodesic grid. All code is compatible with GNU Octave. The GridSphere function is available on the MATLAB file exchange at http://www.mathworks.com/matlabcentral/fileexchange/28842-gridsphere.
FindNearestNeighbors and GridSphere share some functions in common. Each package contains a copy of these functions so that both can stand alone. To eliminate duplicates, simply move all the files into a single folder and replace the shared files when prompted.
Blazingly fast and well documented. Only an example would not have been unbecoming, e.g. to illustrate the fact that returned values are in degrees (whereas Matlab's sph2cart requires radians).
Replaced the ElementWiseMax function with an equivalent built-in function.
21 May 2012
Replaced tabs with spaces so that the source code displays consistently in all text editors.
10 Mar 2015
Made code available as a toolbox and removed some unnecessary hidden files.
13 Mar 2015
Made minor corrections to comments. Removed write and execute permissions from group/others on all *.m files. Removed trailing whitespace and switched from 2 spaces after each period to 1 in the interest of readability.
13 Mar 2015
Added a link to another FX submission that this submission uses code from.