Can anybody suggest an elegant, robust method for finding the intersection of two com.google.appengine.api.datastore.Query.GeoRegion.Rectangle objects? Current thinking is to re-implement java.awt.geom.Rectangle2D.intersect().
Related
I'm searching for the best possible cloud based database solution, which can be accessed via Matlab. In the best case I could store higher level variables, e.g., cells and query items within them with a fuzzy search. Maybe there is the possibility to query such a DB with python code from Matlab?
MongoDB and Cassandra can be accessed via the DB toolbox of Matlab but don't allow for querying within container variables as far as I know. DynamoDB and DocumentDB can't store such variables as far as I know. There also maybe a go-to solution that I dont know about or just couldn't think of myself.
(Also the pricing isn't very transparent as well)
Maybe someone has an idea or experience with this kind of problem?
Thank you very much in advance,
Leo
I want to use, objectify for spatial search. I have entities that have longitude and latitude associated with them. Latitude and longitude information is dynamic e.g. service providers (like electrician, carpenter) in a city. I want to implement a query that gives me service providers providing some specific service in 1 Km radius. Searching on google reveals following options
Use Objectify with geohashes - Not sure, how accurate and scalable this solution is
Use Google Search - It will need entities(or part of it) duplicated in the form of documents and Will it be able to support dynamically updated locations.
Use other database like mongodb
Assuming few millions entities and latitude/longitude dynamically updated, please suggest me an appropriate option.
thanks
Ittium
I've used geohashes. It works, although you end up selecting more data than the exact bounds you are looking for and then filtering out the extra. This might or might not be a good solution depending on your specific application. It requires writing more code but has fewer moving parts (all in the datastore).
Google search and "other database" are basically the same architectural pattern - use the task queue to replicate updates to an external index. If you want a quick solution, the search service is probably is the easiest to wrap your head around.
Just pick one solution and run with it for a while. You can always reindex the data into a different solution.
It really depends on your query rate but I usually prefer to use google search. Building and maintaining docs is pretty simple and you get a different quota to handle this queries.
I have a datastore with lots of entities. I want to implement a search functionality that will return me results from the the datastore. I understand that I have to use https://cloud.google.com/appengine/docs/java/search/. Can someone please suggest me the best approach to do this?
Is it possible to store arraylists within arraylists in the AppEngine datastore? I found this topic from 2010: Datastore list of lists that recommends using pickle, but I'd like to use as few packages as possible.
Have there been any updates on AppEngine's datastore that would allow this?
Our arraylist inside arraylist has 5 or so layers, if that is important.
Thanks.
No, nothing has been added that would specifically make this any easier. I think that my advice in the question that you cited still stands.
I am trying to build a store locator type of application that will automatically display the nearby stores on Google Map as markers. Because the limitation of GQL, traditional way of doing geo query is not possible. I came across three options and want to ask if anyone had any experience with them and which one works better. Thanks!
Geomodel
Mutiny project
Geodatastore
I don't have any experience doing geo queries, but it is always helpful to use the activity meters that Google Code has.
At a glance it looks like the first one is your best bet.
The Search API now supports Geosearch.
It can retrieve results within a given radius and sort them by distance, so it should work for what you want to do.