Go Geo Grid Search
Go Geo Grid Search,
or ggsearch
,
is a Go package for performing fast K-closest queries of places on Earth.
Given an array of objects that have latitude and longitude,
a starting point and the number of desired results K, ggsearch
will
return K objects closest to the starting point.
Unlike some other libraries, ggsearch
does not require a bounding box
or any other pre-built index of the objects being queried.
Instead ggsearch
builds its own sparse grid of the locations
and queries it in a spiral fashion starting from the query point.
Documentation
Review documentation on godoc, or take a look at a simple example.
Performance
ggsearch was built for speed. On a t2.micro AWS instance a Web service running ggsearch queried a data set of 40,000 places in 5 ms/request.
Caveats
ggsearch is built for querying populated areas and as such querying near the poles is not going to produce the right results.
License
Released under the MIT license.