MAP Object

MAP 对应是 MapFile 中的“root”对应,它包含其他所有的对象,它是应用级 MAP 级的参数。

在第一部分的部分列出的是一些通用的参数,详细的参数在稍后的部分讲解。

一般参数说明

常用 Map 设置

  1. NAME:生成Map 、Scale bar 和 GIF 图例文件文件名的前缀,应尽量短。取值:[name] .
  2. UNITS:地图坐标的单位。取值: [feet|inches|kilometers|meters|miles|dd] .
  3. EXTENT:要创建的地图的空间范围。 MapServer 可以在运行时得到对应的值,推荐指定对应的值。 取值:[minx] [miny] [maxx] [maxy]
  4. STATUS:~地图是否是~active 的标识。当其值为 OFF 时,对应的 map 被作为基准图或比例尺工具条。取值:[on|off]。
  5. FONTSET:字体文件的名称(包含路径)。可使用绝对路径或相对路径。 提示:值以斜线( / )开始。取值: [path/filename.ext
  6. SYMBOLSET:符号文件的名称(包含路径)。可使用绝对路径或相对路径。 提示:值以斜线( / )开始。取值: [path/filename.ext]
  7. SHAPEPATH:shapefile 文件或瓦片的路径。可以是绝对路径或相对于当前 MapFile 文件的相对路径。

例子:

# =======================================================
# General Settings of the MapFile:
# NAME: Name of the Map [keep short!]
# EXTENT of the Map: minY minY maxX maxY
# STATUS: normally on, just use for testing
# SHAPEPATH: Path to the root dir of the data
# =======================================================

NAME "hangzhou"
UNITS METERS
EXTENT 745000 156000 758000 165000
STATUS ON
FONTSET d:/mapserver/sym_fonts/fonts.txt
SYMBOLSET d:/mapserver/sym_fonts/shade.sym
SHAPEPATH d:/gis_data/hangzhou/

一般输出(OUTPUT)设置

  1. IMAGETYPE:~输出格式。其值必须与用户定义~OUTPUTORMAT 部分的 NAME 值一致或内部支持格式对应。 取值:[gif|png|jpeg|wbmp|gtiff|swf|userdefined]
  2. SIZE:~输出~Map 的大小,单位为像素。取值:[x] [y]。
  3. RESOLUTION:每英寸的像素数,其值仅影响比例尺计算而已,默认值为 72。~取值:~[integer]。
  4. WEB:WEB 对象的开始标签,WEB 对象定义了 WEB 接口运行的方式。
  5. QUERYMAP:QUERYMAP 对象的开始标签,QUERYMAP 对象定义了处理(MAP)查询结果的显示效果等。

例子:

# ======================================================= # General
Output Settings of the MapFile:
# OUTPUTFORMAT specifications
# SIZE of the output map in pixel
# WEB: output location definition
# QUERYMAP: highlight color of selected objects
# =======================================================
IMAGETYPE PNG
SIZE 600 518
WEB
  IMAGEPATH "/home/gronline/mapimage/"
  IMAGEURL "/mapimage/"
END
QUERYMAP
  COLOR 255 0 0
  STYLE hilite
END

组件:基准图、图例和比例尺工具条(Reference Map, Legend, Scale Bar)

在 MapFile 文件中可以定义以下组件:

image0 

图 1 鹰眼图示例

  1. REFERENCE:Reference Map 对象~的开始标记。~Reference Map 就是一个鹰眼图,它显示了主窗口中地图的位置。
  2. LEGEND:Legend 对象的开始标记。~它定义了图例的生成方式。在~CLASS 对于中会为每个图层自动生产对应的图例组件。
  3. SCALEBAR:Scalebar 对象的开始标记。它定义了地图比例尺工具条的生成方式。

image1 

比例尺工具条

例子:

# ================================================================
# Components: Reference Map, Legend, Scale Bar
# ================================================================
# ------------------------------------
# Reference Map Definition
# ------------------------------------
REFERENCE
  IMAGE images/overview_wormerl.png
  EXTENT 114052 499083 124436 505124
  STATUS ON
  COLOR -1 -1 -1
  OUTLINECOLOR 255 0 0
  SIZE 150 130
END
# ------------------------------------ # Legend Definition
# ------------------------------------
LEGEND
  STATUS embed
  POSITION ur
END
# ------------------------------------
# Scale Bar Definition
# ------------------------------------

地图定义

这部分包括了从图层生成地图的过程中投影等的说明。

  1. LAYER:LAYER 对象的开始标识。 在 MapFile 文件中至少应有一个图层,图层是用来产生地图的。 图层在地图上显示的顺序为倒序(第一个图层在最下面,最后一个图层在最上面); 详细信息参见 LAYER 部分。
  2. PROJECTION:PROJECTION 对象的开始标识。 你应该定义两种类型的 PROJECTION 对象。 一个是输出图像的投影(在 Map 对象中定义),另一种是在没有 Layer 中定义。 如果你的数据的投影全部一样,那么你就不需要定义任何投影,除非你想进行投影转换。

很少使用的参数

  1. CONFIG:~用来配置~PROJ.4 库中 EPSG 文件的位置。使用这个配置可以 PROJ.4 使用你指定的文件, 他的一个好处是可以避免设置对应的环境变量。如:CONFIG PROJ_LIB /tmp/proj/ 。 设置其他的值将会传递给 CPLSetConfigOption() , 这样你可以控制 GDAL 和 OGR 驱动的行为。 详细信息请参考 GDAL 的文档。取值:[key] [value]

  2. DATAPATTERN:This defines a regular expression to be applied to requests to change DATA parameters via URL requests (i.e. map_layername  _data=... ). If a pattern doesn't exist then web users can't monkey with support files via URLs. This allows you to isolate one application from another if you desire, with the default operation being very conservative. See also TEMPLATEPATTERN below. 取值: [regular expression

  3. DEBUG:对 MAP 对象启用调试。系统运行的详细信息将输出到 WEB 对象指定的 LOG 文件中。 详细信息请参考 DEBUG 部分。

  4. IMAGECOLOR :初始化地图的颜色,如背景色。 当启用透明时 (TRANSPARENT ON),指定的颜色会被应用到透明区域。 取值: [r] [g] [b]

  5. SACLE:Computed scale of the map。通常在程序中而不是在 MapFile 中使用。

  6. TEMPLATEPATTERN:This defines a regular expression to be applied to requests to change TEMPLATE parameters via URL requests (i.e. map_layername_template=... ). If a pattern doesn't exist then web users can't monkey with support files via URLs. This allows you to isolate one application from another if you desire, with the default operation being very conservative. See also DATAPATTERN above.  取值: [regular expression]

输出格式对象

一般考虑在自定义输出格式时,需要使用 IMAGETYPE 关键词,OUTPUTFORMAT 对象 仅当你需要改变默认的输出格式时才设定,在进行设置前你应参考一下内容:

1. 图像大小对图像的表现有很大的影响(生成图像、图像传输需要的时间)。使用 256 色模式比使用 RGB 模式生成的图像要小。1. 根据数据的不同,你应考虑使用不同的位深(color depth),比如你使用的是卫星影像或是航拍影像,你应该使用 RGB 模式生成图像。 在这种情况下使用 JPEG 生成的图像比使用 PNG24 生成的图像小得多。1. 使用 JPEG 输出时,你可以使用 QUALITY 选项来减小图像大小。1. 使用 GD 或 AGG 图像库。

GD 和 AGG 图像库

GD 是一个动态创建图像的开源库。GD 可以创建 PNG、JPEG、GIF 等格式的图像,GD 原始支持生成 GIF 图像。但是,自从被 Unisys 收购后,它非正式地支持” Graphics Draw”。

Anti-Grain Geometry(AGG)是一个使用 C++开发的高质量二维图像渲染库。它具有抗锯齿和 sub-pixel 分辨率。这样就可以创建高质量的图像。MapServer5.0 版本及其高版本支持 AGG。对于同一个 MapFile,可以使用 AGG 进行渲染,也可以使用 GD。

image2 

图 2 AGG 处理的图像

输出

这部分将说明怎样定义和选择输出格式 OUTPUTFORMAT 。一个 MapFile 种可以定义一到多个 OUTPUTFORMAT 对象,支持的输出格式包括 PNG、GIF、JPEG、GeoTiff、 Flash 等。

对各种格式的支持依赖于编译程序时使用的库。GeoTiff需要GDAL库的支持,

Flash(swf)需要 MING 库的支持。

1. NAME:MapFile 中 IMAGETYPE 中使用的输出格式的名称。取值:[name] 。1. DRIVER:生成对应格式输出的驱动名称。如果没过驱动支持多种格式,那么其格式的定义是固定的。 如 GD 的驱动名称可能是 GD/Gif , GD/PNG , GD/WBMP and GD/JPEG; Flasf 的驱动名称是 SWF。 GDAL 的驱动名称如 GDAL/GTiff。 PNG, JPEG,GIF 可以使用 GDAL 或 GD 生成(GD 的效率更高)。取值: [name]

1. IMAGEMODE:生成输出图像的图像模式。并不是所以的非栅格格式的图像都与 Flash 一样。 并不是所有支持的格式都有所有的组合情况。例如。GD/GIF 只支持 PC256。

1. PC256:~使用~256 色生成一个假彩色图像(MapServer 的传统模式)
1. RGB:以 24 位 Reb/Green/Blue 模式渲染图像。支持所以的颜色但是不支持透明。
1. RGBA:以 24 位 Reb/Green/Blue/Alpha 模式渲染图像。支持所以的颜色并支持透明。
1. INT16:以 16 为 Integer(整数)位深来渲染单波段数据。当前仅对使用 GDAL 的栅格图像和 WMS 图层有效。
1. FLOAT32:~以~32 为 Float(浮点数)位深来渲染单波段数据。 当前仅对使用 GDAL 的栅格图像和 WMS 图层有效。 取值:\[PC256/RGB/RGBA/INT16/FLOAT32\]
  1. MIMETYPE:通过网络返回给客户端数据使用的 MIME 类型,取值: [type] .

例子:

MIMETYPE "application/x-shockwave-flash"
MIMETYPE "application/x-pdf"
MIMETYPE "image/gif"
MIMETYPE "image/jpeg" MIMETYPE "image/png"
  1. EXTENSION:生成对应文件类型文件的后缀,如.png、.gif 等。取值: [type]

  2. TRANSPARENT:使用这个参数来表明是否对这种格式的图像启用透明。 注意:透明在 IMAGEMODE 为 RGB 时无法使用,并不是所有的格式都支 持透明。 当使用透明时,一个 8 位的假彩色图像在透明区域被生成, 所以以这种颜色填充其他地图部分也将会是透明的,故应使用一个为适应的颜色做为背景色。

  3. FORMATOPTION: 驱动或格式的可选参数。在一个 OUTPUTFORMAT 的定义中可以出现零个或多个 FORMATOPTION。
  • GD/JPEG:"QUALITY=n"选项可以用来设置JPEG 图像的生成质量,取值范围 0-100
  • GD/PNG:"INTERLACE=[ON/OFF]",设置是否隔行渲染图像。
  • GDAL/GIF:"INTERLACE=[ON/OFF]",设置是否隔行渲染图像。
  • GDAL/GTiff:~支持的参数如下~
  • TILED=YES, 
  • BLOCKXSIZE=n,
  • BLOCKYSIZE=n,
  • INTERLEAVE=[PIXEL/BAND],
  • COMPRESS=[NONE,PACKBITS,JPEG,LZS,DEFAULT]
  1. GDAL:所有的 FORMATOPTION 使用 GDAL 来处理。详细参考GDAL 文档。 取值: [option] 。 如果定义的 OUTPUTFORMAT 在 MapFile 中没有定义,那么程序将隐式使用。

以下的定义:

AGG 库相关:

OUTPUTFORMAT
  NAME 'AGG_PNG'
  DRIVER AGG/PNG
  IMAGEMODE RGB
  FORMATOPTION "QUANTIZE_FORCE=ON"
  FORMATOPTION "QUANTIZE_DITHER=OFF"
  FORMATOPTION "QUANTIZE_COLORS=256"
END

OUTPUTFORMAT
  NAME 'AGG_JPEG'
  DRIVER AGG/JPEG
  IMAGEMODE RGB
  FORMATOPTION "QUALITY=100"
END

GD Graphics 库相关:

OUTPUTFORMAT
  NAME **gif**
  DRIVER "GD/GIF"
  MIMETYPE "image/gif"
  IMAGEMODE PC256
  EXTENSION "gif"

END

OUTPUTFORMAT
  NAME **png**
  DRIVER "GD/PNG"
  MIMETYPE "image/png"
  IMAGEMODE PC256
  EXTENSION "png"
END

OUTPUTFORMAT
  NAME **png24**
  DRIVER "GD/PNG"
  MIMETYPE "image/png"
  IMAGEMODE RGB
  EXTENSION "png"
END

OUTPUTFORMAT
  NAME **jpeg**
  DRIVER "GD/JPEG"
  MIMETYPE "image/jpeg"
  IMAGEMODE RGB
  EXTENSION "jpg"
END

OUTPUTFORMAT
  NAME **wbmp**
  DRIVER "GD/WBMP"
  MIMETYPE "image/wbmp"
  IMAGEMODE PC256
  EXTENSION "wbmp"
END

OUTPUTFORMAT
  NAME **swf**
  DRIVER "SWF"
  MIMETYPE "application/x-shockwave-flash"
  EXTENSION "swf"   IMAGEMODE PC256
  FORMATOPTION "OUTPUT\_MOVIE=SINGLE"
END

OUTPUTFORMAT
  NAME **GTiff**
  DRIVER "GDAL/GTiff"
  MIMETYPE "image/tiff"
  IMAGEMODE RGB
  EXTENSION "tif"
END

WEB Object

定义了一个 WEB 接口运行时的参数。以 WEB 开始, 以 END 结束。

  1. IMAGEPATH:存储临时图像的临时目录,必须在 WEB 服务器运行时可用,必须以斜线 / 开始。取值: [path]
  2. IMAGEURL: 访问 IMAGEPATH 下存储的临时图像的虚拟路径。取值: [url|virtual directory]
  3. EMPTY:查询失败时转向的URL。如果没有定义其值,将转向~ERROR 定义的 URL。取值: [url]
  4. ERROR:发生错误是转向的 URL。如果没有定义,将输出 MapServer 的错误信息。取值: [url]
  5. LOG:存储系统日志的文件,必须在 WEB 服务器运行时可用。取值: [filename]
  6. MINSACLE:最小缩放比例。当用户请求的值小于此值时将返回这个比例尺的图像。取值: [double]
  7. MINTEMPLATE:在最小比例尺之上时使用的模版,在嵌套应用时比较有 用。(Template to be used if above the minimum scale for the app, useful for nesting apps)取值: [file|url]
  8. MAXSCALE:最大缩放比例。当用户请求的值大于此值时将返回这个比例尺的图像。取值: [double]
  9. MAXTEMPLATE:最大比例尺之上时使用的模版,在嵌套应用时比较有用。 (Template to be used if above the maximum scale for the app, useful for nesting apps.)取值: [file|url] 。
  10. TEMPLATE:在交互模式下用来表现结果的模版文件或 URL。取值: [file|url]
  11. HEADER:最先发送到客户端的模版文件。仅在多结果查询模式下使用。 (Template to use before everything else has been sent. Multiresult query modes only)。取值: [filename]
  12. FOOTER:最后发送到客户端的模版文件。仅在多结果查询模式下使用。 (Template to use before everything else has been sent. Multiresult query modes only)。取值: [filename]
  13. METADATA: 使用此标识可以存储任意的键值对。经常在配置 OGC WMS 时使用。在创建模版时,它也是很灵活的,这里输入的任意内容都可以 通过模版变迁获得。例子:

    METADATA title “Map of China” autor “YanMing” END

例子:

WEB
    IMAGEPATH "f:/mapserver/mapimages/"
    IMAGEURL "/mapimages/"
    ERROR http://www.mapserver.ch/mapserver/ms_error.htm
    EMPTY http://www.mapserver.ch/mapserver/ms_empty.htm
    LOG f:/mapserver/logs/mapserver.log
END

QUERYMAP Object

定义查询结果的渲染方式

  1. COLOR:特征突出显示的颜色,默认为黄色。取值: [r] [g] [b]
  2. SIZE:地图的大小,单位为像素。默认值为 MAP 对象中定义的大小。取值: [x] [y]
  3. STATUS:是否显示查询到得地图。
  4. STYLE:设置查询到得地图的现实方式。没有被选择的地图或地图部分不被处理。

    • Normal:按原图层的样式渲染图层。
    • Hilite:使用 COLOR 的值渲染所选图层。
    • Selected:仅显示所选图层

取值: [normal|hilite|selected]

例子:

QUERYMAP
COLOR 255 0 0
STYLE hilite
END

REFERENCE Object reference map

是一个显示主窗口中地图位置的预览图。

以 REFERENCE 开始,以 END 结束。支持三种类型的 reference map。最常用 的是在预览图中显示正在进行交互的地图的范围。也可以把 reference map 作为查询的一部分。点查询时会在查询的点上生成一个图标(an image with a marker); 面查询会将查询出的区域加亮显示;给予 feature 的查询将会显示被选中的部分。

  1. IMAGE:reference map 图像的名称(包含路径),可以使绝对或相对路径。取值:[path/filename.ext]
  2. SIZE:reference map 图像的像素大小
  3. EXTENT:~图像的空间范围。取值:~[minx] [miny] [maxx] [maxy]
  4. STATUS:~是否创建~reference map,默认为 OFF。取值:[on | off]
  5. COLOR:对应 BOX 范围的填充色,默认为红色。值为-1 时透明。取值: [r] [g] [b]
  6. OUTLINECOLOR:~对应~BOX 的边界的颜色,默认为黑色,值为-1 时无边界。~取值:~[r] [g] [b]
  7. MARKER:当对应的范围变的很小时显示的标识(从 symbol 文件中得到),默认为十字标识。~取值:~[integer | string]
  8. MARKERSIZE:~定义代替~BOX 的 symbol 的大小。取值:[integer]
  9. MINBOXSIZE:~当~BOX 比 MINBOXSIZE 小的时候,使用 MARKER 和 MARKERSIZE 来显示。~取值:~[integer]
  10. MAXBOXSIZE:当 BOX 比 MINBOXSIZE 大的时候,不渲染任何内容。取值: [integer]

例子:

# ------------------------------------
# Reference Map Definition
# ------------------------------------
REFERENCE
  IMAGE images/overview\_wormerl.png
  EXTENT 114052 499083 124436 505124
  STATUS ON
  COLOR -1 -1 -1
  OUTLINECOLOR 255 0 0
  SIZE 150 130
END

LEGEND Object 在 MapServer 中,有三种方式来创建图例。

  1. Simple Image Legends:像使用桌面制图系统一样生成图例。这种方式非常简单,但是有极大的限制。
  2. Legends using HTML templates:~一个复杂的使用~MapServer 自动创建图例的方法。
  3. Plain HTML legends:~手工编写图例~HTML 文件。这种方式很自由,但是他需要对应的 HTML 文件,更新也麻烦。

Simple Image Legends**

定义图例文件的生产方式,CLASS 对象为每个独立的突出创建对应的图例组件。以 LEGEND 开始,以 END 结束。图例图像的大小在创建前不未知的,所以不要在模版文件的 <img> 标签中硬编码图像的宽和高。

  1. IMAGECOLOR:~图例的初始化颜色(如背景色)。取值:~[r] [g] [b]。
  2. LABEL:LABEL 对象的开始标识。
  3. OUTLINECOLOR:符号边界的颜色。取值:[r] [g] [b]
  4. POSITION:~图例在地图中的位置。默认为~lr。取值:[ul|uc|ur|ll|lc|lr]
  5. KEYSIZE:以像素单位的图例框,默认为 20 X 10。取值:[x] [y]
  6. KEYSPACING:~符号间的空白间隔,默认为~5 X 5。取值:[x] [y]
  7. POSTLABELCACHE:~告诉~MapServer 在所有标签渲染完成后再渲染图例。 在添加同类的元素时很有用。默认为 false。取值:[true|false]
  8. STATUS:是否创建这个图例。取值:on|off|embed]

例 1:

# ------------------------------------
# Legend Definition
# ------------------------------------
LEGEND
    STATUS embed
    POSITION ur
END

这个图例是自动为所有图层创建的,图例包含图层 NAME。

例 2:

LAYER
 NAME "Restaurants"
 STATUS ON
 TYPE POINT
 DATA "restaurants.shp"
  CLASS
   NAME "Restaurants"
   COLOR 255 127 127
   SIZE 14
   SYMBOL "restaurants"
 END
END

这个图例将创建一个带有“restaurants”符号和 restaurants 文字的图例。

如下图:

image3 

Legends using Templates

3.5 版本以上的 MapServer 可以使用模版文件来生成图例。在 MapFile 文件中使用 TEMPLATE 参数来启用基于模版的图例生成方式。设置 TEMPLATE 文件后,该文件将替换 main HTML 文件中的[legend]标签所指代的内容。模版文件必须以.html 作为扩展名。

HTML 图例模版文件

HTML 图例模版文件包含下面标签中的 0 个或一个,程序将使用对应的标签

生成图例:

\[leg\_group\_html\] ... \[/leg\_group\_html\]
\[leg\_layer\_html &lt;OPTIONAL PARAMS&gt;\] ... \[/leg\_layer\_html\]
\[leg\_class\_html &lt;OPTIONAL PARAMS&gt;\] ... \[/leg\_class\_html\]

图例文件中除了上面标签对以外的任何内容将被忽略

1)  GROUP block 标签: [leg_group_html]...[/leg_group_html]

