[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