Hi readyassist,

Thank you for your post.
Trying to understant your algorithm, It seems to me that given a
bounding box defined by to points SW and NE, your heuristic can also
retrieve points outside the box, ?
If I understand what you say, you defined a sort of "grid" surrounding
each recorded points. Then, with inclusion process of lists, you can
tell whether a grid of a point is located in the grid of another
point ?

With this process you cannot deal with overlapping grids of points
which could be "relatively" far from each other, can you ?

Or I might be copletely wrong also ;-)

Regards,

Pierre

On Sep 9, 8:58 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,
>
> On Sep 3, 1:23 pm, Pierre <[EMAIL PROTECTED]> wrote:
>
> > Hi,
>
> > I need to find points (lat/lng) within a certain bounding box. To do
> > so, I triedGeohashpython implementation (http://mappinghacks.com/
> > code/geohash.py.txt).
>
> > Problem's data is :
> > - I have 2 points (South west SW corner / North east NE corner)
> > describing a geographic Bounding box
> > - I have a model (let's call it 'Poi') having a field "geohash" of
> > type Db.StringProperty + Lat and Lng field (Float)
>
> > Question is : How on earth (lol :-) ) can I find all Poi within my
> > bounding box ?
>
> > I've already tried something like :
>
> > CreateGeohashfor SW, createGeohashfor NE and do something like :
>
> > "SELECT * FROM Poi WHEREgeohash>:1 andgeohash<= :2,geohash(SW),geohash(NE)"
>
> > Also tried with geoindex, at different depth but all this fails and
> > still give points not located within Bounding box.
> > Also tried like describe in "http://labs.metacarta.com/blog/27.entry/
> > geographic-queries-on-google-app-engine/" to create a small
> > surrounding box for each Poi and then create ageohashfor this
> > specific bounding box to be in between my SW->NE bounding box....
>
> > Nothing is working even with "not worst case" (I mean equatorial
> > problem...) case/
>
> > Any help will be greatly appreciated.
>
> > Thanks all,
>
> > Pierre
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to