在一组图层中使用此标签的 HTML 块是,图层将会在图例中出现。当使用 [leg_group_html] 标签后,那些不属于任何组(MapFile 中没有设置 LAYER GROUP) 的图层的样式也不会在图例中显示。组的列表由 order_metadata 决定,稍后对其进行解释。

[leg_group_html]块中可以出现的标签:

  • [leg_group_name]  组的名称   
  • [layer_status]      组中第一个图层的状态  
  • [leg\_icon width=&lt;optional\_width&gt; height=&lt;optional\_height&gt;\]  图例的图标,[leg_icon] 是图标的 URL。  
  • metadata name=&lt;metadata_field_to_display&gt;]   返回指定的元数据  

例子:显示图层组

[leg_group_html]

<tr><td colspan=2><b>[leg_group_name]</b></td></tr>

[/leg_group_html]

2)        LAYER block 标签:[leg_layer_html <OPTIONAL PARAMS>] ... [/leg_layer_html] 不设置此~标签时,将不显示任何~layer header.

可选参数如下:

l  order_metadata = <field_to_order_by> 可以使用<field_to_order_by>

的值来控制图例中图层的显示顺序以及可见性。

<field_to_order_by>的值大于零时,按这个值排序,如果两个图层的

<field_to_order_by>的值相同,这时使用 MAP LAYER 的顺序。<field_to_order_by>的值小于零时将不在图例中显示。

