[gdal-dev] [Fwd: [mapserver-dev] pre-RFC - Add an HTTP request data provider to mapserver]

Stephen Woodbridge woodbri at swoodbridge.com
Wed Jul 28 16:18:26 EDT 2010


Hi devs,

I posted this on the mapserver the list and the general response was 
can't this be done with OGR?

Can OGR consume issue and consume some kind of HTTP GET request? How?
Would it make sense to extend the file read capability to be able to 
URL? Would it then be easy to template the URL in a mapserver layer?

I can probably get some funding for this if someone is interested and 
has time to make something happen relatively quickly.

Please contact me.

-Steve W

-------- Original Message --------
Subject: [mapserver-dev] pre-RFC - Add an HTTP request data provider to 
mapserver
Date: Tue, 27 Jul 2010 16:13:38 -0400
From: Stephen Woodbridge <woodbri at swoodbridge.com>
To: mapserver-dev <mapserver-dev at lists.osgeo.org>

Hi Mapserver Devs,

I am interested in getting input and interest in doing some possibly or
partially funded development of the following.

USE CASE:

User has spatial data stored in a proprietary system, database, search
engine, whatever. They want to pull that data into mapserver for
rendering, querying, etc like any other data layer. They can access that
data via PHP and possibly other tools. They would like to have a generic
HTTP data provider LAYER added to mapserver where mapserver would make
URL requests based on some defined template URL and the URL would return
data in some  well know format like GeoJSON, GPX, KML, others.

The LAYER definition would look something like:

LAYER
   NAME "mylines"
   CONNECTIONTYPE HTTP
   CONNECTIONFORMAT GEOJSON|GPX|KML|...
   DATA "http://localhost/mydata.php"
   TYPE LINE
   ...
END

or maybe:

LAYER
   NAME "mylines"
   CONNECTIONTYPE HTTP/(GEOJSON|GPX|KML|...)
   DATA "http://localhost/mydata.php[?optional=user_args&...]"
   TYPE LINE
   ...
END

Mapserver would add well defined arguments to the URL like:

MODE=render|query|etc      - might be needed to set context of request
BBOX=xmin,ymin,xmax,ymax   - area of interest
FILTER=...                 - this could be a filter string of some kind
ATTRS=gid,color,name,...   - list of expected/required? attributes
TYPE=POINT|LINE|POLYGON    - type of spatial data expected
FORMAT=GEOJSON|GPX|KML|... - format to respond in
...                        - others as required


The idea here is to forward the data request to the URL and it would
validate the request and throw an error or handle the request and return
the results as expected. Mapserver would then handle this like any other
LAYER.

BENEFITS:

In general this opens up mapserver to easily be glued into any data
source by writing an small external adapter in PHP, Perl or anything
thing that can be queried via a URL that can conform to whatever
protocol we require for mapserver.

Much of the code already exists in mapserver for this, it is just
getting reused as a new data provider.

ISSUES:

Other than the fact this this will not be the fastest data provider
available, I can not think of any major one.

FUNDING:

I may be able to get some funding for this if we can get it into 6.0 and
back ported to 5.6 even if it is not released on 5.6. Please contact me
off list if you are interested in developing this. Currently on one
format would need to be supported.

COMMENTS:

Please toss in your 2 cents on this. Raise issues, etc. The idea is to
make this GENERIC so it can by used by anyone.
_______________________________________________
mapserver-dev mailing list
mapserver-dev at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-dev


More information about the gdal-dev mailing list