[mapserver-users] How to serve individual RAW binary Bands fromWCSas floating point geotiff

Rahkonen Jukka Jukka.Rahkonen at mmmtike.fi
Sat Jan 30 03:34:46 PST 2010


Hi,

It was some time ago when I last used multichannel imagery in WCS and that was not RAW data, so I may give wrong information.  However, I believe that having PROCESSING "BANDS=120" in LAYER means that only band 120 will be used from the original data and your WCS service is serving out just that single band number 120. Is that your aim, or to serve all the 563 bands and let users select which ones they want to capture?  This is probably the reason for the error you had with "wcs_bandcount" '563' because actually your bandcount is 1.

There may be now some problems both with configuring input/output image formats, with the general WCS configuration and perhaps with WCS calls as well. I would recommend to forward from simple cases to more complicated.  Maybe you can test the input/output first with Mapserver CGI or WMS calls or with shp2img and continue to WCS when you know that this fundamental part is working as supposed.  Or simplify even more and rip of the band 120 from the original raw image to a single band GeoTIFF first.

-Jukka Rahkonen-

Peter Willis wrote:

 
> Hello,

> Thanks. I have the following line in the map file LAYER declaration:

> PROCESSING "BANDS=120"

> In any case, the current configuration gives me a floating point geotiff
that is all zeros. I know that band 120 of the file has non-zero double 
precision data in it.

> Maybe it's a byte ordering problem....

Peter



Lime, Steve D (DNR) wrote:
> Is this link of help?
> 
>   http://mapserver.org/input/raster.html#special-processing-directives
> 
> There's a directive to extract a single band from an n-band image...
> 
> Steve
> 
> -----Original Message-----
> From: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Peter Willis
> Sent: Friday, January 29, 2010 10:41 AM
> To: mapserver-users at lists.osgeo.org
> Subject: Re: [mapserver-users] How to serve individual RAW binary Bands fromWCS as floating point geotiff
> 
> Hello,
> 
> Interesting... The documentation indicates:
> 
> &RangeSubset=contents:nearest[Band[120]]
> 
> I tried what you suggest but continue to have the same problem.
> The mapserver *did not* complain about '&RESAMPLE=BILINEAR&Band=120'
> so I guess we can assume that those parameters work.
> 
> Peter
> 
> 
> Rahkonen Jukka wrote:
>> Hi,
>>
>> I have never used this myself: &RangeSubset=contents:nearest[Band[120]]
>> Is that WCS 1.0.0 parameter?  For selecting bands from WCS 1.0.0 service I have been using something like 
>> &RESAMPLE=BILINEAR&Band=4
>>
>> -Jukka Rahkonen-
>>
>>
>> -----Alkuperäinen viesti-----
>> Lähettäjä: mapserver-users-bounces at lists.osgeo.org puolesta: Peter Willis
>> Lähetetty: pe 29.1.2010 0:26
>> Vastaanottaja: mapserver-users at lists.osgeo.org
>> Aihe: Re: [mapserver-users] How to serve individual RAW binary Bands fromWCS as floating point geotiff
>>  
>> Hello,
>>
>> The definition of GEOTIFF_FLOAT is as follows:
>>
>> OUTPUTFORMAT
>>    NAME GEOTIFF_FLOAT
>>    DRIVER "GDAL/GTiff"
>>    MIMETYPE "application/octet-stream"
>>    IMAGEMODE FLOAT32
>> END
>>
>> I Added the MIMETYPE as shown to ensure that web browsers
>> would ask to save the file rather than just open it in an
>> image viewer from a temp file. (MS Windows...)
>>
>> That part works fine.
>>
>>
>> Mostly I am concerned with extracting a specific 'band'
>> from the multi-band file. The server serves floating point
>> geotiff just fine.
>>
>> Peter
>>
>>
>> Rahkonen Jukka wrote:
>>> Hi,
>>>
>>> How have you defined the OUTPUTFORMAT for GEOTIFF_FLOAT?
>>>
>>> -Jukka Rahkonen-
>>>
>>>
>>> Peter Willis wrote:
>>>
>>>  
>>>> Hello,
>>>> I have been setting up a WCS map file for mapserver.
>>>> PROBLEM:
>>>> Problems arise when rasters are defined
>>>> as follows:
>>> LAYER
>>>    NAME SomeDataChannel120
>>>    STATUS OFF
>>>    DEBUG ON
>>>    TYPE RASTER ### required
>>>    PROCESSING "BANDS=120"
>>>    METADATA
>>>      "wcs_label"           "Data/stuff"
>>>      "wcs_rangeset_name"   'bands'
>>>      "wcs_rangeset_label"  "Stuff thats mapped"
>>>      "ows_extent" '-135 55 -121 46'
>>>      "wcs_resolution" '0.08333333333333332 -0.083333333333333332'
>>>      "ows_srs" 'EPSG:4326'
>>>      "wcs_srs" 'EPSG:4326'
>>>      "wcs_formats" 'GEOTIFF_FLOAT,GEOTIFF_INT16'
>>>      "wcs_nativeformat" 'ENVI'
>>> #    "wcs_bandcount" '563'
>>>      "wcs_rangeset_axes" 'bands'
>>>    END
>>>    DATA /data/stuff.img
>>>    PROJECTION
>>>      "init=epsg:4623"
>>>    END
>>>    DUMP TRUE ### required
>>> END
>>>
>>>
>>> I have  'wcs_bandcount'  commented out because mapserver
>>> causes an internal error in the web server if I define the
>>> band count.
>>>
>>> I get floating point geotiff served with the following client request:
>>> http://sparky.com/cgi-bin/wcs?REQUEST=GetCoverage&SERVICE=WCS&VERSION=1.0.0&COVERAGE=SomeDataChannel120&CRS=EPSG:4326&BBOX=-135,55,-121,46&WIDTH=432&HEIGHT=216&FORMAT=GEOTIFF_FLOAT&RangeSubset=contents:nearest[Band[120]]
>>>
>>> ..however, I always only get the first band from the img file....
>>>
>>>
>>> QUESTIONS:
>>>
>>> Is there a problem with this setup?
>>>
>>> Do I need to define each band as a layer in the mapfile
>>> or will mapserver WCS allow the client to request a single
>>> channel?
>>>
>>> Thanks for any enlightenment,
>>>
>>> Peter
>> _______________________________________________
>> mapserver-users mailing list
>> mapserver-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>
>>
>>
>>
> 
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
> 
> 
> 

_______________________________________________
mapserver-users mailing list
mapserver-users at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users




More information about the MapServer-users mailing list