Closed otan closed 4 years ago
Hi! I can work in this issue 😄.
I already implemented the geohash algorithm. I did some tests and I implemented a precision up to 20, similar to PostGIS.
Currently I am working on replicating PostGIS behaviour: when using a geometry larger than a point it should return a geohash with enough precision such that the given geometry is within the geohash box. I think I can finish it in the next couple of days and then submit the PR.
Thanks! Let me know over slack if you have any issues.
On Sat, 20 Jun 2020, 10:02 am Juan Carlos, notifications@github.com wrote:
Hi! I can work in this issue 😄.
I already implemented the geohash algorithm. I did some tests and I implemented a precision up to 20, similar to PostGIS.
Currently I am working on replicating PostGIS behaviour: when using a geometry larger than a point it should return a geohash with enough precision such that the given geometry is within the geohash box. I think I can finish it in the next couple of days and then submit the PR.
— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/cockroachdb/cockroach/issues/48397#issuecomment-647020993, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA32FQ76FDAZSSIS2SGMMRDRXTTSBANCNFSM4MZDK3WQ .
Implement
ST_GeoHash
on arguments {geography,int4}, which should adopt PostGIS behaviour.Observers: Please react to this issue if you need this functionality.
For Geography builtins, please do the following:
pkg/geo/geogfn
(parse and output related functions can go inpkg/geo
). Add exhaustive unit tests here - you can run through example test cases and make sure that PostGIS and CRDB return the same result within a degree of accuracy (1cm for geography).pkg/sql/sem/builtins/geo_builtins.go
. Note that we currently do not support optional arguments, so we define functions that have optional arguments once without the optional argument (using the default value in the optional position), and once with the optional argument.pkg/sql/logictest/testdata/logic_test/geospatial
to call this functionality at least once. You can callmake testbaselogic FILES='geospatial' TESTFLAGS='-rewrite'
to regenerate the output. Tests here should just ensure the builtin is linked end to end (your exhaustive unit tests go the above mentioned packages!).make buildshort
. You can also play with it by calling./cockroach demo --empty
afterwards.You can follow #48529 for an example PR.
The following additional guidance has been issued on implementing this function:
Feel free to add a dep on any library that supports geohashing of more than 12 bits.
:robot: This issue was synced with a spreadsheet by gsheets-to-github-issues by otan on 2021-02-21T20:41:45Z. Changes to titles, body and labels may be overwritten.