Is this a good use case for Geocouch


I work for a weather forecast company and would like to find out if the following use case is a good match for Geocouch system.

Most large aircraft record the current weather conditions that they are experience on their flight and transmit this data to a receiving station. This data then finds its way through the interweb to our company where we use as part of our forecasting process. This data be thought of as a document of observations that include properties for the latitude, longitude and time.

As you can imagine with every plane recording the weather every minute a considerable stream of data is produced.

We generally need to query the data based on position and time. For example we would like to get all the observations between (say) 8 and 9am within 50 miles of a particular airport. We use this data as an alternative to launching weather balloons.

Currently we are storing this data in a very expensive Oracle geospacial database and have very poor performance when querying for data. When we contacted Oracle we where told that the adding the time component to the geospatial query was causing the poor performance. I.E. It is quick to run a query to get all the observation for the entire world that occurred between 8 and 9. It is also quick to run a query to get all the observations that have ever occurred within 50 miles of an airport. But try and join the two queries into one and the system grinds to a halt.

Would it be possible to use geocouch as a replacement for Oracles gespacial toy? In particular:

Would it be possible to create a view to query “All records within a pre-set radius of a particular airport within an arbitrary time period?” - I suspect that this is possible as the view creation could emit the document only if it close enough to the airport

Would it be possible to create a view to query “All records within a arbitrary box and time period?” - The geocouch documentation indicates that you can query a bbox but what about adding the time period filter?

Would it be possible to create a view to query “All records within an arbitrary shape (specified with a list of lat/long coordinates) and time period”?

Thanks for you help


Hi Richard,

currently it’s only possible to query for a location. It’s not possible to also query the time.

This will change though. The code for multidimensional queries (location + time + whatever you want as long it’s numeric) is there. Though currently the queries are quite slow, but I’m working on it, I know the where the issues are, I “just” need to address them.

I don’t know the timeframe of your project. I personally target the end of the year to have a usable multidimensional index for Couchbase. Please note that that’s not a promise or official statement to get it done by then, it depends on many factors :slight_smile:

If you want to discuss timelines of the future developments in more details, feel free to send me an email.



@vmx: can you post here when it’s ready?


I hope I’ll remember. Don’t wait for it, it may still take some time until it’s available.