WMS Raster Layer service

Ganesh P ganny_3 at REDIFFMAIL.COM
Thu Jan 13 22:04:09 EST 2005


Hello Everyone

First of all, Thank you very much Steve and Brent for your immediate responses. I apologize for the late reply as i was away for a couple of days. 

Now, i get the point that all the raster layers can be indexed together using GDALTINDEX and using TILEINDEX in the Map file layer. I did the GDALTINDEX on all our raster layers using : 

gdaltindex sample.shp /usr/images/*.tif

It didnot give any errors and created a shape file. I checked the dbf file, and it contains a list of all the raster files. I added a new layer to my map file using the following :
 
Layer
      Name "Mosaic"
      Type Raster
      status default
      Tileindex "/var/www/map/sample.shp"
      Tileitem "Location"
End

But, when i enable the layer, it gives me a blank image. I think Mapserver is ignoring this layer. Not sure if i am making a mistake in the layer definition or GDALTINDEX input (with raster images).
 
Regarding the raster images we have, some cover same area and some cover different area with overlaps, and different acquisition dates. Some images have 1 band, some have 3 and some have 7 bands. Also, the images have different projections (UTM 13, 14, 15, 16, ....) and are obtained from different sensors. 

As a whole the images have different coverages, dates, number of bands and projections. I have a doubt if this is causing the problem. If this is the case, then please suggest me how do i classify my raster images, is it done based on their projection or coverage or number of bands (to run separately on GDALTINDEX)? 
After grouping the raster images based on some criteria, i have to run GDALTINDEX on each group and add different layers in the map file, is that Correct ?           

I really appreciate any information you provide. 

Thanks
Ganesh

---------------------------------------------------------------------
On Tue, 11 Jan 2005 Stephen Woodbridge wrote :
>Typically, most mapfiles serving images use a tileindex so that the images are automatically seamed together. if you have more than one set of rasters like a color set, a mono set, or other dated sets, then each set is put in a separate tileindex and is a separate layer, then you can just turn on the layer and it will show correcly. You don't have to use mapscript to change the data source.
>
>If you do this, then the wms works the same way and you never need to edit the data source for the layer, it just works. Also you don't need to maintain a database either.
>
>You might already know this, and have implemented your scheme for other reasons, but it just seems like what you are trying to do is already implemented in mapserver and is simpler to do than reimplementing wms requests on top of mapserver that already supports this.
>
>My good friend, Ed at Topozone has over 250,000 geotiff that he is serving with mapserver in this way. :)
>
>-Steve

---------------------------------------------------------------------
>Ganesh,

> In general the answer is to use a TILEINDEX layer.  Use a TILEINDEX layer
if you have a set of rasters each covering a separate area but form a single
logical layer (USGS 1:250k topos for example).  With a TILEINDEX Mapserver
will automatically select the rasters covering the current map extent as the
user pans and zooms.

>If your rasters cover the same area but represent different times (e.g.
satellite images of Minot from 2000 to 2004), things are more complicated
when it comes to WMS.  In your original email you mentioned "the most recent
image" so I wasn't sure how important time was in your implementation...

>Brent Fraser
>bfraser at geoanalytic.com

---------------------------------------------------------------------

>Ganesh P wrote:
>>Hello everyone,
>>
>>We have been successfully using Mapserver(PHP/Mapscript) for WMS client and Server and everything is working fine. Thanks to all the MapServer Developers and Users. Currently, we are using WMS server to deliver vector layers as PNG images. Now, we are planning to extend the server functionality by delivering Raster layers(GeoTiff) as PNG images.
>>Currently, in our system we have around 600 geotiff images. In our standalone system, We search the database everytime with the current map extent and display a list of images covering the current extent. When the user selects an image, that image will be displayed on the map window. This is how we implemented our system. The map file contains a raster layer with DATA field set dynamically (using PHP/Mapscript) with the image name. We would like to do the same for WMS server, that is, when the client requests a raster layer using a bounding box in the URL, the most recent image which covers the requested bounding box should be searched in the database and returned to the client as PNG.
>>
>>My concerns are:
>>
>>1. How do we set the raster layer in map file for WMS server and dynamically fill in the DATA field with the exact image name (out of 600 images) covering the bounding box?
>>
>>2. Can we use Mapserver to do this, or do we have to write a custom program to read the WMS client's URL, manually search the database, Cut the image for the requested bounding box, convert the image into PNG and send it to the client ?
>>
>>Any suggestions or information is greatly appreciated.
>>Thank You very much in advance.
>>
>>Regards
>>
>>Ganesh Pulicherla
>>Digital-NGP Developer
>>Upper Midwest Aerospace Consortium
>>University of North Dakota
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapserver-users/attachments/20050114/83372267/attachment.html


More information about the mapserver-users mailing list