I tried out the Java Geomodel http://code.google.com/p/javageomodel/

The query used in the example provided on the project page seems
strange to me. The example uses a List<String> parameter (containing
the cells of the bounding box) and passes it to a query which filters
the List<String> (geocells) property of the entity class. When I
execute that query I get following error: Collection parameters are
only supported when filtering on primary key.

Is it possible to have a query in appengine where the entity has a
List<String> property (which is not a primary key) and you want to
know if that property contains one of the values provided by a second
List<String>?


I'm also wondering if the resolution of the cells can be changed. The
results I get are inaccurate (I'm getting some false positives when I
do a bounding box search).


class GeoObject {
  @Persistent
  List<String> geocells;
  ...
}

// Transform this to a bounding box
BoundingBox bb = new BoundingBox(latNE, lonNE, latSW, lonSW);

// Calculate the geocells list to be used in the queries (optimize
list of cells that complete the given bounding box)
List<String> cells = Geocell.best_bbox_search_cells(bb, null);
// In Google App Engine, you'll have something like below. In
hibernate (or whatever else), it might be a little bit different.
String queryString = "select from GeoObject where
geocellsParameter.contains(geocells)";
Query query = pm.newQuery(query);
query.declareParameters("String geocellsParameter");
query.declareParameters("String geocellsP");
List<GeoObject> objects = (List<GeoObject>) query.execute(cells);



On Feb 8, 11:24 pm, "Ikai L (Google)" <[email protected]> wrote:
> Looks like someone ported the Python code to Java for GeoHash:
>
> http://stackoverflow.com/questions/2060219/google-app-engine-geohashing
>
> Also seems like a pretty good explanation of GeoHashing in general.
>
>
>
>
>
> On Thu, Feb 4, 2010 at 10:16 AM, mianor <[email protected]> wrote:
> > Hi,
>
> > I am trying to implement geolocation search with GAE in Java using
> > GeoPt.
> > But due to restrictions on Datastore, bounding box queries are also
> > not supported in App Engine because there need to be two inequalities
> > on two independent properties (latitude and longitude).
>
> > There seems to be a solution with Geohash but every thing I found is
> > based on GAE Python. Is there anything based on Java or can I use
> > Geomodel (http://code.google.com/p/geomodel/) from Python in my Java
> > applications?
>
> > Thanks for your help!
>
> > Romain
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine for Java" group.
> > To post to this group, send email to
> > [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<google-appengine-java%2b­[email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine-java?hl=en.
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App 
> Enginehttp://googleappengine.blogspot.com|http://twitter.com/app_engine

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" 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-java?hl=en.

Reply via email to