Map Object
Map Object是MapFile的根对象,其他对象都包含在其中。它属性定义应用程序的大部分参数。Map Object的属性如下:
1,DATAPATTERN [正则表达式]
该参数定义了由URLs改变DATA参数(如:map_layername_data=...)的表达式。
2,DEBUG
允许调试。调试的详细结果被放在STDERR(the standard error output),如果在Web Object使用了LOG参数则放在MapServer logfile文件中。
3,EXTENT [minx] [miny] [maxx] [maxy]
地图边界
4,FONTSET [filename]
使用得字体文件,如:C:\WINDOWS\Fonts\myfonts.txt。
5,IMAGECOLOR [r] [g] [b]
设置地图背景颜色。r,g,b分别为红、绿、蓝。
6,IMAGEQUALITY [int]
JPEG格式输出得质量。更为普遍得做法是在OUTPUTFORMAT 的声明中,在FORMATOPTION 中使用"QUALITY=n" 来说明。
7,IMAGETYPE [gif|png|jpeg|wbmp|gtiff|swf|userdefined]
输出格式。可选项在OUTPUTFORMAT中定义。
8,INTERLACE [on|off]
输出图像是否允许交错,缺省下是[on]。更为普遍的做法是在OUTPUTFORMAT的FORMATOPTION中使用 "INTERLACE=ON" 设置。
9,NAME [name]
由此MapFile文件生成的map,比例,图例图像名前缀。尽量简短。
10,RESOLUTION [int]
设置输出图像每英寸象素个数,仅对比例有影响。缺省是72。
11,SCALE [double]
设置地图比例,通常由应用程序设置。
12,SHAPEPATH [filename]
Shapfile文件夹路径。
13,SIZE [x][y]
输出图像大小。
14,STATUS [on|off]
设置地图状态是否被激活。如有时为了仅使用reference map或 scale bar,把此设为off
15,SYMBOLSET [filename]
使用的标志符号文件。
16,TEMPLATEPATTERN [regular expression]
该参数定义了由URLs改变TEMPLATE参数(如:map_layername_template=...)的表达式。
17,TRANSPARENT [on|off]
设置地图背景颜色是否透明,缺省是off.。
18,UNITS [feet|inches|kilometers|meters|miles|dd]
地图坐标系的单位,用于比例尺,及比例计算。
Map Object允许嵌套的对象:PROJECTION,QUERYMAP,REFERENCE,SCALEBAR,SYMBOL,WEB,LAYER,LEGEND。
Layer Object
Layer Object图层对象与使用的每个图层相对应,一个MapFile允许有50个,可以通过修改源代码改变。在MapFile文件中首先定义的Layer处在地图最底层,最后定义的在地图顶层。Layer Object属性:
1, CONNECTIONTYPE [local|sde|ogr|postgis|oraclespatial|wms]
连接的数据源,缺省是本地。
2,CONNECTION [string]
配置远程数据连接。
An SDE 的连接字符串格式:“hostname, instance name, database name, username ,password ”。
PostGIS 的连接字符串与PostgreSQL连接相同。格式:“user=nobody password=****** dbname=dbname host=localhost port=5432”。
Oracle 连接格式:user/pass[@db]
3, DATA [filename]|[sde parameters][postgis table/column][oracle table/column]
使用的空间数据文件。并非一定要shapefile文件格式。
如果式SDE数据,参数应包含图层名称和geometry column,如"mylayer,shape"。
如果式 PostGIS 图层, 参数格式:
“<columnname> from <tablename>”,其中“columnname” 是含有geometry objects的
Column的名字;"tablename"是使用的geometry data的table名字。
如果是Oracle, 参数格式: "shape FROM table" 或 "shape FROM (SELECT statement)" 或更为复杂的Oracle查询。
4, DEBUG
对Layer Object调试。
5, DUMP [true|false]
确认MS是否可以返回GML格式数据。当使用 WMS GetFeatureInfo选项是有用,缺省是fault。
6,FILTER [string]
该字符串保证在Class表达式被检测之前data specific attribute 过滤与spatial 过滤同步,OGR和shapefiles 的字符串设置是一个简单的MS表达式,对于spatial databases 该字符串是一个SQL WHERE 字句。如: FILTER “type='road' and size <2“。
7,FILTERITEM [attribute]
FILTER expressions使用的项目,仅用于OGR和shapefiles。
8,FOOTER [filename]
使用的模板文件,仅用与Multiresult query modes。
10,GROUP [name]
Layer所属的组名。可以对一个组进行操作。
11,HEADER [filename]
使用的模板文件仅用于Multiresult query modes。
12,LABELANGLEITEM [attribute]
属性表中使用的字段名,用于class annotation angles,值应是用度表示。
13,LABELCACHE [on|off]
指定标记(Labels)在图层绘制时是否被绘制成该图层的特征或者它们先隐藏,在所有图层皆绘制后在显示。缺省是on。只有Label cache激活时,Label 重叠移动,自动布局才可用。
14,LABELITEM [attribute]
用于 class annotation (如 labeling)的属性表中的字段名。
15,LABELMAXSCALE [double]
图层标记的最大比例。
16,LABELMINSCALE [double]
图层标记的最小比例。
17,LABELREQUIRES [expression]
设置该图层标记是否显示。如:
LABELREQUIRES ([orthoquads] != 1)意味着如果有一个叫“orthoquads “处于激活
状态,那么该图层不能有标记。表达式(Expression)是一个boolen表达式,如果
一图层的Status是on则 [layer name] =1,否则[layer name] =0。
17,LABELSIZEITEM [attribute]
用于Class注释尺寸的属性表中的字段名。值必须是以像元为单位。
19,MAXFEATURES [integer]
指定在当前窗口中绘制该图层的特征最大数量。
20,MAXSCALE [double]
绘制图层的最大比例。
21,METADATA
METADATA以END结尾。可以在其中加入任何说明。用于定义OGC WMS的要素。 其中的说明可以被template tags访问,从而增强创建template文件的弹性。如:
METADATA title "My layer title"
author "Me!" END
22,MINSCALE [double]
绘制该图层的最小比例。
23,NAME [string]
图层名称。允许有20个字符。它可以连接mapfile文件和web interfaces。
24,OFFSITE [r] [g] [b]
设置栅格图层的transparent颜色索引。
25,POSTLABELCACHE [true|false]
选择true则MS在绘制处于cache中的全部label 后,绘制此图层。缺省是fault。
对于增加neatlines 和简单的elements非常有用。
26,PROCESSING [string]
向图层发送处理指令。不同类型的图层和处理指令的程序支持不同的指令。
当前的栅格图像支持(由GDAL处理):SCALE,BANDS 和DITHER。例如:
PROCESSING "SCALE_1=AUTO" PROCESSING "SCALE_2=AUTO" PROCESSING "SCALE_3=AUTO" PROCESSING "BANDS=3,2,1,4"
27,REQUIRES [expression]
与LABELREQUIRES作用相同。
28,SIZEUNITS [pixels|feet|inches|kilometers|meters|miles]
设置Class对象的单位缺省是pixels。对simulating buffering由用。
29,STATUS [on|off|default]
设置该图层的状态。缺省是on。
30,STYLEITEM [attribute]
用于feature specific styling的字段。设置非常经验化,但前仅用于OGR。
31,SYMBOLSCALE [double]
文本或符号显示的比例。允许图层随map的比例发生动态大小变化。如果没有设置那么图层的尺寸一直都不会变化。与MINSIZE和MAXSIZE 有关系。
32,TEMPLATE [file|url]
作为CLASS TEMPLATE的全局替换。
33,TILEINDEX [filename]
该图层的索引或tile定义文件,类似与ArcInfo 的库索引,此shapefile文件包含每一个tile的多边行特征。包含tiled数据路径的字段由参数TILEITEM给出。如果参数DATA 含有一个值那么它就被添加到路径的末尾。如果DATA 为空那么路径应含有完整的文件名。
34,TILEITEM [attribute]
含有tile路径的字段,缺省为“location”。
35,TOLERANCE [double]
对点查询敏感度。(如 鼠标点击或 map coordinates)。在TOLERANCEUNITS中给出(缺省为3 pixels)。为了限制polygon查找,将polygon容差设为0。.
36,TOLERANCEUNITS [pixels|feet|inches|kilometers|meters|miles|dd]
TOLERANCE值的单位,缺省为pixels。
37,TRANSPARENCY [integer]
设置图层的所有像元的transparency 水平。值在0~100之间。100表示不透明,0表示完全透明。
38,TRANSFORM [true|false]
确认一个图层是否需要从一个地理坐标系向图像坐标系转换。缺省为true。此参数允许创建shapefile为图像坐标系。因此有些特征总是在同一副图的相同位置显示。须注意,图像坐标系的坐标原点在左上角,y轴朝下,x轴朝右。
39,TYPE [point|line|polygon|circle|annotation|raster|query]
指明数据怎样绘制。无须与shapefile 文件类型一致。例如一个多边形shapefile文件以点图层绘制。但是点shapefile 文件不可以以多边形图层绘制。
40,CLASSITEM [attribute]
用于Class的字段。
Layer Object可以嵌套的对象:Class,FEATURE,PROJECTION。
Grid Object
Grid Obect定义地图的格网。它是在Layer Object对象中定义的。
1, LABELFORMAT [DDMM|DDMMSS]
标签格式。“DDMM”是 度、分格式,“DDMMSS” 是 度、分、秒格式。 缺省是小数格式。 2,MINARCS [double]
绘制弧段的最小数量。
3,MAXARCS [double]
绘制弧段的最大数量。
4,MININTERVAL [double
最小间隔数量
5,MAXINTERVAL [double]
最大间隔数量
6,MINSUBDIVIDE [double]
绘制弧段允许的最少分段。
7, MAXSUBDIVIDE [double]
绘制弧段允许的最多分段。
例子:
LAYER
NAME "grid"
METADATA
"DESCRIPTION" "Grid"
END
TYPE LINE
STATUS ON
CLASS
NAME "Graticule"
COLOR 0 0 0
LABEL
COLOR 255 0 0
FONT fritqat
TYPE truetype
SIZE 8
POSITION AUTO
PARTIALS FALSE
BUFFER 5
OUTLINECOLOR 255 255 255
END
END
PROJECTION
"init=epsg:4326"
END
GRID
LABELFORMAT DDMM
MAXARCS 10
MAXINTERVAL 10
MAXSUBDIVIDE 2
END
END # Layer
Grid Object无可嵌套的对象。
Scalebar Object
Scalebar Object定义比例尺如何创建。但前比例尺字体不支持TrueType字体。比例尺图像的大小在创建之前是未知的,所以在template文件中使用<IMG>标记时,不要指明比例尺图像的大小。
1,BACKGROUNDCOLOR [r] [g] [b]
比例尺的背景色。不是输出的比例尺图像的背景色。
2,COLOR [r] [g] [b]
当属性表不被使用时,所有比例尺要素的输出颜色。
3,IMAGECOLOR [r] [g] [b]
比例尺初始化时颜色。
4,INTERLACE [true|false]
输出比例尺图像是否允许交错,缺省下是[on]。更为普遍的做法是在OUTPUTFORMAT的FORMATOPTION中使用 "INTERLACE=ON" 设置
5,INTERVALS [integer]
比例尺间隔数量。缺省为4。
6,OUTLINECOLOR [r] [g] [b]
各个intervals的轮廓颜色。缺省时-1(比例尺各个部分无轮廓)。
7,POSITION [ul|uc|ur|ll|lc|lr]
放置比例尺的位置,缺省为lr。
8,POSTLABELCACHE [true|false]
仅对嵌入的比例尺有用,选择true则MS在绘制处于cache中的全部label 后,嵌入比例尺。缺省是false。
9,SIZE [x][y]
比例尺的尺寸,以pixel为单位。文本不计算在内。
10,STATUS [on|off|embed]
确认是否创建比例尺输出图像及是否要被嵌入到一个输出图像。缺省是off.。
11,STYLE [integer]
选择比例尺式样(style),0或1。
12,TRANSPARENT [on|off]
设置比例尺背景颜色是否透明,缺省是off.。现在更为流行的做法是在OUTPUTFORMAT 中声明。
13,UNITS [feet|inches|kilometers|meters|miles]
比例尺单位,缺省是米。
Scalebar Object允许嵌入LABEL对象。
Legend Object
定义一个图例。图例的内容从layer的class中获得。在class的name属性中设置使用的lengend即可。图例的大小在创建之前是未知的,所以在template文件中使用<IMG>标记时,不要指明图例的大小。
1,IMAGECOLOR [r] [g] [b]
图例初始化时颜色。
2,INTERLACE [on|off]
输出图像是否允许交错,缺省下是[on]。更为普遍的做法是在OUTPUTFORMAT的FORMATOPTION中使用 "INTERLACE=ON" 设置。
3,OUTLINECOLOR [r] [g] [b]
图例中符号轮廓颜色。
4,POSITION [ul|uc|ur|ll|lc|lr]
放置图例的位置,缺省为lr。
5,KEYSIZE [x][y]
图例符号大小。缺省是:20 10。
6,KEYSPACING [x][y]
文字距离:x;图例中符号的距离 :y ;以pixel为单位。缺省为5 5。
7,POSTLABELCACHE [true|false]
选择true则MS在绘制处于cache中的全部label 后,绘制此图例。缺省是fault。
对于增加neatlines 和简单的elements非常有用。
8,STATUS [on|off|embed]
决定图例输出图像是否创建。
9,TRANSPARENT [on|off]
确认图例背景颜色是否透明。更为普遍的做法是在OUTPUTFORMAT 中声明, 缺省为off。
Lengend Object允许嵌套的对象:LABEL。
Projection Object
Projection Object设置投影。必须定义两种投影对象。一种用于说明输出图像投影 (在 MAP object中定义) ,另一种用于各个图层(在 LAYER objects种定义) 投影描述。Projection objects含有一系列 PROJ.4 关键字。例如:UTM zone 15, NAD83投影描述成:
PROJECTION
"proj=utm"
"ellps=GRS80"
"zone=15"
"north"
"no_defs"
END
地理坐标系定义:
PROJECTION
"proj=latlong"
END
详细资料:PROJ.4 user guides。
Label Object
Label Object用于定义注释特征的文本标签,或者通过使用TrueType 作为symbols用。Label Object的属性:
1, ANGLE [double]
值用角度制表示。指示标签的角度。对于线图层可以使用AUTO值。
2, ANTIALIAS [true|false]
确认标签中的文本是否可以别名。True为不允许别名。注意需要多一些的colors并会导致输出图像轻微的变大。
3,BACKGROUNDCOLOR [r] [g] [b]
缺省为Off 。
4,BACKGROUNDSHADOWCOLOR [r] [g] [b]
矩形背景的颜色。缺省为Off。
5,BACKGROUNDSHADOWSIZE [x][y]
缺省为1。
6,BUFFER [integer]
在cached label周围填充像元。对保持文本周围的空间以增强可读性有用。缺省为0。
7,COLOR [r] [g] [b]
文本颜色。
8,FONT [name]
在Map Object的 FONTSET文件中定义的字体别名。
9,FORCE [true|false]
强制对一个特征类(Class)进行标记,而无视标签冲突。仅对cached labels有效。缺省false。
10,MAXSIZE [integer]
字体最大显示尺寸。缺省为256。
11,MINDISTANCE [integer]
复制一个label产生的label与被复制的label之间的最小距离。值为pixels。
12,MINFEATURESIZE [integer|auto]
被标记特征的最小尺寸,以pixels为单位,仅对cached labels有效。对线数据是长度。对多边形是最小面积。 如果选“Auto”则 MapServer 仅显示那些特征的大小比它们的标记大的多的标签。
13,MINSIZE [integer]
字体显示的最小值,缺省为4。
14,OFFSET [x][y]
单位为pixels。坐标原点在左下角。
15,OUTLINECOLOR [r] [g] [b]
文本轮廓颜色。
16,PARTIALS [true|false]
确认文本是否可以超出map边缘。缺省是true。
17,POSITION [ul|uc|ur|cl|cc|cr|ll|lc|lr|auto]
Label的位置。首字母是“Y”位置,第二个为“X”位置。“Auto“告知MapServer计算该label的不会与其他label相冲突的位置。
18,SHADOWCOLOR [r] [g] [b]
阴影颜色。
19,SHADOWSIZE [x][y]
阴影大小。
20,SIZE [integer]|[tiny|small|medium|large|giant]
文本大小。
21,TYPE [bitmap|truetype]
使用字体类型。
22,WRAP [character]
文本末尾出现的字符。
Label中无嵌套对象。
Class Object
Class Object定义一个给定的Layer专题类别,每个图层至少有一个类别。在Layer Object中的ClassItem设置分类的项目。如一个公路图层,可以根据公路的级别(ClassItem)分为国道,一级公路,二级公路等。其属性如下:
1,BACKGROUNDCOLOR [r] [g] [b]
不透明符号颜色。
2,COLOR [r] [g] [b]
特征显示的颜色。
3,DEBUG
与map DEBUG的意义相似。
4,EXPRESSION [string]
将string与ClassItem比较,以确定Class。
有三种表达式:字符串,正则表达式, 逻辑表达式。如果没有给出string,那么所有特征都归在此Class中。
字符串对大小写敏感,易于快速处理。没有转义字符。
正则表达式需要用 /regex/来定义。不须引用。
逻辑表达式允许基于一个或更多的属性建立相当复杂的测试,也因此仅对shapefile文件有效。逻辑表达式以“(expression)”形式定义。用到的属性须加以[],即:“[ATTRIBUTE]”。注意属性值大小写敏感并且要与shapefile文件中的字段一致。例如:
EXPRESSION ([POPULATION] > 50000 AND '[LANGUAGE]' eq 'FRENCH')
逻辑表达式允许操作符: =,>,<,<=,>=,=,or,lt,gt,ge,le,eq。其处理速度要慢。
字符串和正则表达式都是以layer中classitem为分类依据的。同一个layer可以同时有使用这三种表达式的class。
5,MAXSIZE [integer]
绘制一个符号的最大尺寸,以pixel为单位,缺省为50。
6,MINSIZE [integer]
绘制一个符号的最小尺寸,以pixel为单位,缺省为0。
7,NAME [string]
使用此Class的图例(Lengend)名称。如果没有设置,则此class不会显示在图例中。
8,OUTLINECOLOR [r] [g] [b]
多边形符号轮廓的颜色,线符号不支持。
9,SIZE [integer]
符号的高度,以pixel为单位。 仅比例尺符号使用。缺省为1。
10,SYMBOL [integer|string]
设置使用的符号。String为定义Symbole文件中的符号名称。Integer是符号索引值。缺省是0,意味着:a single pixel,single width line, 或 solid polygon fill,取决于layer类型。
11,TEMPLATE [filename]
使用的template的文件。
12,TEXT [string]
该class使用的label的静态文本。 它的值超出LABELTIEM。字符串可以使用()定义。它允许整合多个属性到一个label。例如:([FIRSTNAME],[LASTNAME])。
Class Object允许定义两个symbol。第二个在上。使用如下属性:
OVERLAYBACKGROUNDCOLOR
OVERLAYCOLOR
OVERLAYOUTLINECOLOR
OVERLAYSIZE
OVERLAYMINSIZE
OVERLAYMAXSIZE
OVERLAYSYMBOL
Class Object允许嵌套的对象:JOIN,LABEL,STYLE。
Feature Object
定义layer的内置特征。当创建一个新layer不大可能或太过于复杂的情形下可以使用内置的特征解决问题。内置特征也可以通过url或表单来创建。
1,POINTS
一组x、y坐标对。以END结束。例如:
POINTS
1 1 50
50 1
50 1 1
END
注意对于多边形layer起点更终点应相同。
2,TEXT [string]
标记特征的文本。
Feature Object无可以嵌套对象。
Join Object
Join Object定义如何处理join。Join Object嵌套在其他查询对象中。
1,FROM [item]
Shapefile中的join字段。
2,NAME [string]
该属性是强制的。Join的名字。
3,TABLE [file]
Join的XBase 文件的名字(DBF, 必须是完整路径)
4,TEMPLATE [filename]
使用的Template文件。Template文件对每个记录仅处理一次,且仅包含要join的属性表中的字段的替换变量。
5,TO [item]
要join的属性表中的字段。
6,TYPE [multiple|single]
Join的类型,缺省为single (如:一对一)。
Join Object无可嵌套对象。
Style Object
Style Object配置符号参数。一个Class可以有多个Style object。也就有多种style。在MS4.0版本中引入此对象。它的目的是为了将逻辑与显示相分离。它是定义对象,特别是class外观的新方法。它的属性及其意义与Class中的同名属性意义相同。
1,ANTIALIAS [true|false]
是否允许TrueType 字体别名,true为不允许。
2,BACKGROUNDCOLOR [r] [g] [b]
不透明符号的颜色。
3,COLOR [r] [g] [b]
绘制特征的颜色。
4,MAXSIZE [integer]
绘制符号的最大尺寸,以pixel为单位。缺省为50。
5,MINSIZE [integer]
绘制符号的最小尺寸,以pixel为单位。缺省为0。
6,OFFSET [x][y]
Offset values for shadows, hollow symbols, etc ...
7,OUTLINECOLOR [r] [g] [b]
多边形符号轮廓的颜色,线符号不支持。
8,SIZE [integer]
符号的高度,以pixel为单位。 仅比例尺符号使用。缺省为1。
9,SYMBOL [integer|string]
设置使用的符号。String为定义Symbole文件中的符号名称。Integer是符号索引值。缺省是0,意味着:a single pixel,single width line, 或 solid polygon fill,取决于layer类型。
Style Object无可嵌套对象。
Symbology Reference
Symbol 定义可以包含在MapFile中;更普遍的是在独立文件中,并通过在Map Object中使用SYMBOLSET 引用。在独立文件中设置Symbol,可以增强可重用性。MapServer有三种symbol类型:Markers,Shadesets和Lines。对于点符号,symbol 0 是单个像元。对于阴影 (如多边形填充) symbol 0是一个实填充。对于线符号,symbol 0表示只有一个像元宽的线。在Symbol中不包含颜色定义,颜色定义在Class Object中。每个文件最多允许定义64种符号。 可以通过修改源文件mapsymbol.h中的MS_MAXSYMBOLS 的值来设置允许定义的最多符号数。
语法:
1,ANTIALIAS [true|false]
是否允许TrueType fonts别名。True为不允许。
2,CHARACTER [char]
单个字符,用来对TrueType 中的字符引用。需要算出从键盘字符到字体字符的映象。
3,FILLED [true|false]
以用户定义的颜色(在Class Object中定义)填充符号。对于Markers 类型的符号,如果 OUTLINECOLOR 被指定,那么轮廓就以用户定义的颜色显示。
4,FONT [string]
在Map Object的 FONTSET文件中定义的字体别名。
5,GAP [int]
以像元为单位。对TrueType 线,定义符号之间的距离。
6,IMAGE [string]
GIF或PNG图像,用作marker 符号或象素映射符号刷。
7,NAME [string]
别名。即在CLASS objects的SYMBOL的属性值。
8,POINTS [x y] [x y] ... END
这些点定义矢量符号,或定义x,y半径或椭圆形。坐标以像元为单位。定义了符号缺省大小。You can create non-contiguous paths by inserting negative coordinates at the appropriate place。其中x,y不等表示椭圆,相等即为园。
9,STYLE [num on] [num off] [num on] ... END
定义一个dash style 或 pattern.
10,TRANSPARENT [color index]
对输入的GIF 图像(用于pixmap symbols)设置透明色。或确认是否所有的阴影符号都要有个透明的背景。缺省情况下符号背景色与所属图像颜色相同。
11,TYPE [vector|ellipse|pixmap|truetype|simple]
Vector:a simple drawing 被用于定义符号形状。
ellipse::radius values in the x and y directions 定义一个椭圆。
Pixmap:一个用户支持的GIF图像作为符号用。
Truetype:TrueType font to use as defined in the FONTSET。
例子:
Example 3. Dashed Line
SYMBOL
NAME 'dashed1'
TYPE ELLIPSE
POINTS 1 1 END
FILLED true
STYLE 10 5 5 10 END
END
This creates a dashed line with 10 pixels on, 5 off, 5 on, 10 off ...
Example 4. TrueType font marker symbol
SYMBOL
NAME "natcap"
TYPE TRUETYPE
FONT geo
FILLED true
ANTIALIAS true
CHARACTER "r"
END
This symbol is a star, used to represent the national capital, hence the name. The font name in defined in the FONTSET file. The code number "114" varies, you can use MS Windows' character map to figure it out, or guestimate.
Example 5. Vector triangle marker symbol
SYMBOL
NAME "triangle"
TYPE vector
POINTS
0 4
2 0
4 4
0 4
END
END
This is fairly straight forward. Note that to have 3 sides you need 4 points, hence the first and last points are identical.
Example 6. Non-contiguous vector marker symbol (Cross)
SYMBOL
NAME "cross"
TYPE vector
POINTS
2 0
2 4
-99 -99
0 2
4 2
END
END
This example draws a cross, that is 2 lines (vectors) that are not connected end-to-end (Like the triangle in the previous example). The negative values separate the two.
Example 7. Circle vector symbol
SYMBOL
NAME "circle"
TYPE ellipse
FILLED true
POINTS
1 1
END
END
A simple filled circle. Using non-equal values for the point will give you an actual ellipse.
Example 8. Downward diagonal fill
SYMBOL
NAME "downwarddiagonalfill"
TYPE vector
TRANSPARENT 0
POINTS
0 1
1 0
END
END
Web Object
Web Object定义如何处理web接口。
1, EMPTY [url]
如果用户查询失败,将连接此URL;如果没有定义则用户进入ERROR [url]。
2,ERROR [url]
3,FOOTER [filename]
使用的Footer模板文件,仅在Multiresult query 模式下有效。
4,HEADER [filename]
使用的Header模板文件,仅在Multiresult query 模式下有效。
5,IMAGEPATH [path]
存储临时文件和图像的路径。根据操作系统不同以“\”“/”结尾。
6,IMAGEURL [path]
配置IMAGEPATH的URL访问路径。该URL 将引导浏览器从IMAGEPATH中获取输出图像。
7,LOG [filename]
记录MapServer服务。
8,MAXSCALE [double]
web交互界面有效的最大尺寸。如果用户输入的页面尺寸请求超过Map Object中定义的最大尺寸,则 MapServer 就以这个尺寸响应用户请求;即输出图像。对防止用户过分放大图像非常有用。
9,MAXTEMPLATE [file|url]
Template to be used if above the maximum scale for the app, useful for nesting apps.
10,METADATA
METADATA以END结尾。可以在其中加入任何说明。用于定义OGC WMS的要素。 其中的说明可以被template tags访问,从而增强创建template文件的弹性。如:
METADATA
title "My layer title"
author "Me!"
END
11,MINSCALE [double]
web交互界面有效的最小尺寸。如果用户输入的页面尺寸请求小于Map Object中定义的最小尺寸,则 MapServer 就以这个尺寸响应用户请求;即输出图像。对防止用户过分缩小图像非常有用。
12,MINTEMPLATE
Template to be used if above the minimum scale for the app, useful for nesting apps.
13,TEMPLATE [filename|url]
使用的交互界面template文件。
Web Object无可嵌入的对象。
Reference Map Object
Reference Map Object定义参照地图如何创立。支持三种参照地图类型。参照地图最普遍的用法是做为map的观察窗口。可以利用参照地图对查询结果进行观察。当点查询发生时,会在输出Reference Map中产生一个点符号,以指示被查询的位置。区域查询就在Reference Map 中产生一个方框,以指示查询区域。特征查询就在Reference Map显示查询的特征。总之,Reference Map可以视为查询的观察窗口。
1,COLOR [r] [g] [b]
观察窗口的颜色。Set any component to -1 for no fill. 缺省为red。
2,EXTENT [minx][miny][maxx][maxy]
观察窗口(Reference Map图像)的边界。
3,IMAGE [filename]
Reference图像的完整路径。必须是一个GIF格式文件。
4,MARKER [integer|string]
指定symbol文件中使用的符号,当观察窗口时用来显示。缺省为:crosshair。
5,MARKERSIZE [integer]
定义MARKER中的显示符号的尺寸。
6,MINBOXSIZE [integer]
如果观察窗口的宽度或长度小于此处的integer,则观察窗口按照MARKER 属性配置来显示。
7,MAXBOXSIZE [integer]
如果观察窗口的宽度或长度小于此处的integer,则观察窗口不显示。
8,OUTLINECOLOR [r] [g] [b]
观察窗口的轮廓颜色。Set any component to -1 for no outline.
9,SIZE [x][y]
Reference Map图像的尺寸,以pixel为单位。
10,STATUS [on|off]
确认是否创建Reference Map,缺省是off。
Reference Map Object无可嵌套的对象。
QueryMap Object
QueryMap Object定义了查询结果(map)的生成机制。
1,COLOR [r] [g] [b]
要增强显示的特征颜色,缺省为黄色。
2,SIZE [x][y]
地图大小,以pixel为单位。缺省值为Map Object中的size。
3,STATUS [on|off]
确认查询结果map是否要绘制。
4,STYLE [normal|hilite|selected]
设置选中的特征如何显示。没有被查询的layer照常显示。
Normal:绘制layer的所有特征。
Hilite:根据1,COLOR属性值绘制被选中的特征。没有被选中的特征照常绘制。
Selected:仅照常绘制选中的特征。
这里的“照常”是指根据layer中配置的意思。
QueryMap Object无可嵌套的对象。
OutputFormat Object
OutputFormat Object对输出格式定义。一个mapfile文件可以有一种,或多种输出格式,都是通过OutputFormat Object定义的,一个OutputFormat Object定义一种输出格式。如:PNG, GIF, JPEG, GeoTIFF and Flash (SWF)。如果在mapfile种没有定义OutputFormat Object则一下OutputFormat Object定义是隐含的。
GeoTIFF 格式由GDAL 支持,Flash (SWF) 由 MING library支持。
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 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
OutputFormat Object的属性如下:
1,NAME [name]
如:PNG, GIF, JPEG, GeoTIFF等。
2,DRIVER [name]
支持产生此输出格式的程序(驱动程序)。如果驱动程序支持多种格式在书写时加上“/格式名”如“GD/Gif”,“GD/PNG”,“GD/WBMP”,“GD/JPEG”。GDAL和GD 都支持PNG, JPEG 和GIF输出格式。
3,IMAGEMODE [PC256/RGB/RGBA/INT16/FLOAT32]
选择输出图像的样式。不是所有输出格式都支持所有可选择样式。如: GD/GIF 仅支持PC256。
PC256:支持256色 (traditional MapServer mode)
RGB:24位Red/Green/Blue mode。支持所有颜色,当不支持透明。
RGBA:32位 Red/Green/Blue/Alpha mode。支持所有颜色,支持alpha基础的透明。
INT16:Render one band of data in 16 bit integer depth。仅对RASTER layers (through GDAL) 和WMS layers 有效
FLOAT32: Render one band of data in 32bit floating point depth。仅对RASTER layers (through GDAL) 和WMS layers 有效。
4,MIMETYPE [type]
指定给web的mime文件类型 (optional)。
5,EXTENSION [type]
创建该mime文件的边界 (optional)。
6,TRANSPARENT [ON/OFF]
指示该输出格式文件是否支持透明。透明对IMAGEMODE RGB 输出格式不支持。
7,FORMATOPTION [option]
提供一个驱动程序或或format specific option。零个或多个 FORMATOPTION 声明可以OUTPUTFORMAT 中声明(可选)。
GD/JPEG: The "QUALITY=n" option may be used to set the quality of jpeg produced (value from 0-100)。
GD/PNG:The "INTERLACE=[ON/OFF]" option may be used to turn interlacing on or off。
GD/GIF:The "INTERLACE=[ON/OFF]" option may be used to turn interlacing on or off。
GDAL/Gtiff…Supports….the…TILED=YES,BLOCKXSIZE=n,BLOCKYSIZE=n INTERLEAVE=[PIXEL/BAND] and COMPRESS=[NONE,PACKBITS,JPEG,LZW,DEFLATE] format specific options。
GDAL/*:All FORMATOPTIONs are passed onto the GDAL create function. Options supported by GDAL are described in the detailed documentation for each GDAL format。