You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Simon Willnauer (JIRA)" <ji...@apache.org> on 2009/08/26 15:53:59 UTC

[jira] Updated: (LUCENE-1815) Geohash encode/decode floating point problems

     [ https://issues.apache.org/jira/browse/LUCENE-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Simon Willnauer updated LUCENE-1815:
------------------------------------

    Priority: Minor  (was: Major)

I don't think this shouldn't be major!

> Geohash encode/decode floating point problems
> ---------------------------------------------
>
>                 Key: LUCENE-1815
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1815
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: contrib/spatial
>    Affects Versions: 2.9
>            Reporter: Wouter Heijke
>            Priority: Minor
>
> i'm finding the Geohash support in the spatial package to be rather unreliable.
> Here is the outcome of a test that encodes/decodes the same lat/lon and geohash a few times.
> the format:
> action geohash=(latitude, longitude)
> the result:
> encode u173zq37x014=(52.3738007,4.8909347)
> decode u173zq37x014=(52.373799999999996,4.890934)
> encode u173zq37rpbw=(52.373799999999996,4.890934)
> decode u173zq37rpbw=(52.373799999999996,4.8909329999999995)
> encode u173zq37qzzy=(52.373799999999996,4.8909329999999995)
> if I now change to the google code implementation:
> encode u173zq37x014=(52.3738007,4.8909347)
> decode u173zq37x014=(52.37380061298609,4.890934377908707)
> encode u173zq37x014=(52.37380061298609,4.890934377908707)
> decode u173zq37x014=(52.37380061298609,4.890934377908707)
> encode u173zq37x014=(52.37380061298609,4.890934377908707)
> Note the differences between the geohashes in both situations and the lat/lon's!
> Now things get worse if you work on low-precision geohashes:
> decode u173=(52.0,4.0)
> encode u14zg429yy84=(52.0,4.0)
> decode u14zg429yy84=(52.0,3.999999)
> encode u14zg429ywx6=(52.0,3.999999)
> and google:
> decode u173=(52.20703125,4.5703125)
> encode u17300000000=(52.20703125,4.5703125)
> decode u17300000000=(52.20703125,4.5703125)
> encode u17300000000=(52.20703125,4.5703125)
> We are using geohashes extensively and will now use the google code version unfortunately.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Re: [jira] Updated: (LUCENE-1815) Geohash encode/decode floating point problems

Posted by Mark Miller <ma...@gmail.com>.
I wish JIRA wouldn't default to major - it would make those tags much
more useful.

Simon Willnauer (JIRA) wrote:
>      [ https://issues.apache.org/jira/browse/LUCENE-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>
> Simon Willnauer updated LUCENE-1815:
> ------------------------------------
>
>     Priority: Minor  (was: Major)
>
> I don't think this shouldn't be major!
>
>   
>> Geohash encode/decode floating point problems
>> ---------------------------------------------
>>
>>                 Key: LUCENE-1815
>>                 URL: https://issues.apache.org/jira/browse/LUCENE-1815
>>             Project: Lucene - Java
>>          Issue Type: Bug
>>          Components: contrib/spatial
>>    Affects Versions: 2.9
>>            Reporter: Wouter Heijke
>>            Priority: Minor
>>
>> i'm finding the Geohash support in the spatial package to be rather unreliable.
>> Here is the outcome of a test that encodes/decodes the same lat/lon and geohash a few times.
>> the format:
>> action geohash=(latitude, longitude)
>> the result:
>> encode u173zq37x014=(52.3738007,4.8909347)
>> decode u173zq37x014=(52.373799999999996,4.890934)
>> encode u173zq37rpbw=(52.373799999999996,4.890934)
>> decode u173zq37rpbw=(52.373799999999996,4.8909329999999995)
>> encode u173zq37qzzy=(52.373799999999996,4.8909329999999995)
>> if I now change to the google code implementation:
>> encode u173zq37x014=(52.3738007,4.8909347)
>> decode u173zq37x014=(52.37380061298609,4.890934377908707)
>> encode u173zq37x014=(52.37380061298609,4.890934377908707)
>> decode u173zq37x014=(52.37380061298609,4.890934377908707)
>> encode u173zq37x014=(52.37380061298609,4.890934377908707)
>> Note the differences between the geohashes in both situations and the lat/lon's!
>> Now things get worse if you work on low-precision geohashes:
>> decode u173=(52.0,4.0)
>> encode u14zg429yy84=(52.0,4.0)
>> decode u14zg429yy84=(52.0,3.999999)
>> encode u14zg429ywx6=(52.0,3.999999)
>> and google:
>> decode u173=(52.20703125,4.5703125)
>> encode u17300000000=(52.20703125,4.5703125)
>> decode u17300000000=(52.20703125,4.5703125)
>> encode u17300000000=(52.20703125,4.5703125)
>> We are using geohashes extensively and will now use the google code version unfortunately.
>>     
>
>   


-- 
- Mark

http://www.lucidimagination.com




---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org