[mapserver-users] MapServer and 24bit Images
Brent Fraser
bfraser at geoanalytic.com
Wed Dec 5 07:03:30 PST 2012
Jukka,
Strange. When I reviewed the source code it looked like Mapserver
would refused to classify any 24/32 bit image; I must have missed
something. So I tried your mapfile with shp2img v6.0.0 on a 24bit
image and it worked! Then I added
PROCESSING "BANDS=1,2,3"
and it *crashed*. Turning on debugging showed:
msLoadMap(): 0.000s
msDrawMap(): rendering using outputformat named png24 (AGG/PNG).
msDrawMap(): WMS/WFS set-up and query, 0.000s
msDrawRasterLayerLow(classified): entering.
msDrawRasterLayerGDAL(): Entering transform.
msDrawRasterLayerGDAL(): src=0,0,5300,5430, dst=107,0,585,599
msDrawRasterLayerGDAL(): source raster PL (-6.077,-4.533) for dst PL
(107,0).
msDrawRasterLayerGDAL(): red,green,blue,alpha bands = *1,2,3,0*
drawGDAL(): Unable to access file. Attempt to classify 24bit image, this
is unsupported.
msDrawMap(): Image handling error. Failed to draw layer named 'classified'.
<*crash*>
Without the PROCESSING directive, I get:
msLoadMap(): 0.000s
msDrawMap(): rendering using outputformat named png24 (AGG/PNG).
msDrawMap(): WMS/WFS set-up and query, 0.000s
msDrawRasterLayerLow(classified): entering.
msDrawRasterLayerGDAL(): Entering transform.
msDrawRasterLayerGDAL(): src=0,0,5300,5430, dst=107,0,585,599
msDrawRasterLayerGDAL(): source raster PL (-6.077,-4.533) for dst PL
(107,0).
msDrawRasterLayerGDAL(): red,green,blue,alpha bands = *1,0,0,0*
msDrawMap(): Layer 0 (classified), 0.187s
msDrawMap(): Drawing Label Cache, 0.000s
msDrawMap() total time: 0.187s
msSaveImage(test.png) total time: 0.125s
msFreeMap(): freeing map at 00BBC4A8.
freeLayer(): freeing layer at 00BBF9B0.
shp2img total time: 0.312s
The line
msDrawRasterLayerGDAL(): red,green,blue,alpha bands = *1,0,0,0*
implies that GDAL may be using only band one to do the classification,
but maybe not (more testing required?).
Removing the EXPRESSION object shows
msDrawRasterLayerGDAL(): red,green,blue,alpha bands = 1,2,3,0
And I do get a 24 bit image for output (as expected).
FYI, here's my mapfile:
MAP
NAME 'classified'
STATUS ON
EXTENT -5009377.086 10752549.183 392.653 15885200.067
SIZE 800 600
IMAGETYPE "png24"
OUTPUTFORMAT # Parameter Output
NAME png24
DRIVER "AGG/PNG"
MIMETYPE "image/png"
EXTENSION PNG
IMAGEMODE RGBA
TRANSPARENT ON
END # end of parameter Output
LAYER NAME "classified"
DATA "Arctic_terra.250m.tif"
DEBUG 5
TYPE raster
STATUS default
# PROCESSING "NODATA=0"
# PROCESSING "SCALE=AUTO"
# PROCESSING "BANDS=1,2,3"
# PROCESSING "DITHER=YES"
CLASS NAME "test"
# EXPRESSION ([pixel] > 100 AND [pixel] < 250)
EXPRESSION ([red] > 100 AND [green] > 100 AND [blue] > 100)
STYLE
COLOR 0 255 0
END #Style
END # Class
END # Layer
END # Map
Best Regards,
Brent Fraser
On 12/5/2012 2:27 AM, Rahkonen Jukka wrote:
> Hi,
>
> You should try to give more exact description about your problem. By reading several mails which you have sent to MS4W list I believe that you are still talking about the same images. That is 3-band, 8 bits per band images stored into database as PostGIS raster and which you have tried to classify into classes with something like this
>
> CLASS # beginning of the class parameter
> NAME "Very Low"
> EXPRESSION ([pixel] > 0 AND [pixel] < 47)
> STYLE
> COLOR 243 231 172
> END # end style for class
> END # end class for class very Low
>
> I had a try with some png file I found from my machine by using this in the mapfile
>
> LAYER
> NAME "classified"
> DATA "C:\ms4w\apps\data\8000000.png"
> debug 10
> TYPE RASTER
> STATUS ON
> PROJECTION
> "init=epsg:3067"
> END
> CLASS
> NAME "test"
> EXPRESSION ([pixel] > 100 AND [pixel] < 250)
> # EXPRESSION ([red] > 100 AND [green] > 100 AND [blue] > 100)
> STYLE
> COLOR 0 255 0
> END
> END
> END
>
> Both expressions work so Mapserver does support classification of 3-band, 8 bits per band png images.
> Try you to convert your raster from the database into image file and repeat your test. It if works from a file but not from PostGIS raster then you know that the issue is somewhere in PostGIS raster handling.
>
> -Jukka Rahkonen-
>
>
>
>> -----Alkuperäinen viesti-----
>> Lähettäjä: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-
>> users-bounces at lists.osgeo.org] Puolesta Lime, Steve D (DNR)
>> Lähetetty: 4. joulukuuta 2012 21:26
>> Vastaanottaja: Saint; mapserver-users at lists.osgeo.org
>> Aihe: Re: [mapserver-users] MapServer and 24bit Images
>>
>> I display true-color imagery all the time. I suspect that's not what you're
>> trying to do though. You'll have to be more specific on format, perhaps post a
>> layer definition?
>>
>> Steve
>>
>> -----Original Message-----
>> From: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users-
>> bounces at lists.osgeo.org] On Behalf Of Saint
>> Sent: Monday, December 03, 2012 10:06 AM
>> To: mapserver-users at lists.osgeo.org
>> Subject: [mapserver-users] MapServer and 24bit Images
>>
>> Dear all,
>>
>> I would like to have this confirmation, MapServer support 24bit image with 3
>> bands? I have one 24bit image 1 band and I can see in the browser but the
>> other with 3 bands I can't. Only appear the the outline line of the class e not
>> the image.
>>
>> Many thanks
>> José Santos
>>
>>
>>
>> -----
>> José Santos
>> GIS Analyst
>> --
>> View this message in context: http://osgeo-
>> org.1560.n6.nabble.com/MapServer-and-24bit-Images-tp5020409.html
>> Sent from the Mapserver - User mailing list archive at Nabble.com.
>> _______________________________________________
>> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20121205/18ccdab3/attachment.htm>
More information about the MapServer-users
mailing list