redis / redis

Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
http://redis.io
Other
66.97k stars 23.8k forks source link

Question: Will Geo API have command for points clustering/aggregation? #2758

Open mlshvdv opened 9 years ago

mlshvdv commented 9 years ago

Geo IP is wonderful! Have any plans to add command for points clustering/aggregation depending on zoom or radius?

antirez commented 9 years ago

Hello, thanks. Could you make an example of clustering/aggregation? I guess query by radius (which is supported) is an example of computation among N points, a particularly trivial one indeed (just return the set). Do you think at stuff like, find points in radius which have a short distance among them or similar algorithms?

mlshvdv commented 9 years ago

Hello, @antirez! I mean like this:

Before clustering image

After: image

It's really hard to do it on client if you have millions of points. The great example: http://onemilliontweetmap.com/ The Elasticsearch and Maptimize Geo clustering plugin are used here. But this plugin is too expensive (€50k). I think, it will be great, if Redis Geo API will do the same.

antirez commented 9 years ago

This looks like an interesting use case indeed... Most social apps showing points on a map need to do that in some way, so this is sure a fit feature for Redis Geo API. Taking the issue open in order to think more about it and check if there is some simple/valid design to address the problem. Thanks.

mlshvdv commented 9 years ago

@antirez Thank you for care!

hshinde commented 9 years ago

Hi Antirez,

I would like to work on this item. Whom can I talk with to discuss the requirements?

ror6ax commented 8 years ago

Hi there! I'm interested in working on this as well. Can someone please ping back on whether it is still needed?

vtortola commented 8 years ago

I am interested in this too 👍

hugdubois commented 7 years ago

Me too, I am interested in this feature 👍

ror6ax commented 7 years ago

Hi, can someone please give it a go\no go ? Almost a year has passed...

itamarhaber commented 7 years ago

I'd like to see that in Redis as well. I think the best way to have it is implement it with the new modules API... which I sort of have, but in a very non efficient manner: https://github.com/redislabsmodules/redex/#geocluster-geoset-radius-unit-min-points-namespace - I hope to have the time to revisit it and do it properly, but that shouldn't stop anyone from taking the initiative... ;)

dane-stevens commented 3 years ago

Looking for an update on this feature. It will be essential to a new app we have in development