On Tue, Sep 9, 2008 at 8:57 AM, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > I've got a better solution than geohashing. > > I break down the grid into sub-degree squares by truncating after the > first decimal point, and then when I save something that I need to > find on the map later, I save metadata with that point indicating the > surrounding grid squares. > > So if I have a point with long -122.123123123 and lat 35.56565, that's > in a grid square called -122.1x35.5, and it's surrounded as follows: > > [-122.2x35.6][-122.1x35.6][-122.0x35.6] > [-122.2x35.5][-122.1x35.5][-122.0x35.5] > [-122.2x35.4][-122.1x35.4][-122.0x35.4] > > Those are all represented in my object as a list > (db.StringListProperty, so you have to do the right permutations to > make them into strings), and because of the way lists work, if a point > that you're searching on is in any of the grid squares associated with > a saved point, that saved point will come up. > > To wit, if you have saved that above point, and someone comes in > searching on an address that corresponds to LONG -122.0857 LAT > 35.69999, that corresponds to grid square '-122.0x35.6', which is in > your upper right hand corner. Thus, if you search for something like: > > square = '-122.0x35.6' > points = (SELECT * FROM Locations WHERE gridList=:1", square) > > ...you'll find that the original point we saved above will return. > > It's all about metadata. Don't think in terms of inequalities and > boundary conditions, think in terms of inclusive ranges. > > Best, > > Ben
Interesting, basically a different approach to geohash (I believe). However... how does your solution deal with zoom ranges? Best, Jose --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---