l  opt_flag = <bit_mask> 控制图层的显示过程。取值如下:

1.    out of Scale 时仍显示图例(默认为 out of Scale 时不显示图例)

2.    :图层状态为 OFF 时仍显示对应的图例(默认时 STATUS  OFF 时不显示对应的图例)。

4. :图层类型为 QUERY 时仍显示图例(默认时 TYPE  QUERY 时不显示)

8. ~图层类型为~ANNOTATION 时仍显示图例(默认时 TYPE  ANNOTATION 时不显示图例)例子:opt\_flag=12 意思是显示所有的~图层类型,包括~QUERY  ANNOTATION.(4+8)

[leg_layer_html]块中可以出现的标签~如下:~

a)        [leg_layer_name] 返回图层名称的值

b)        [leg_icon width=<option_width> height=<option_height>] 返回图 例图标的 URL

c)        [metadata name=<metadata_field_to_display>] 返回指定的元数据值和 WEB 的元数据例子:显示带有 href 链接的图层标题

[leg_layer_html order_metadata=WMS_ORDER visibility_flag=15]

<a href="[leg_layer_name]">[metadata name=WMS_TITLE]</a><BR> [/leg_layer_html]

3)        CLASS block 标签:[leg_class_html <OPTIONAL PARAMS>] ... [/leg_class_html]

