You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by Norman Barker <no...@gmail.com> on 2011/07/17 02:12:19 UTC

Re: MapServer and CouchDB

Hi,

sorry for the delay on this, initial implementation here

https://github.com/normanb/couchmaps

and a couple of changes to mapserv.c (but minor)

https://github.com/normanb/mapserver/tree/master/mapserver

I will add some docs, readmes and simple tutorials some time next
week, hopefully for the geo-meetup in San Francisco the following week
for those that are interested, but if you know mapserver and couchdb
then it is relatively simple to get going.

The couchdb update hander will take an existing MapServer mapfile,
split it on carriage returns (so 'PUT' using --data-binary when using
Curl) and transform this into a JSON document that is stored inside
CouchDB.

Eventually I would like to use

http://www.gdal.org/ogr/drv_couchdb.html

as a MapServer data source.

I chickened out and opted to use pattern matching for mapfiles rather
than neotoma, pattern matching worked ok though.

thanks,

Norman



On Wed, Jun 29, 2011 at 10:30 PM, Chris Anderson <jc...@apache.org> wrote:
> Norman,
>
> I'd suggest looking at Paul Davis's write up of the externals API. It
> is designed to do 2 things well:
>
> * keep a background process alive, usually an HTTP server
> * proxy requests to that HTTP server
>
> http://davispj.com/2010/09/26/new-couchdb-externals-api.html
>
> I'm not sure if you'd be able to build your Map Server using exactly
> these APIs, but if you can you'll gain the benefits of less custom
> code. Or at least it may provide inspiration for how to integrate.
>
> Chris
>
>
> On Tue, Jun 28, 2011 at 11:51 AM, Norman Barker <no...@gmail.com> wrote:
>> Hi,
>>
>> I am planning to wrap MapServer as a supervised process within CouchDB
>> using Erlang. MapServer is a CGI application, it should be
>> straightforward. The aim will be to store the MapServer map files
>> (just text docs) that can passed in with every CGI call as JSON docs
>> within CouchDB. The hook will be be register MapServer as an external
>> process within CouchDB.
>>
>> If someone has already thought of this then let me know, I see GDAL
>> has support for CouchDB as a client driver (using http though) so
>> serving geojson through MapServer WFS or rendering over WMS should be
>> possible.
>>
>> Let me know if you are interested, I should have some available for
>> review middle of next week, I am just sounding out for now.
>>
>> The Erlang method of communication to C/C++ over stdio fits (in my
>> mind) perfectly with the existing MapServer CGI model. GeoCouch can
>> then be a supported backend of MapServer.
>>
>> cc'd Frank and Even rather than cross-posting as they seem to have
>> some couch interest.
>>
>> thanks,
>>
>> Norman
>>
>
>
>
> --
> Chris Anderson
> http://jchrisa.net
> http://couchbase.com
>