{"_id":"geo-proximity","_rev":"51-877a611b53bd30120280bb2164b163a2","name":"geo-proximity","description":"Super fast proximity searches of geo coordinates.","dist-tags":{"latest":"2.3.2"},"versions":{"1.0.0":{"author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"name":"geo-proximity","description":"geohash proximity library for nodejs using redis","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"version":"1.0.0","repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"engines":{"node":">=v0.2.0"},"dependencies":{"ngeohash":">=0.6.0"},"devDependencies":{"redis":">=0.10.0","assert":">=1.0","nodeunit":">=0.8.8","csv":">=0.3.7"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","_id":"geo-proximity@1.0.0","_from":".","dist":{"shasum":"063670efb15150c90c281d1eaa8a3a183a3c946c","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-1.0.0.tgz","integrity":"sha512-LMpShd3p4T3E5vuz19oJKhacQfPEPOFa0em/VCZUDYaZdckN9tqya98j3DP5WDlE/hFVhNcq8Hs/ceEHDfgxjw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjgNgJeuTKkXkq0dkjYbFfHM7LpZpfiXgOL5pUUdaaGgIgNv45lq2wSxJ88WwVw3b3ZNaX54kBZSqWfAoRfMhCyRA="}]},"_npmVersion":"1.4.3","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"1.0.1":{"author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"name":"geo-proximity","description":"geohash proximity library for nodejs using redis","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"version":"1.0.1","repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"engines":{"node":">=v0.2.0"},"dependencies":{"ngeohash":">=0.6.0"},"devDependencies":{"redis":">=0.10.0","assert":">=1.0","nodeunit":">=0.8.8","csv":">=0.3.7"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","_id":"geo-proximity@1.0.1","_from":".","dist":{"shasum":"4ea0419da7035608f3c92de88e384feb74d2857b","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-1.0.1.tgz","integrity":"sha512-Ejfp4jO/q1iEHmEwslOYhg3borNzEufJx84EKn0icUTqfdPuZqL/2d+0Tx7yH+NpoOdRS9JRWkHJ3f0MLSh71g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEsRtl9bRrwEwlWgSocQVE+O6om2D7xVZgWB/r4qU3iHAiArwevuCSbiotiBuyHjZJUSxcsvp/fqBNOFtzTLULNN4A=="}]},"_npmVersion":"1.4.3","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"1.0.2":{"author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"name":"geo-proximity","description":"geohash proximity library for nodejs using redis","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"version":"1.0.2","repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"engines":{"node":">=v0.2.0"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"redis":"~0.10.0","assert":"~1.0","nodeunit":"~0.8.8","csv":"~0.3.7"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","_id":"geo-proximity@1.0.2","_from":".","dist":{"shasum":"e52db077d01f107e135bbeda51c850c2c33a644a","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-1.0.2.tgz","integrity":"sha512-IVy07IuzgPeWvy0QHnGpmlU/nVHInrljkIXhRIBlfSqF0oz9aNdbp53DKXNb6mc3iFFK4Xd89DaZEJM5xBwjRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBkCcF7BsivX0fvWmOUdV55QoXHKngqW8cHQuucOQlogIga77D7x8me3Jw2z5d7gw+xkK5ZXuTv1bM+ou6Pl/YfLI="}]},"_npmVersion":"1.4.3","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"1.0.3":{"author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"name":"geo-proximity","description":"geohash proximity library for nodejs using redis","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"version":"1.0.3","repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"engines":{"node":">=v0.2.0"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"redis":"~0.10.0","assert":"~1.0","nodeunit":"~0.8.8","csv":"~0.3.7"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","_id":"geo-proximity@1.0.3","_from":".","dist":{"shasum":"f1bb7260d280d9d8d610ad150c89180e62eca36c","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-1.0.3.tgz","integrity":"sha512-0sWzElrBZ+c0MGXcoGeDWTWTn15eONFlHJdDD75moVwcgMBlht9A2qU5hX0nbbwNxQxGwg7K9plRvoZ0xe0sGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDkWmCxEuTNWGPkERjVlIK0EknQ3X9DvM35PRsbOU1TWAiEAha///ynolEr5AIFb2TOaC6Qy++2GW+ACGWHIIPTi0zU="}]},"_npmVersion":"1.4.3","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"1.0.4":{"author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"name":"geo-proximity","description":"geohash proximity library for nodejs using redis","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"version":"1.0.4","repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"engines":{"node":">=v0.2.0"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"redis":"~0.10.0","assert":"~1.0","nodeunit":"~0.8.8","csv":"~0.3.7"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","_id":"geo-proximity@1.0.4","_from":".","dist":{"shasum":"6b70e11cf3c1524bd8b1a6c9c97098cd92d22b43","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-1.0.4.tgz","integrity":"sha512-Jad60/kCisIvi7APrJCFewmPrnjzIDxCq1xSpDHmNRwfCUhMMe+YhUqnA5hcXP1HG6drFcv9XRHg56UPXppifg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAqZ1+nMk7ogHNeY6GdK0iEKdJ4EwMJj2wbLuYnzhiPLAiAYAo6WhifLctkkpVO9m2TGmd6DmlEbfX78Dr7HMSzblQ=="}]},"_npmVersion":"1.4.3","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"1.0.5":{"author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"name":"geo-proximity","description":"A node.js module that leverages geohashes to provide super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"version":"1.0.5","repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"engines":{"node":">=v0.2.0"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"redis":"~0.10.0","assert":"~1.0","nodeunit":"~0.8.8","csv":"~0.3.7"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","_id":"geo-proximity@1.0.5","_from":".","dist":{"shasum":"65bb535b7e0e034e6cb553088d9064968ac8aa01","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-1.0.5.tgz","integrity":"sha512-CGvLA2QcGiY3w40nMK3m5IeJGx5dMLzxXxkI36h4ny0VxGbYnQXrpYg0Z6Yn1QeU/DhPBN5P/z00JOT4kXFK+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAaDUNIJxgHabCXi77V0J20oooexnWZLmLusauCmqYLAIgLsOImVrFLDEEuNZ60olRgEE/8IXmaQjlm75oJ99gPxw="}]},"_npmVersion":"1.4.3","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"1.0.6":{"author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"name":"geo-proximity","description":"A node.js module that leverages geohashes to provide super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"version":"1.0.6","repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"engines":{"node":">=v0.2.0"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"redis":"~0.10.0","assert":"~1.0","nodeunit":"~0.8.8","csv":"~0.3.7"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","_id":"geo-proximity@1.0.6","_from":".","dist":{"shasum":"905ba08446605dd20db6b93886765d84e31a65b5","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-1.0.6.tgz","integrity":"sha512-MvOfMGnOieWVYHF0osrw1CUqPGchodU6gXyoq6kD/pqJ1rRrBl3jM1eJVXo2fhrqldW/64AqvEA1nQYAJ0AQrg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIIJmLe+7Oc61vQAiRLNwG4DXUcxpgDtYX34Q3gv+myQIhANYOZmKHnWeBuklqEEdHb4ihMGMcW6xCovy+7P9KcPFl"}]},"_npmVersion":"1.4.3","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"1.0.7":{"author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"name":"geo-proximity","description":"A node.js module that leverages geohashes to provide super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"version":"1.0.7","repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"engines":{"node":">=v0.2.0"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"redis":"~0.10.0","assert":"~1.0","nodeunit":"~0.8.8","csv":"~0.3.7"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","_id":"geo-proximity@1.0.7","dist":{"shasum":"5fcf729ee277a40eb166e5e224469b0755af7aa9","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-1.0.7.tgz","integrity":"sha512-Xsrm/OBMnm0jbieQ4tEpEts0NQSJUxwkM0gkPQVdeSq9bgFSUfrTyFmhlaAdkiUtJW3ksk6+uTVJDBQgMHhExQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBcW8vWRPaa1rAHx2Rg7151OoWk5OWhvBdW5flDKg2JyAiEAsrxTBSs78TihAqXJ1x5m67ym8I/YYbWTBp3YhYBmoXI="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"1.1.0":{"author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"name":"geo-proximity","description":"A node.js module that leverages geohashes to provide super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"version":"1.1.0","repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"engines":{"node":">=v0.2.0"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"redis":"~0.10.0","assert":"~1.0","nodeunit":"~0.8.8"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","_id":"geo-proximity@1.1.0","dist":{"shasum":"b37fd8110c13f44c8ddc2c4a29d20d5b167a612f","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-1.1.0.tgz","integrity":"sha512-+hlrBdzsRddZj0xJIMjxQK6jm+Pvo/zA3d6wD3oUJ6y4Xoyur4JIERouhoNstuqUg1vwVbPwjJa6OfQyabreEQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGGKSesCbrUGetzp9k100FdnbQ6+xxHUpgeotV5jh5kxAiEA9kHDXEWCX8hQsrykj91aGFwAevd9gN5rJh6Cs1w/7bM="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"1.2.0":{"author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"name":"geo-proximity","description":"A node.js module that leverages geohashes to provide super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"version":"1.2.0","repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"engines":{"node":">=v0.2.0"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"redis":"~0.10.0","assert":"~1.0","nodeunit":"~0.8.8"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","gitHead":"539207d1ba46daee597f29e137f6a819774429f9","_id":"geo-proximity@1.2.0","_shasum":"b58afb3a8a827ed7a53d90c2a21b16ef0e93f219","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"dist":{"shasum":"b58afb3a8a827ed7a53d90c2a21b16ef0e93f219","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-1.2.0.tgz","integrity":"sha512-k6+gFJQT0cNIyQx6S5F0s/Kr06X2KLEcZtPJf0qr9e/FKoHjEoqaMhRzC6hWsKl/bcdTovdC1OEscE2w9MSZqg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjnKeNffUoY9mzFvxg+Of9a0SB87JHjyTHEE8VRCuhtwIhAIAhOD8UlVp+HFWdHgt4NOHy6+1HYLxlpUNMyhoZ1xxC"}]},"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"1.2.1":{"author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"name":"geo-proximity","description":"A node.js module that leverages geohashes to provide super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"version":"1.2.1","repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"engines":{"node":">=v0.2.0"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"redis":"~0.10.0","assert":"~1.0","nodeunit":"~0.8.8"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","gitHead":"e2406e10a32c8a99c2021169bbe0b45b4312f073","_id":"geo-proximity@1.2.1","_shasum":"0fd877d1ec892eb10a35b97c61ab9368e3965bdc","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"dist":{"shasum":"0fd877d1ec892eb10a35b97c61ab9368e3965bdc","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-1.2.1.tgz","integrity":"sha512-qkKuqUEbkEaj0Yi4Lg9QLvNoYE5csM2lfyfpiW4DI4W2tcXV/Ku9uUjFgLSdSJr/1NusmcjaPaTdaZQtmNzK2A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4tue5URl3IEE//EnzzwavxdP463D7xTnhg6QSFZRzsgIgeVtCNZLzRFXLHATp67AlnzxjwpfD3M6DZtPdNze5GXw="}]},"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"2.0.0":{"author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"name":"geo-proximity","description":"Super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"version":"2.0.0","repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"dependencies":{"ngeohash":"~0.6.0","redis":"~0.10.0"},"devDependencies":{"nodeunit":"~0.9.0"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","gitHead":"1654c8a6505740c2880f6b80594253636cecc93d","_id":"geo-proximity@2.0.0","_shasum":"91f790dc9c2abef50a4ce1eb2fe0745d33521f95","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"dist":{"shasum":"91f790dc9c2abef50a4ce1eb2fe0745d33521f95","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-2.0.0.tgz","integrity":"sha512-3xuqZetpydkgYCJv/podV5gsYx+8CQDmBbdKe9Bh5tUMUIqkb93DTMPasfIofLmcgJOVgE8ox5q2w8nZ+HsIdg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZVsywCDZQLAV40b4TemhTALBHNPZ7m6OHLyuapFFPvQIgNJ7iKiTcgJhoZ6abMhNisZJVR7PZBJPsIYQy8e2ZBe4="}]},"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"2.0.1":{"author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"name":"geo-proximity","description":"Super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"version":"2.0.1","repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"dependencies":{"ngeohash":"~0.6.0","redis":"~0.10.0"},"devDependencies":{"nodeunit":"~0.9.0"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","gitHead":"a51db73b19a8ff9dad071d235472805bdee3450e","_id":"geo-proximity@2.0.1","_shasum":"275c975c8c9e3b6968d36c01e0392c243d90c5c6","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"dist":{"shasum":"275c975c8c9e3b6968d36c01e0392c243d90c5c6","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-2.0.1.tgz","integrity":"sha512-ODAIjO+BGBScN2Q+/UyRvyejsDUF7EIeDhqvMRjITpw3ZX4cjbia4XZProQWRfKDQ71uFMtLy8SP8Vt70Xazhw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiUYJaFGq/rAgQ90evTb19HNJLkQ198oLk4WXnEhiePQIhALOjBVK5Qo2YueJAvvCYJFFMV6kPv+y0ly3HTS9h4wyA"}]},"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"2.0.2":{"name":"geo-proximity","version":"2.0.2","author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"description":"Super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"dependencies":{"ngeohash":"~0.6.0","redis":"~0.10.0"},"devDependencies":{"nodeunit":"~0.9.0"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","gitHead":"45d982b4b8a9cd68c3859765f8be3edb6fdcaa9a","_id":"geo-proximity@2.0.2","_shasum":"4ec3cb0c700a242e38b9cd1b896465511c1dac92","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"dist":{"shasum":"4ec3cb0c700a242e38b9cd1b896465511c1dac92","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-2.0.2.tgz","integrity":"sha512-iAcUki5wRcbEvdQYXuaoKdtiUYd7ZMrPYtO+59Z8YEU3xU7ZElTtNT5BOwTMxdaaazI1t/JwZJeKcG89CLItfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHpoTIJng7ijitLBhuUs4l9dTkJNohRSejqsOyRfN2/QIhAOslG2t61AYbvMx0uhVpTT1E4d77ImDNfhcQYg5222XQ"}]},"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"2.0.3":{"name":"geo-proximity","version":"2.0.3","author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"description":"Super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"nodeunit":"~0.9.0","redis":"~0.10.0"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","gitHead":"4137c40a530f872566a817c19b2f9de34d5cb1fe","_id":"geo-proximity@2.0.3","_shasum":"0258a75b32887a580a625dd52fc4fd7a7e11a9f2","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"dist":{"shasum":"0258a75b32887a580a625dd52fc4fd7a7e11a9f2","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-2.0.3.tgz","integrity":"sha512-NjryL/lBswtQ78DnfCuGVaf+MywkANdmNofhuQLuJv2mrsp/q1ndXoBKrx7bkLcnXEr6CPZRTS+3KertQDfW2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDoxaSFA86k6lZooexE4W55dwjRKVnlHLd8rpA72wrTQIgDyQpUHL5cjuLPoIPeWoNU/vy6tfr2OEzCGSOHdNQZiU="}]},"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"2.1.0":{"name":"geo-proximity","version":"2.1.0","author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"description":"Super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","redis","geolocation","geoproximity","radius"],"repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"nodeunit":"~0.9.0","redis":"~0.10.0"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","gitHead":"b1c3e553a441124a93cbcd9df09a08ef3f574c61","_id":"geo-proximity@2.1.0","_shasum":"2f211f89e6468197ddaf1d5dcf0e68c4a74e4ad6","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"dist":{"shasum":"2f211f89e6468197ddaf1d5dcf0e68c4a74e4ad6","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-2.1.0.tgz","integrity":"sha512-rriHV49t7r4zMyFE9p5jpgLXdBpXopE2P6P1NY8wfC/9BYqnAGa310gLDRU3ZB4yU9qPy2ySKSEkVh1aS21pYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEy0pljkjXzqf4D09DrO8ERbV3MimeP36wZVOKqtoQLGAiEArrYxaTlm9k+YnOHwYpnJ/yIHiEtAS8BcH9/lxkQ1a1o="}]},"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"2.2.0":{"name":"geo-proximity","version":"2.2.0","author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"description":"Super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","locations","spatial index","2D spatial index","spatial","index","redis","geolocation","geoproximity","radius"],"repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"nodeunit":"~0.9.0","redis":"~0.10.0"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","gitHead":"8fab9b02896655503673d87743b689f393b70530","_id":"geo-proximity@2.2.0","_shasum":"90f7da4879d1cc56b1cfcc066b445217c5998115","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"dist":{"shasum":"90f7da4879d1cc56b1cfcc066b445217c5998115","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-2.2.0.tgz","integrity":"sha512-gqGrlAjhw0LVsq9T2zkCyEJx+vM+hsc2tiKqgDZ/6dxuQtJl6II6X7LmuoBalrkVkqAJaYBMjIkHfTj9u/rZ3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLDk4Kw/IgTOGYUALKuDd95kdrAQUKt1NrpCXaRoqy2gIgT67jmkQo7RQlgBg7cw8Ptld7YCtDPDQ2ZjGGa6Is27Y="}]},"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"2.2.2":{"name":"geo-proximity","version":"2.2.2","author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"description":"Super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","locations","spatial index","2D spatial index","spatial","index","redis","geolocation","geoproximity","radius"],"repository":{"url":"https://github.com/arjunmehta/node-geo-proximity"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"nodeunit":"~0.9.0","redis":"~0.10.0"},"scripts":{"test":"nodeunit test/test.js"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","gitHead":"11353f57f02dc2e40b2fbe842c89cfd50b234b42","_id":"geo-proximity@2.2.2","_shasum":"c3fb895f2f222ff47367e1ae744b683ed880bd98","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"dist":{"shasum":"c3fb895f2f222ff47367e1ae744b683ed880bd98","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-2.2.2.tgz","integrity":"sha512-MEaxFgZXP/1BRfiOkvw4PMi4KkrzCTem8HyFPW2L0qzvWX07MiTol/RGOtLZ74Y9benZhPo4IYMtsdUbMXjRoA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXH9YkrCZeG1zUtSQzzen3qPbny6OLfEzU9NVbYcZFbQIhAL/aGYw6ljbnjB6s3C5dGXG4CjAQvnQ8i3uIFRCx9zAy"}]},"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"2.3.0":{"name":"geo-proximity","version":"2.3.0","author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"browser":"browser.js","description":"Super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","locations","spatial index","2D spatial index","spatial","index","redis","geolocation","geoproximity","radius"],"repository":{"url":"git+https://github.com/arjunmehta/node-geo-proximity.git"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"nodeunit":"~0.9.0","redis":"~0.10.0","browserify":"~9.0.3","chai":"~2.1.0","mocha":"~2.1.0","mocha-phantomjs":"~3.5.3"},"scripts":{"test":"nodeunit test/test.js && browserify test/browser_test.js -o test/browser_test_compiled.js && echo '\n  Testing in Browser' && mocha-phantomjs test/browser.html"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","gitHead":"12cd25755be3b628cccc12c6b18c91c046fd4f96","_id":"geo-proximity@2.3.0","_shasum":"85d5e6645b64b39f4722bec5a69ed31d23add516","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"dist":{"shasum":"85d5e6645b64b39f4722bec5a69ed31d23add516","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-2.3.0.tgz","integrity":"sha512-Gk8+ogSm20lV9Y7RexfRi83r7njbcX1fuG70axxpeBsQ5HBEpEPfXEx8vuKl26rm5MwBa7QvIBvIQEJ8WHpLzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChZkLMmBHL0L8a5bYGWuaT5z7K/hsCv9qFF1Kg4ofCvgIgcCk6HyXe+xEj9IMZWA1IovvIILHurh6fpyV75ZQ9nLM="}]},"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"2.3.1":{"name":"geo-proximity","version":"2.3.1","author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"browser":"browser.js","description":"Super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","locations","spatial index","2D spatial index","spatial","index","redis","geolocation","geoproximity","radius"],"repository":{"url":"git+https://github.com/arjunmehta/node-geo-proximity.git"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"nodeunit":"~0.9.0","redis":"~0.10.0","browserify":"~9.0.3","chai":"~2.1.0","mocha":"~2.1.0","mocha-phantomjs":"~3.5.3"},"scripts":{"test":"nodeunit test/test.js && browserify test/browser_test.js -o test/browser_test_compiled.js && echo '\n  Testing in Browser' && mocha-phantomjs test/browser.html"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","gitHead":"7044483839919713d05fea795029ee5502985c0e","_id":"geo-proximity@2.3.1","_shasum":"004396a432a3a32774a2ed7f9df3e447a737529c","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"dist":{"shasum":"004396a432a3a32774a2ed7f9df3e447a737529c","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-2.3.1.tgz","integrity":"sha512-45L8jKfPPIWorml3IfDefPpPi4hiYGSkTK1uX4S2FL4iwmcovQu1F3WcLkSKOxaEZvwd5q+blIynNRvPNq9yTw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAmtS/SXIVi0JttIywx2OzQ66gzbrYY7KNhYzVpdDMcwIgKSFZ6NugFsbdqH9et0qNSgdERGh0zqtTTnyQQkrYofk="}]},"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"},"2.3.2":{"name":"geo-proximity","version":"2.3.2","author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"browser":"browser.js","description":"Super fast proximity searches of geo coordinates.","keywords":["geohash","proximity","nearby","locations","spatial index","2D spatial index","spatial","index","redis","geolocation","geoproximity","radius"],"repository":{"url":"git+https://github.com/arjunmehta/node-geo-proximity.git"},"dependencies":{"ngeohash":"~0.6.0"},"devDependencies":{"nodeunit":"~0.9.0","redis":"~0.10.0","browserify":"~9.0.3","chai":"~2.1.0","mocha":"~2.1.0","mocha-phantomjs":"~3.5.3"},"scripts":{"test":"nodeunit test/test.js && browserify test/browser_test.js -o test/browser_test_compiled.js && echo '\n  Testing in Browser' && mocha-phantomjs test/browser.html"},"main":"./main","license":"MIT","bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","gitHead":"26ef0f594e0f04deabe6d1ccb5d439217c0a2f15","_id":"geo-proximity@2.3.2","_shasum":"7d0ac5a6423b450c9ffc5c08e173f09ab2c3f5b5","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.0","_npmUser":{"name":"arjunmehta","email":"arjunmeht@gmail.com"},"maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"dist":{"shasum":"7d0ac5a6423b450c9ffc5c08e173f09ab2c3f5b5","tarball":"https://registry.npmjs.org/geo-proximity/-/geo-proximity-2.3.2.tgz","integrity":"sha512-6M/YiZBNYG0smI+KCFWfwLakWVG9Gye9uoVIU9wrz65OiBcayFFcT9oOK/swDziUh+ZOyBIx3jOTjMt0R6yM0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAwtXocw3Mehr2JPGuQnZFqRXhdsdnfV8Uk/MWlYKdr1AiEAjjNV+GXqxGdmbIidgbzOI78SxAWNoi4erRwcnhvcKjI="}]},"deprecated":"Deprecated in favour of GeoRedis: www.npmjs.com/georedis | github.com/arjunmehta/node-georedis"}},"readme":"## Module Deprecated: Use [GeoRedis](https://github.com/arjunmehta/node-georedis)\n\ngeo-proximity\n=====================\n\n[![Build Status](https://travis-ci.org/arjunmehta/node-geo-proximity.svg?branch=master)](https://travis-ci.org/arjunmehta/node-geo-proximity)\n\n**Note:** *This module requires a [Redis](http://redis.io) server to be accessible to your Node environment.*\n\n![geo-proximity title image](https://raw.githubusercontent.com/arjunmehta/node-geo-proximity/image/image/splash.png)\n\nThis Node module provides everything you need to get proximity information for geo locations. More specifically:\n\n- **Fast querying of nearby locations to a point within a set. Fast like redis is fast.**\n- **Basic management (addition, querying and removal) of sets of named geo locations.**\n- **A simple, easy to use, scalable interface.**\n- **Distributable methods (for browser based clients) alleviate computational load on server.**\n\nIt should be noted that the method used here is not the most precise, but the query is very fast, and should be appropriate for most consumer applications looking for this basic function. [Read more about how this module works](http://gis.stackexchange.com/questions/18330/would-it-be-possible-to-use-geohash-for-proximity-searches/92331#92331).\n\n## Installation\n\n```bash\nnpm install geo-proximity\n```\n\n## Basic Usage\nUsage of this module should be extremely simple. Just make sure that your Redis server is accessible to your Node environment. Because this module uses Redis as a store, almost all methods have integrated error handling for queries.\n\n### Include and Initialize\n\nInclude and initialize this module with a node-redis client instance.\n\n```javascript\nvar redis = require('redis'),\n    client = redis.createClient()\n\nvar proximity = require('geo-proximity').initialize(client)\n```\n\n### Add Locations\n\nAdd locations individually:\n\n```javascript\nproximity.addLocation(43.6667, -79.4167, 'Toronto', function(err, reply){\n  if(err) console.error(err)\n  else console.log('added location:', reply)\n})\n```\n\nIf you have a large set you'd like to add in bulk, there's a much quicker way:\n\n```javascript\nvar locations = [[43.6667, -79.4167,  'Toronto'],\n                 [39.9523, -75.1638,  'Philadelphia'],\n                 [37.4688, -122.1411, 'Palo Alto'],\n                 [37.7691, -122.4449, 'San Francisco'],\n                 [47.5500, -52.6667,  'St. John\\'s'],\n                 [40.7143, -74.0060,  'New York'],\n                 [49.6500, -54.7500,  'Twillingate'],\n                 [45.4167, -75.7000,  'Ottawa'],\n                 [51.0833, -114.0833, 'Calgary'],\n                 [18.9750, 72.8258,   'Mumbai']]\n\nproximity.addLocations(locations, function(err, reply){\n  if(err) console.error(err)\n  else console.log('added locations:', reply)\n})\n```\n\n\n### Recall the Coordinates of a Location\n\n```javascript\nproximity.location('Toronto', function(err, location){\n  if(err) console.error(err)\n  else console.log(location.name + \"'s location is:\", location.latitude, location.longitude)\n})\n```\n\nOr for multiple locations:\n\n```javascript\nproximity.locations(['Toronto', 'Philadelphia', 'Palo Alto', 'San Francisco', 'Ottawa'], function(err, locations){\n  if(err) console.error(err)\n  else {\n    for(var i = 0; i < locations.length; i++)\n      console.log(locations[i].name + \"'s location is:\", locations[i].latitude, locations[i].longitude)\n  }\n})\n```\n\n### Search for Nearby Locations\n\nNow you can look for locations that exist approximately within a certain distance of any particular coordinate in the system.\n\n```javascript\n// look for all points within ~5000m of Toronto.\nproximity.nearby(43.646838, -79.403723, 5000, function(err, locations){\n  if(err) console.error(err)\n  else console.log('nearby locations:', locations)\n})\n```\n\n### Remove Locations\nOf course you may need to remove some points from your set as users/temporary events/whatever no longer are part of the set.\n\n```javascript\nproximity.removeLocation('New York', function(err, reply){\n  if(err) console.error(err)\n  else console.log('removed location:', reply)\n})\n\n// OR Quicker for Bulk Removals\nproximity.removeLocations(['New York', 'St. John\\'s', 'San Francisco'], function(err, reply){\n  if(err) console.error(err)\n  else console.log('removed locations', reply)\n})\n```\n\n\n## Advanced Usage\n\n### Initializing with Options\n\nYou can initialize `geo-proximity` with a specific redis client instance, but you can also specify a ZSET name to use when storing/querying locations instead of the default `geo:locations`. You may also enable an experimental caching feature that should help with performance, but will use additional memory.\n\n```javascript\nvar redis = require('redis'),\n    client = redis.createClient()\n\nvar proximity = require('geo-proximity').initialize(client, {\n  zset: 'mySpecialLocationsSet',\n  cache: true\n})\n```\n\n### Multiple Sets\nIf you have different sets of coordinates, you can store and query them separately by creating adding a new set.\n\n#### Create Sets\n```javascript\nvar people = proximity.addSet('people')\nvar places = proximity.addSet('places')\n```\n\n#### Add Locations to Different Sets\n```javascript\nvar peopleLocations = [[43.6667,-79.4167,   'John'],\n                       [39.9523, -75.1638,  'Shankar'],\n                       [37.4688, -122.1411, 'Cynthia'],\n                       [37.7691, -122.4449, 'Chen']]\n\nvar placeLocations  = [[43.6667,-79.4167,   'Toronto'],\n                       [39.9523, -75.1638,  'Philadelphia'],\n                       [37.4688, -122.1411, 'Palo Alto'],\n                       [37.7691, -122.4449, 'San Francisco'],\n                       [47.5500, -52.6667,  'St. John\\'s']]\n\npeople.addLocations(peopleLocations, function(err, reply){\n  if(err) console.error(err)\n  else console.log('added people:', reply)\n})\n\nplaces.addLocations(placeLocations, function(err, reply){\n  if(err) console.error(err)\n  else console.log('added places:', reply)\n})\n```\n\n#### Look for Nearby Locations In Different Sets\n\n```javascript\n// will find all PEOPLE ~5000m from the passed in coordinate\npeople.nearby(43.646838, -79.403723, 5000, function(err, people){\n  if(err) console.error(err)\n  else console.log('people nearby:', people)\n})\n\n// will find all PLACES ~5000m from the passed in coordinate\nplaces.nearby(43.646838, -79.403723, 5000, function(err, places){\n  if(err) console.error(err)\n  else console.log('places nearby:', places)\n})\n```\n\n#### Delete Different Sets\n\nIf you no longer need one of your newly created sets, you can just delete it. Either of the following methods will remove the set from redis and destroy its contents. If you add locations to that set again it will recreate the set on redis and you can use as usual.\n\n```javascript\n// will delete the people set and its contents\npeople.delete()\n\n// OR\nproximity.deleteSet('people')\n```\n\n## Performant Querying\nIf you intend on performing the same query over and over again with the same initial coordinate and the same distance, you can cache the **geohash ranges** that are used to search for nearby locations. Use the **proximity.getQueryCache** and **proximity.nearbyWithQueryCache** methods together in order to do this.\n\nThe geohash ranges are what the **proximity.nearby** method ultimately searches within to find nearby points. So keeping these stored in a variable some place and passing them into a more basic search function will save some cycles (at least 5ms on a basic machine). This will save you quite a bit of processing time if you expect to refresh your searches often, and especially if you expect to have empty results often. Your processor is probably best used for other things.\n\n```javascript\nvar cachedQuery = proximity.getQueryCache(37.4688, -122.1411, 5000)\n\nproximity.nearbyWithQueryCache(cachedQuery, function(err, replies){\n  console.log('results to the query:', replies)\n})\n```\n\n## Super Performant Scalable Querying\nSimilar to the above method of increasing performance, you can use browserify and use this module in clients. The only method a client will have access to is the `getQueryCache` method. This way, your clients can take on the computational load of generating the geohash ranges to query within.\n\nNo need to initialize the module to use it on the browser/client side, just do a regular require.\n\n```javascript\nvar proximity = require('geo-proximity')\nvar cachedQuery = proximity.getQueryCache(37.4688, -122.1411, 5000)\n```\n\nPass the `cachedQuery` along to the server (using http or socket.io or anything) to use with the `nearbyWithQueryCache` method and send back the results.\n\n## API\n\n### proximity.initialize(redisClient, options)\nInitialize the module with a redis client.\n\n#### Options\n- `zset` **String**: Default `geo:locations`. Set this option to specify a zset name to use to store location values.\n- `cache` **Boolean**: Default `false`. The module can cache queries to increase the speed of future queries that are similar. However, this can end up taking a bit of memory, and might not be necessary if you don't need to repeat queries.\n\n```javascript\nvar proximity = require('geo-proximity').initialize(client, {\n  zset: 'locations',\n  cache: false\n})\n```\n\n### proximity.addSet(setName)\nThis method will return a subset that can be queried and hold a unique set of locations from the main set. It will store these new locations in a new redis zset with a unique name related to the parent set (eg. `geo:locations:people`).\n\n### proximity.deleteSet(setName, callBack)\nThis method will delete a subset and its contents. You should use the callBack to check for errors or to wait for confirmation that the set is deleted, but this is probably not necessary.\n\n### proximity.addLocation(lat, lon, locationName, callBack)\nAdd a new coordinate to your set.\n\n### proximity.addLocations(locationArray, callBack)\nAdds an array of new coordinates to your set. The `coordinateArray` must be in the form `[[lat, lon, name],[lat, lon, name],...,[lat, lon, name]]`. Use this method for bulk additions, as it is much faster than individual adds.\n\n### proximity.updateLocation(lat, lon, locationName, callBack)\nUpdate a coordinate to your set.\n\n### proximity.updateLocations(locationArray, callBack)\nSame syntax as `addLocations`. Updates all locations passed.\n\n### proximity.location(locationName, callBack)\nRetrieve the latitude and longitude of a specific named location. Returns an object with `name`, `latitude` and `longitude` properties. `latitude` and `longitude` will be null if the location does not exist.\n\n### proximity.locations(locationNameArray, callBack)\nRetrieve the latitude and longitude of a list of specific named locations. Returns an array of objects with `name`, `latitude` and `longitude` properties. `latitude` and `longitude` will be null if the location does not exist.\n\n### proximity.removeLocation(coordinateName, callBack)\nRemove the specified coordinate by name.\n\n### proximity.removeLocations(coordinateNameArray, callBack)\nRemove a set of coordinates by name. `coordinateNameArray` must be of the form `[nameA,nameB,nameC,...,nameN]`.\n\n### proximity.delete(callBack)\nRemoves all locations and deletes the zSet from Redis. You should use the callBack to check for errors or to wait for confirmation that the set is deleted, but this is probably not necessary.\n\n### proximity.nearby(lat, lon, distance, {options}, callBack)\nUse this function for a basic search by proximity within the given latitude and longitude and approximate distance (in meters). It is not ideal to use this method if you intend on making the same query multiple times. **If performance is important and you'll be making the same query over and over again, it is recommended you instead have a look at proximity.nearbyWithQueryCache and promixity.getQueryCache.** Otherwise this is an easy method to use.\n\n#### Options\n- `values` **Boolean**: Default `false`. Instead of returning a flat array of key names, it will instead return a full set of keynames with coordinates in the form of `[[name, lat, lon], [name, lat, lon]...]`.This will be a slower query compared to just returning the keynames because the coordinates need to be calculated from the stored geohashes.\n\n### proximity.getQueryCache(lat, lon, distance)\nGet the query ranges to use with **proximity.nearbyWithQueryCache**. This returns an array of geohash ranges to search your set for. `bitDepth` is optional and defaults to 52, set it if you have chosen to store your coordinates at a different bit depth. Store the return value of this function for making the same query often.\n\n### proximity.nearbyWithQueryCache(cache, {options}, callBack)\nPass in query ranges returned by **proximity.getQueryRangesFromRadius** to find points that fall within your range value.\n\n#### Options\n- `values` **Boolean**: Default `false`. Instead of returning a flat array of key names, it will instead return a full set of keynames with coordinates in the form of `[[name, lat, lon], [name, lat, lon]...]`.This will be a slower query compared to just returning the keynames because the coordinates need to be calculated from the stored geohashes.\n\n\n## License\n\nThe MIT License (MIT)<br/>\nCopyright (c) 2015 Arjun Mehta\n","maintainers":[{"name":"arjunmehta","email":"arjunmeht@gmail.com"}],"time":{"modified":"2022-06-18T07:33:41.458Z","created":"2014-06-01T14:33:08.533Z","1.0.0":"2014-06-01T14:33:08.533Z","1.0.1":"2014-06-01T14:36:36.511Z","1.0.2":"2014-06-01T14:56:07.866Z","1.0.3":"2014-06-01T14:59:53.363Z","1.0.4":"2014-06-01T15:01:32.993Z","1.0.5":"2014-06-01T15:19:54.544Z","1.0.6":"2014-06-03T17:00:09.969Z","1.0.7":"2014-06-03T17:04:43.803Z","1.1.0":"2014-06-03T17:20:35.477Z","1.2.0":"2014-08-10T01:42:30.042Z","1.2.1":"2014-08-22T12:37:17.837Z","2.0.0":"2015-03-15T18:25:21.322Z","2.0.1":"2015-03-15T20:39:19.258Z","2.0.2":"2015-03-16T14:33:34.658Z","2.0.3":"2015-03-18T15:53:26.569Z","2.1.0":"2015-03-20T15:46:55.507Z","2.2.0":"2015-05-09T18:20:29.485Z","2.2.2":"2015-06-01T15:41:16.535Z","2.3.0":"2015-06-03T04:19:36.866Z","2.3.1":"2015-07-23T14:48:26.937Z","2.3.2":"2015-10-03T17:32:33.098Z"},"homepage":"https://github.com/arjunmehta/node-geo-proximity","keywords":["geohash","proximity","nearby","locations","spatial index","2D spatial index","spatial","index","redis","geolocation","geoproximity","radius"],"repository":{"url":"git+https://github.com/arjunmehta/node-geo-proximity.git"},"author":{"name":"Arjun Mehta","email":"arjunmeht@gmail.com","url":"http://www.arjunmehta.net/"},"bugs":{"url":"https://github.com/arjunmehta/node-geo-proximity/issues"},"license":"MIT","readmeFilename":"README.md","users":{"parkerproject":true,"goliatone":true,"henryorrin":true,"joelbandi":true,"lio":true}}