Hi Christian,

1. your exception looks weird. I'm using the library with this kind of
class:
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class User {

        @PrimaryKey
        @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
        private Key key;

        @Persistent
        private List<String> geocells;
}
... and it works well.

2. the min/max resolution of cells may be changed if you pass a
CostFunction as parameter (it tells the algorithm when searching for
bigger cells: when the cost raises, it stops). Also, since I did the
java portage of python Geomodel library, I'd be interested in the
"false positives" cells you get. Can you give me an example of input
that fails?

3. Your query in the example seems to be wrong, you're declaring
"geocellsP" as a parameter, but it does not exist in the request.

I've recently updated the library (and added the proximity fetch
search). Please post an issue if something does not look ok.

++
Alex

On Mar 1, 8:09 pm, Torquester <[email protected]> wrote:
> I tried out the Java Geomodelhttp://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