couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Volker Mische <volker.mis...@gmail.com>
Subject Re: using couchdb for 100GB geodata from openstreetmap
Date Sun, 22 Mar 2009 23:07:46 GMT
Is there a difference between a custom view engine and the approach I
try to pursue with GeoCouch? It still comes down to the fact that you
need to store the spatial information in some kind of (external) spatial
index.

Cheers,
  Volker

Damien Katz wrote:
> 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