[mapserver-users] PHP mapscript createLegendIcon doesn't follow style maxscaledenom
Moen, Paul T.
pmoen at nd.gov
Thu Mar 30 09:01:49 PDT 2017
Sorry I forgot to say that I have tried the script with the following versions with the same results.
MapServer version 7.0.3 OUTPUT=PNG OUTPUT=JPEG OUTPUT=KML SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=CAIRO SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=GEOS INPUT=JPEG INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE
MapServer version 6.4.4 OUTPUT=PNG OUTPUT=JPEG OUTPUT=KML SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=CAIRO SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=GEOS INPUT=JPEG INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE
From: mapserver-users <mapserver-users-bounces at lists.osgeo.org> on behalf of Paul Moen <pmoen at nd.gov>
Date: Thursday, March 30, 2017 at 10:45 AM
To: "mapserver-users at lists.osgeo.org" <mapserver-users at lists.osgeo.org>
Subject: [mapserver-users] PHP mapscript createLegendIcon doesn't follow style maxscaledenom
CAUTION: This email originated from an outside source. Do not click links or open attachments unless you know they are safe.
I am finding that createLegendIcon returns a different legend item than what is used in the map output when using scaledenom in the style.
Below is a test script that produces what I am talking about.
The script will create 4 images.
map_scale_873.png -> map->draw output with a 873 scaledenom
map_scale_2618.png -> map->draw with a 873 scaledenom
legimg_scale_873.png -> createLegendIcon output with a 873 scaledenom
legimg_scale_2618.png -> createLegendIcon output with a 873 scaledenom
I was expecting that the legend image at the 873 scale, legimg_scale_873.png would match the map output, map_scale_873.png. Can anyone see a problem, is this a bug, or is this expected behavior?
<?php
$mapstr = <<<EOT
MAP
NAME AERIAL
EXTENT 100 100 400 400
SIZE 100 100
UNITS FEET
LAYER
NAME 'TEST'
STATUS ON
TYPE LINE
FEATURE
WKT 'LINESTRING(250 250, 250 500, 500 500, 500 250,250 250)'
END
CLASS
NAME "Boundary"
STYLE
WIDTH 4.0
MAXWIDTH 6.0
COLOR 150 255 150
MAXSCALEDENOM 1000
END
STYLE
WIDTH 2.0
MAXWIDTH 2.0
COLOR 0 0 0
PATTERN 20.0 10.0 5.0 10.0 END
MAXSCALEDENOM 1000
END
STYLE
WIDTH 4.0
MAXWIDTH 4.0
COLOR 150 255 150
MINSCALEDENOM 1001
END
END
END
END
END
EOT;
$map = ms_newMapObjFromString($mapstr);
$map->selectOutputFormat('png');
$img=$map->draw();
$name=round($map->scaledenom);
$img->saveImage("map_scale_$name.png");
$tmpLay =$map->getLayer(0);
$tmpclass = $tmpLay->getClass(0);
$tmpImg = $tmpclass->createLegendIcon(50,50);
$tmpImg->saveImage("legimg_scale_$name.png");
$map->setextent(200,200,300,300);
$img2=$map->draw();
$name=round($map->scaledenom);
$img2->saveImage("map_scale_$name.png");
$tmpImg->saveImage("legimg_scale_$name.png");
?>
Thanks,
Paul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20170330/5d5f0808/attachment.htm>
More information about the MapServer-users
mailing list