shp2img

Purpose

Creates a map image from a mapfile. Output is either PNG or GIF depending on what version of the GD library is used. This is a useful utility to test your mapfile. You can simply provide the path to your mapfile and the name of an output image, and an image should be returned. If an image cannot be created an error will be displayed at the command line that should refer to a line number in the mapfile.

Syntax

shp2img -m mapfile [-o image] [-e minx miny maxx maxy] [-s sizex sizey]
       [-l "layer1 [layers2...]"] [-i format]
       [-all_debug n] [-map_debug n] [-layer_debug n] [-p n] [-c n] [-d
      layername datavalue]
-m mapfile: Map file to operate on - required
-i format: Override the IMAGETYPE value to pick output format
-o image: output filename (stdout if not provided)
-e minx miny maxx maxy: extents to render
-s sizex sizey: output image size
-l layers: layers to enable - make sure they are quoted and space separated
   if more than one listed
-all_debug n: Set debug level for map and all layers
-map_debug n: Set map debug level
-layer_debug layer_name n: Set layer debug level
-c n: draw map n number of times
-p n: pause for n seconds after reading the map
-d layername datavalue: change DATA value for layer

Example #1

shp2img -m vector_blank.map -o test.png
Result
A file named ‘test.png’ is created, that you can drag into your browser to view.

Example #2

shp2img -m gmap75.map -o test2.png -map_debug 3
Result
A file named ‘test2.png’ is created, and layer draw speeds are returned such as:
msDrawRasterLayerLow(bathymetry): entering
msDrawMap(): Layer 0 (bathymetry), 0.601s
msDrawMap(): Layer 3 (drain_fn), 0.200s
msDrawMap(): Layer 4 (drainage), 0.300s
msDrawMap(): Layer 5 (prov_bound), 0.191s
msDrawMap(): Layer 6 (fedlimit), 0.030s
msDrawMap(): Layer 9 (popplace), 0.080s
msDrawMap(): Drawing Label Cache, 0.300s
msDrawMap() total time: 1.702s
msSaveImage() total time: 0.040s

Example #3

shp2img -m gmap75.map -o test3.png -all_debug 3
Result
A file named ‘test3.png’ is created, layer draw speeds are returned, and some warnings that index qix files are not found, such as:
msLoadMap(): 0.671s
msDrawRasterLayerLow(bathymetry): entering.
msDrawGDAL(): src=72,417,3077,2308, dst=0,0,400,300
msDrawGDAL(): red,green,blue,alpha bands = 1,0,0,0
msDrawMap(): Layer 0 (bathymetry), 0.090s
msSearchDiskTree(): Search returned no results. Unable to open spatial index
for D:\ms4w\apps\gmap\htdocs/.\../data/drain_fn.qix. In most cases you can
safely ignore this message, otherwise check file names and permissions.
msDrawMap(): Layer 3 (drain_fn), 0.010s
msDrawMap(): Layer 4 (drainage), 0.050s
msSearchDiskTree(): Search returned no results. Unable to open spatial index
for D:\ms4w\apps\gmap\htdocs/.\../data/province.qix. In most cases you can
safely ignore this message, otherwise check file names and permissions.
msDrawMap(): Layer 5 (prov_bound), 0.030s
msSearchDiskTree(): Search returned no results. Unable to open spatial index
for D:\ms4w\apps\gmap\htdocs/.\../data/fedlimit.qix. In most cases you can
safely ignore this message, otherwise check file names and permissions.
msDrawMap(): Layer 6 (fedlimit), 0.010s
msDrawMap(): Layer 9 (popplace), 0.010s
msDrawMap(): Drawing Label Cache, 0.201s
msDrawMap() total time: 0.401s
msSaveImage() total time: 0.010s
shp2img total time: 1.082s