[mapserver-users] getting corrupted png with WMS request to mapserv CGI on command line

Renzo Kottmann rkottman at mpi-bremen.de
Wed May 27 23:49:19 PDT 2015


thx Fabian,
indeed you are right. However, is this then a bug or a feature?

In any case, I thought it might be helpful to improve the documentation to
a) point out that use of OGC compliant requests is possible and b) that for
creating png it is important to remove first 3 lines.

See pull request https://github.com/mapserver/docs/pull/121 .

bests,renzo

On Wed, 27 May 2015 15:36:32 +0200, Fabian Schindler
<fabian.schindler at eox.at> wrote:
> Renzo,
> As far as I remember you have to remove the HTTP headers from the
> response (the first 2-4 lines or so) when you use mapserv -nh with OGC
> services.
> Regards,
> Fabian
> 
> On 27.05.15 13:02, Renzo Kottmann wrote:
>> nope. I tried IMAGEPATH "/tmp/" and IMAGEPATH "/tmp" both still
>> result in corrupt pngs. thx,renzo
>> 
>> On Wed, 27 May 2015 12:12:02 +0200, thomas bonfort 
>> <thomas.bonfort at gmail.com> wrote:
>>> IMAGEPATH /tmp/ should be changed to IMAGEPATH "/tmp/"
>>> 
>>> -- thomas
>>> 
>>> On 27 May 2015 at 11:47, Renzo Kottmann <rkottman at mpi-bremen.de>
>>> wrote:
>>>> Hi All,
>>>> 
>>>> I have installed mapserver 6.4.1 in a docker container based on
>>>> debian jessie (see dockerfile below)
>>>> 
>>>> If I run:
>>>> 
>>>> /usr/lib/cgi-bin/mapserv -nh
>>>> 
>>
"QUERY_STRING=EXCEPTIONS=application/vnd.ogc.se_inimage&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&map=/genes-mapserver/wms_test.map&SRS=EPSG:4326&BBOX=-180,-90,180,90&FORMAT=image/png&WIDTH=1080&HEIGHT=614&STYLES=&LAYERS=satellite_mod"
>>>>>
>> 
> /tmp/test.png
>>>> 
>>>> The png is corrupt and I can not open it with neither gimp nor
>>>> firefox.
>>>> 
>>>> 
>>>> However, I get valid pngs using the very same map file with
>>>> shp2img or mapserv -nh
>>>> 
>>
"QUERY_STRING=map=/genes-mapserver/wms_test.map&mode=map&layers=satellite_mod
>>>>
>> 
> .
>>>> 
>>>> 
>>>> Find below more details (mapserver version, exact command lines
>>>> I used and resulting debug logs, map file, and docker file)
>>>> 
>>>> 
>>>> I searched google, the mailing list archives, but nothing seems
>>>> to be similar to this problem. Therefore, any help is very much
>>>> appreciated :)
>>>> 
>>>> ciao, renzo
>>>> 
>>>> 
>>>> * Mapserver Version:
>>>> 
>>>> MapServer version 6.4.1 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG
>>>> OUTPUT=KML SUPPORTS=PROJ SUPPORTS=GD SUPPORTS=AGG
>>>> SUPPORTS=FREETYPE SUPPORTS=CAIRO SUPPORTS=SVG_SYMBOLS
>>>> SUPPORTS=RSVG SUPPORTS=ICONV SUPPORTS=FRIBIDI
>>>> SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER
>>>> SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER
>>>> SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS INPUT=JPEG
>>>> INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE
>>>> 
>>>> 
>>>> * Command lines
>>>> 
>>>> Generates valid png:
>>>> 
>>>> /usr/lib/cgi-bin/mapserv -nh
>>>> 
>>
"QUERY_STRING=map=/genes-mapserver/wms_test.map&mode=map&layers=satellite_mod"
>>>>>
>> 
> /tmp/test.png
>>>> 
>>>> shp2img --all_debug 2 -m /genes-mapserver/wms_test.map -o
>>>> /tmp/test.png
>>>> 
>>>> 
>>>> Generates invalid corrupt png:
>>>> 
>>>> /usr/lib/cgi-bin/mapserv -nh
>>>> 
>>
"QUERY_STRING=EXCEPTIONS=application/vnd.ogc.se_inimage&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&map=/genes-mapserver/wms_test.map&SRS=EPSG:4326&BBOX=-180,-90,180,90&FORMAT=image/png&WIDTH=1080&HEIGHT=614&STYLES=&LAYERS=satellite_mod"
>>>>>
>> 
> /tmp/test.png
>>>> 
>>>> 
>>>> 
>>>> * Log file (for all three runs in that order):
>>>> 
>>>> 
>>>> [Wed May 27 08:51:44 2015].475696 CGI Request 1 on process 79 
>>>> [Wed May 27 08:51:44 2015].476881 msDrawMap(): rendering using 
>>>> outputformat named png (AGG/PNG). [Wed May 27 08:51:44
>>>> 2015].476916 msDrawMap(): WMS/WFS set-up and query, 0.000s [Wed
>>>> May 27 08:51:44 2015].478222
>>>> msDrawRasterLayerLow(satellite_mod): entering. [Wed May 27
>>>> 08:51:45 2015].16608 msDrawMap(): Layer 0 (satellite_mod), 
>>>> 0.540s [Wed May 27 08:51:45 2015].16665 msDrawMap(): Drawing
>>>> Label Cache,
>> 0.000s
>>>> [Wed May 27 08:51:45 2015].16677 msDrawMap() total time:
>>>> 0.541s [Wed May 27 08:51:45 2015].38545 msSaveImage(stdout)
>>>> total time: 0.022s [Wed May 27 08:51:45 2015].38838 mapserv
>>>> request processing time (msLoadMap not incl.): 0.563s
>>>> 
>>>> [Wed May 27 08:56:29 2015].752703 msDrawMap(): rendering using 
>>>> outputformat named png (AGG/PNG). [Wed May 27 08:56:29
>>>> 2015].752820 msDrawMap(): WMS/WFS set-up and query, 0.000s [Wed
>>>> May 27 08:56:29 2015].754465
>>>> msDrawRasterLayerLow(satellite_mod): entering. [Wed May 27
>>>> 08:56:30 2015].295590 msDrawMap(): Layer 0 (satellite_mod), 
>>>> 0.543s [Wed May 27 08:56:30 2015].295664 msDrawMap(): Drawing
>>>> Label Cache, 0.000s [Wed May 27 08:56:30 2015].295684
>>>> msDrawMap() total time: 0.544s [Wed May 27 08:56:30
>>>> 2015].323794 msSaveImage(/tmp/test.png) total time: 0.028s
>>>> 
>>>> [Wed May 27 08:59:28 2015].995397 CGI Request 1 on process 82 
>>>> [Wed May 27 08:59:28 2015].995464 msWMSLoadGetMapParams():
>>>> enabling non-square pixels. [Wed May 27 08:59:28 2015].996733
>>>> msDrawMap(): kicking into non-square pixel preserving mode. 
>>>> [Wed May 27 08:59:28 2015].997595 msDrawMap(): rendering using 
>>>> outputformat named png (AGG/PNG). [Wed May 27 08:59:28
>>>> 2015].997614 msDrawMap(): WMS/WFS set-up and query, 0.000s [Wed
>>>> May 27 08:59:28 2015].998950
>>>> msDrawRasterLayerLow(satellite_mod): entering. [Wed May 27
>>>> 08:59:29 2015].651061 msDrawMap(): Layer 0 (satellite_mod), 
>>>> 0.653s [Wed May 27 08:59:29 2015].651143 msDrawMap(): Drawing
>>>> Label Cache, 0.000s [Wed May 27 08:59:29 2015].651167
>>>> msDrawMap() total time: 0.656s [Wed May 27 08:59:29
>>>> 2015].681373 msSaveImage(stdout) total time: 0.030s [Wed May 27
>>>> 08:59:29 2015].681769 mapserv request processing time 
>>>> (msLoadMap not incl.): 0.686s
>>>> 
>>>> 
>>>> * map file
>>>> 
>>>> 
>>>> MAP NAME "wms_test" STATUS ON EXTENT -180 -90 180 90 IMAGECOLOR
>>>> 210 210 210 IMAGETYPE png SIZE 1080 614 UNITS dd
>>>> 
>>>> CONFIG "MS_ERRORFILE" "/tmp/wms_test_error.txt" DEBUG 2
>>>> 
>>>> 
>>>> PROJECTION #this is WGS84 "init=epsg:4326" END
>>>> 
>>>> 
>>>> SYMBOLSET "etc/symbols.sym" FONTSET "etc/fonts/fonts.txt"
>>>> 
>>>> WEB IMAGEPATH /tmp/ IMAGEURL "/tmp/"
>>>> 
>>>> ERROR "/error.html" EMPTY "/no_result.html"
>>>> 
>>>> 
>>>> METADATA ### Enable WFS support "wms_title"           "wms
>>>> test" "wms_onlineresource"  "http://localhost/wms?" "wms_srs"
>>>> "EPSG:4326" "wms_enable_request"  "GetCapabilities GetMap
>>>> GetFeatureInfo GetLegendGraphic" "ows_enable_request"
>>>> "GetCapabilities GetMap GetFeatureInfo GetLegendGraphic" 
>>>> "ows_extent" "-180 -90 180 90" "wfs_title"           "wfs
>>>> test" #necessary for the WMS GetFeatureInfo request 
>>>> "WMS_FEATURE_INFO_MIME_TYPE" "text/html" END
>>>> 
>>>> END
>>>> 
>>>> LEGEND STATUS on KEYSIZE 10 10 LABEL SIZE 9 COLOR 0 0 0 TYPE
>>>> truetype ENCODING UTF-8 FONT sans FORCE false PARTIALS true 
>>>> POSITION AUTO END TEMPLATE "template/legend.html" # HTML
>>>> template file END
>>>> 
>>>> LAYER NAME satellite_mod
>>>> 
>>>> METADATA "wms_title"     "World Map Lite" "unit"
>>>> "false" END #end of wms metadata
>>>> 
>>>> DATA data/satelliteMod.png TYPE RASTER STATUS ON END #map end 
>>>> END
>>>> 
>>>> 
>>>> * Dockerfile
>>>> 
>>>> FROM debian:jessie
>>>> 
>>>> ENV GMS_DIR=/genes-mapserver ENV LANG C.UTF-8
>>>> 
>>>> # Update and upgrade system RUN apt-get -qq update
>>>> --fix-missing && \ apt-get install -y cgi-mapserver
>>>> mapserver-bin
>>>> 
>>>> 
>>>> RUN mkdir ${GMS_DIR}
>>>> 
>>>> VOLUME ${GMS_DIR}
>>>> 
>>>> ENTRYPOINT ["/usr/lib/cgi-bin/mapserv"]
>>>> 
>>>> 
>>>> The actual tests are done within the container by:
>>>> 
>>>> sudo docker run -v ~/src/genes-mapserver/:/genes-mapserver
>>>> --rm --entrypoint=/bin/bash -ti renzok/mapserver-cgi
>>>> 
>>>> 
>>>> thanks for reading :) 
>>>> _______________________________________________ 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

-- 
Renzo Kottmann PhD
Max Planck Institute for Marine Microbiology
Microbial Genomics and Bioinformatics Research Group
Celsiusstr. 1
28359 Bremen
Germany
Phone: +49 421 2028 974


More information about the mapserver-users mailing list