incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Damien Katz <dam...@apache.org>
Subject Re: using couchdb for 100GB geodata from openstreetmap
Date Sun, 22 Mar 2009 23:00:42 GMT
Random idea: a custom view engine for geospatial data

Store the documents like normal and have the custom engine index them  
for geospatial queries. Then you query the view engine (GET /db/_geo? 
yada=... )

-Damien

On Mar 22, 2009, at 6:54 PM, Volker Mische wrote:

> pablo platt wrote:
>> On Mon, Mar 23, 2009 at 12:32 AM, Volker Mische <volker.mische@gmail.com 
>> >wrote:
>>
>>> Hi,
>>>
>>> I'll only reply to the GeoCouch bit:
>>>
>>>> I've read about geocouch -
>>>>
>>> http://vmx.cx/cgi-bin/blog/index.cgi/geocouch-geospatial-queries-with-couchdb:2008-10-26:en,CouchDB,Python,geo
>>>> and my question is if a geo aware couchdb can be built without  
>>>> any python
>>>> and SpatiaLite code?
>>>>
>>>> If I want to be able to make proximity searches - find banks in  
>>>> 3km range
>>>> from st some-street
>>>> do I need to create some kind of index docs for the views?
>>> The problem is that proximity searches are kind of dynamic. CouchDB
>>> views are like precomputed result-sets, but you can't precompute all
>>> possible values, as the center of the search could possibly be  
>>> anywhere.
>>> Therefore you need something that makes such dynamic requests  
>>> possible.
>>>
>>> Pure CouchDB could be used if you constrain your searches. You would
>>> need to restrict to things like, a certain number for the center of
>>> searches, only a fixed number of radii, and a fixed number of  
>>> location
>>> types (like banks, restaurants etc).
>>>
>>> Cheers,
>>>  Volker
>>>
>>
>> I've asked on the #couchdb channel and got the same answer.
>>
>> The 'Name Finder' on OSM http://wiki.openstreetmap.org/index.php/Name_finder
>> divides the map to region and add a field to each element(place)  
>> indicating
>> what region it belongs.
>> When you make a search "banks near someRoad" it find in which region
>> someRoad is and find all the banks in that road.
>> So you are limited to predefined distances but the above design  
>> will work in
>> couchdb as well.
>> There is an assumption that they used this design because they used  
>> MySQL
>> but I can't verify that.
>>
>> My question is if arbitrary distances are not a requirement of my  
>> app, is it
>> better to use couchdb for storing the geodata
>> or is it better to use a spatial db like postGIS in any case.
>>
>> Thanks
>
> As much as I love CouchDB, your application sounds like a typical case
> for PostGIS. The tools to import OSM data into PostGIS are there, and
> you have a spatial index. Though you would obviously lose all the  
> other
> nice CouchDB features (like replication etc).
>
> Cheers,
>  Volker
>
>
>


Mime
View raw message