keplergl / kepler.gl

Kepler.gl is a powerful open source geospatial analysis tool for large-scale data sets.
http://kepler.gl
MIT License
10.39k stars 1.74k forks source link

New layer type: GeoHash #989

Open fprivitera opened 4 years ago

fprivitera commented 4 years ago

Is your feature request related to a problem? Please describe. no

Describe the solution you'd like I would like to display data based on GeoHash, which is a standard in several platforms.

for instance a CSV like the following: geohash,kpi1 dr5rg,12 dr5r8,42 dr5rv,566

Describe alternatives you've considered I see that you provide also H3 layer type, it would be interesting to have also the geohash layer

Additional context The new feature should be easy to implement.

pvieito commented 4 years ago

+1

existeundelta commented 4 years ago

+1

ibgreen commented 4 years ago

Pretty sure that a PR adding an GeoHashLayer to deck.gl would be accepted, if someone is interested. Once deck.gl supports the layer, it becomes a smaller step for kepler.gl to incorporate it.

Are you able to share any good examples of interesting data encoded in geohash, or any other use cases for geohash that would help give some support to this request?

maciejkos commented 4 years ago

I am not OP, but many people use geohashes for privacy. For example, I don't want to know where exactly mobile users live; geohash6 is good enough for me. Later, I can plot user counts per geohash on a map. Higher-resolution geohashes can be used for, e.g., contact tracing in a similar way.

fprivitera commented 4 years ago

at the moment if I remember well, in kepler you can aggregate lat long points using the "Grid" layer. But you need to have on your browser all the point you would like to aggregate, but sometimes you can have server side billions of points and you would like to visualize the counts one fixed grid layer, maybe you also would like to change the resolution of the grid realtime.
I imagine that you cannot load on your browser more than 200MB data points, so the best Idea is to aggregate data servers side using a fixed grid and them visualize the results. Geohashes are a great standard and global fixed grin, they help you: they are fixed global grid with a lot of properties, for instance you can truncate the last letter and then aggregate values to have a smaller resolution, and you can find free code libraries in several languages.

imaginefish commented 4 years ago

+1, GeoHash is also a standard spatial partitioning algorithm, and be used in several scenarios. It should be easy to implement since keplergl has already provide H3 and S2 layer type. I will very appreciate that keplergl add this new feature.

imaginefish commented 4 years ago

Pretty sure that a PR adding an GeoHashLayer to deck.gl would be accepted, if someone is interested. Once deck.gl supports the layer, it becomes a smaller step for kepler.gl to incorporate it.

Are you able to share any good examples of interesting data encoded in geohash, or any other use cases for geohash that would help give some support to this request?

For example, we use mobile phone signalling data to analyze user activities, but the telecom operators only provide geohash to locate users for privacy, if keplergl supports GeoHash layer, it will be very convenient to dispaly those data.