如果不设置将不显示任何样式

NAME 为 NULL 的 CLASS 将不显示

可选参数:

l opt_flag = <bit_mask> 控制图层的显示过程。取值如下:

- 1 :out of Scale 时仍显示图例(默认为 out of Scale 时不显示图例)
- 2 :图层状态为 OFF 时仍显示对应的图例(默认时 STATUS 为 OFF 时不显示对应的图例)。
- 4 :图层类型为 QUERY 时仍显示图例(默认时 TYPE 为 QUERY 时不显示)
- 8 :图层类型为 ANNOTATION 时仍显示图例(默认时 TYPE 为 ANNOTATION 时不显示图例)

例子: opt_flag=12 意思是显示所有的图层类型,包括 QUERY 和 ANNOTATION.(4+8)

[leg_class_html]标签下可以使用的标签:

[leg_class_name] CLASS NAME 的值

[leg_class_title]  CLASS TITLE 的值

[leg_icon width=<option_width> height=<option_height>] 返回图例图标的 URL

[metadata name=<metadata_field_to_display>] 返回指定的元数据值

和 WEB 的元数~据~

例子:

[leg_class_html opt_flag=15]

<img src=[leg_icon]> [leg_class_name]<br>

[/leg_class_html] 4) CONDITIONAL text

