Hi George,

H3 implementation is on our agenda. We will implement H3 once S2 is
finished.

Thanks,
Jia

On Fri, Feb 17, 2023 at 9:27 AM George Percivall <[email protected]> wrote:

> Jia,
>
> Is there an H3 implementation in Sedona?
>
> https://h3geo.org/
> https://github.com/uber/h3
>
> George Percivall
> GeoRoundtable.xyz <https://www.linkedin.com/company/geo-roundtable/>
> [email protected]
>
> On Feb 17, 2023, at 12:16 PM, Jia Yu <[email protected]> wrote:
>
> Hi,
>
> 1. I think a single function st_geohashcover(geom, precision: optional) is
> good. If precision is not given, we generate geohash to a hard coded
> precision.
>
> A very common use case of GeoHash is to do spatial join. This requires that
> all geoms involved in the join follow the same geohash precision. We
> shouldn't allow the function itself to figure this out.
>
> 2. The produced GeoHash codes, if stitched together, should fully cover a
> geometry.
>
> 3. It is ok to have ST_GeoHash_Compression but I would give it lower
> priority.
>
> 4. I think st_geohashcover will take some effort to implement. Because you
> cannot just take the 4 corner coordinate of a MBR as the result. You need
> to find all internal geohash code as well.
>
> 5. A S2 implementation that can be used in spatial join is being
> implemented in Sedona. It is mostly done. You can take a look:
> https://github.com/apache/sedona/pull/764
>
>
> Thanks,
> Jia
>
> On Wed, Feb 15, 2023 at 9:15 PM Zachary Paden <[email protected]> wrote:
>
> Yes, some basic functions already exist :)
>
> After thinking about it some more, I'm wondering if it may be better to
> implement something like:
> - st_geohash_envelope_cover(envelope)->List<Geohash String>
> - st_geohash_contained_geohashes_at_depth(Geohash, int precision) ->
> list<Geohash str>
>
> i believe for cover the algorithm i plan on implementing will essentially
> be:
>
> 1. given an envelope
> 2. From envelope size, derive the correct geohash scale such that worse
> case scenario each corner is in a distinct geohash.
> 3. return a list of the geohashes
>
> the above is O(1).
>
> if we then add functions to create containing geohashes (eg: for geohash DR
> give all three digits contained by DR.. {DR1, DR2...} we can let users use
> other functionality to do whatever they'd like. but at the same time, once
> we implement the first few foundational functions the rest are much easier.
>
> for example:
> - Users may want to compact or not compact geohashes
> - may wish to use INTERSECTS instead of COVERS, or any other predicate.
> - may wish to increase or decrease resolution of the returned geohashes to
> have a more or less accurate version
>
> This is also somewhat easy to do, but I'm not a java developer so it may
> take me awhile. If you or anyone else has any thoughts of what actual
> functions should be implemented I'd also be happy to hear them :)
>
> On Wed, Feb 15, 2023, 10:54 PM Jia Yu <[email protected]> wrote:
>
> BTW, the basic GeoHash function is already in Sedona. I believe this
> function just need to extend those basic GeoHash funcs.
>
> On Wed, Feb 15, 2023 at 5:59 PM Jia Yu <[email protected]> wrote:
>
>
>
> On Wed, Feb 15, 2023 at 5:59 PM Jia Yu <[email protected]> wrote:
>
> This is a fantastic idea. Would you please add it to Sedona? This will
> definitely benefit many Sedona users!
>
> Jia
>
> On Wed, Feb 15, 2023 at 9:49 AM Zachary Paden <[email protected]>
> wrote:
>
> Hello all,
>
> As a sedona user, I'd like to be able to create covers and compress
> geohashes. These are features of some IBM libraries
> <
>
>
> https://www.ibm.com/docs/ja/db2-warehouse?topic=concepts-geohashes-geohash-covers
>
> .
>
>
>
> Essentially I'd like to add something akin to `ST_GEOHASH_COVER`
> function
> and perhaps a `ST_GEOHASH_COMPRESSION` function. This surprisingly
> doesn't
> have much support in OSS libraries as far as I can tell, but
> implementation
> on some level should be doable IMO.
>
> This would allow users to use geohash as another way to index their
> data,
> one that is more compatible with other query engines (EG: Anything
>
> that
>
> supports can support geohashes on some level)
>
>
>
>
>

Reply via email to