标签:

[if  

name=<field_to_check>  oper=<eq|neq|isset|isnull> 

value=<to_compare_with_field>] 

...

[/if]

[if]标签可以在[leg_*_html]标签中,推荐嵌套使用。参数 oper 的值可以使 eq(等于)、neq(不等于)、isset、isnull。默认为 equal。

2.6.3 Plain HTML legends

这是一种另外的创建图例的方式。预先处理好,使用 HTML、PHTML、PHP 等。

例子:

image4 

SCALEBAR Object

SCALEBAR 定义了地图比例尺的生产方式。以SCALEBAR 开始,以 END 结束。图例图像的大小在创建前不未知的,所以不要在模版文件的<img>标签中硬编码图像的宽和高。

注意:当前无法使用 TrueType 类型的字体。

  1. INTERVALS:~图例条被分割多少部分,默认为~4。取值:[integer]
  2. UNITS :输出比例条的单位,默认是米。使用地图单位作为其单位可以得到真实~的图。取值:~[feet|inches|kilometers|meters|miles]
  3. COLOR:在未使用属性表时使用 COLOR 指定的颜色渲染图层。取值: [r][g][b]
  4. IMAGECOLOR:初始化比例条的颜色。取值:[r][g][b]
  5. BACKGROUNDCOLOR:背景色。取值:[r][g][b]
  6. OUTLINECOLOR:边框(边界)的颜色。默认为-1 表示无边界颜色。~取~值:[r][g][b]
  7. LABEL:注意 SIZE 的大小。注意:不能使用 TrueType 类型的姿态。~使用~[tiny|small|medium|large|giant]定义 SIZE 的值,~通常应该使用~tiny 或 small。
  8. POSITION:~比例条放置的位置,默认为~lr.取值:[ul|uc|ur|ll|lc|lr]。
  9. SIZE:比例条的大小。取值:[tiny|small|medium|large|giant]。
  10. STYLE:比例条的类型。取值:[0 | 1]
  11. POSTLABELCACHE:~告诉~MapServer 在所有标签渲染完成后再渲染图例。在添加同类的元素时很有用。默认为 false。取值:[true|false]。
  12. STATUS:是否创建比例条图像,是否嵌入图像。注意:嵌入比例条需要定义一个 MARKERSET。 实际上,这时图例条变成了一个与其他注释相同的~自定义~mark。~取值:~[on | off | embed]。
  13. TRANSPARENT:图例条的背景是否透明,默认为 OFF。取值:[on | off]。

例 1:

# ------------------------------------
# Scale Bar Definition - STYLE 0
# ------------------------------------
SCALEBAR
INTERVALS 5
UNITS kilometers
OUTLINECOLOR 0 0 0
STYLE 0
STATUS embed
  LABEL
    SIZE small
    COLOR 0 0 0
  END
END

图例条如下:

image5 

例 2:

# ------------------------------------
# Scale Bar Definition - STYLE 1
# ------------------------------------
SCALEBAR
INTERVALS 5
UNITS meters
STYLE 1
STATUS embed
  LABEL
    SIZE small
    COLOR 0 0 0
  END
END

图例条如下:

image6