Map Object
Map Object是MapFile的根對象,其他對象都包含在其中。它屬性定義應(yīng)用程序的大部分參數(shù)。Map Object的屬性如下:
1,DATAPATTERN [正則表達(dá)式]
該參數(shù)定義了由URLs改變DATA參數(shù)(如:map_layername_data=...)的表達(dá)式。
2,DEBUG
允許調(diào)試。調(diào)試的詳細(xì)結(jié)果被放在STDERR(the standard error output),如果在Web Object使用了LOG參數(shù)則放在MapServer logfile文件中。
3,EXTENT [minx] [miny] [maxx] [maxy]
地圖邊界
4,F(xiàn)ONTSET [filename]
使用得字體文件,如:C:\WINDOWS\Fonts\myfonts.txt。
5,IMAGECOLOR [r] [g] [b]
設(shè)置地圖背景顏色。r,g,b分別為紅、綠、藍(lán)。
6,IMAGEQUALITY [int]
JPEG格式輸出得質(zhì)量。更為普遍得做法是在OUTPUTFORMAT 的聲明中,在FORMATOPTION 中使用"QUALITY=n" 來說明。
7,IMAGETYPE [gif|png|jpeg|wbmp|gtiff|swf|userdefined]
輸出格式。可選項在OUTPUTFORMAT中定義。
8,INTERLACE [on|off]
輸出圖像是否允許交錯,缺省下是[on]。更為普遍的做法是在OUTPUTFORMAT的FORMATOPTION中使用 "INTERLACE=ON" 設(shè)置。
9,NAME [name]
由此MapFile文件生成的map,比例,圖例圖像名前綴。盡量簡短。
10,RESOLUTION [int]
設(shè)置輸出圖像每英寸象素個數(shù),僅對比例有影響。缺省是72。
11,SCALE [double]
設(shè)置地圖比例,通常由應(yīng)用程序設(shè)置。
12,SHAPEPATH [filename]
Shapfile文件夾路徑。
13,SIZE [x][y]
輸出圖像大小。
14,STATUS [on|off]
設(shè)置地圖狀態(tài)是否被激活。如有時為了僅使用reference map或 scale bar,把此設(shè)為off
15,SYMBOLSET [filename]
使用的標(biāo)志符號文件。
16,TEMPLATEPATTERN [regular expression]
該參數(shù)定義了由URLs改變TEMPLATE參數(shù)(如:map_layername_template=...)的表達(dá)式。
17,TRANSPARENT [on|off]
設(shè)置地圖背景顏色是否透明,缺省是off.。
18,UNITS [feet|inches|kilometers|meters|miles|dd]
地圖坐標(biāo)系的單位,用于比例尺,及比例計算。
Map Object允許嵌套的對象:PROJECTION,QUERYMAP,REFERENCE,SCALEBAR,SYMBOL,WEB,LAYER,LEGEND。
Layer Object
Layer Object圖層對象與使用的每個圖層相對應(yīng),一個MapFile允許有50個,可以通過修改源代碼改變。在MapFile文件中首先定義的Layer處在地圖最底層,最后定義的在地圖頂層。Layer Object屬性:
1, CONNECTIONTYPE [local|sde|ogr|postgis|oraclespatial|wms]
連接的數(shù)據(jù)源,缺省是本地。
2,CONNECTION [string]
配置遠(yuǎn)程數(shù)據(jù)連接。
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]
使用的空間數(shù)據(jù)文件。并非一定要shapefile文件格式。
如果式SDE數(shù)據(jù),參數(shù)應(yīng)包含圖層名稱和geometry column,如"mylayer,shape"。
如果式 PostGIS 圖層, 參數(shù)格式:
“<columnname> from <tablename>”,其中“columnname” 是含有g(shù)eometry objects的
Column的名字;"tablename"是使用的geometry data的table名字。
如果是Oracle, 參數(shù)格式: "shape FROM table" 或 "shape FROM (SELECT statement)" 或更為復(fù)雜的Oracle查詢。
4, DEBUG
對Layer Object調(diào)試。
5, DUMP [true|false]
確認(rèn)MS是否可以返回GML格式數(shù)據(jù)。當(dāng)使用 WMS GetFeatureInfo選項是有用,缺省是fault。
6,F(xiàn)ILTER [string]
該字符串保證在Class表達(dá)式被檢測之前data specific attribute 過濾與spatial 過濾同步,OGR和shapefiles 的字符串設(shè)置是一個簡單的MS表達(dá)式,對于spatial databases 該字符串是一個SQL WHERE 字句。如: FILTER “type='road' and size <2“。
7,F(xiàn)ILTERITEM [attribute]
FILTER expressions使用的項目,僅用于OGR和shapefiles。
8,F(xiàn)OOTER [filename]
使用的模板文件,僅用與Multiresult query modes。
10,GROUP [name]
Layer所屬的組名。可以對一個組進(jìn)行操作。
11,HEADER [filename]
使用的模板文件僅用于Multiresult query modes。
12,LABELANGLEITEM [attribute]
屬性表中使用的字段名,用于class annotation angles,值應(yīng)是用度表示。
13,LABELCACHE [on|off]
指定標(biāo)記(Labels)在圖層繪制時是否被繪制成該圖層的特征或者它們先隱藏,在所有圖層皆繪制后在顯示。缺省是on。只有Label cache激活時,Label 重疊移動,自動布局才可用。
14,LABELITEM [attribute]
用于 class annotation (如 labeling)的屬性表中的字段名。
15,LABELMAXSCALE [double]
圖層標(biāo)記的最大比例。
16,LABELMINSCALE [double]
圖層標(biāo)記的最小比例。
17,LABELREQUIRES [expression]
設(shè)置該圖層標(biāo)記是否顯示。如:
LABELREQUIRES ([orthoquads] != 1)意味著如果有一個叫“orthoquads “處于激活
狀態(tài),那么該圖層不能有標(biāo)記。表達(dá)式(Expression)是一個boolen表達(dá)式,如果
一圖層的Status是on則 [layer name] =1,否則[layer name] =0。
17,LABELSIZEITEM [attribute]
用于Class注釋尺寸的屬性表中的字段名。值必須是以像元為單位。
19,MAXFEATURES [integer]
指定在當(dāng)前窗口中繪制該圖層的特征最大數(shù)量。
20,MAXSCALE [double]
繪制圖層的最大比例。
21,METADATA
METADATA以END結(jié)尾。可以在其中加入任何說明。用于定義OGC WMS的要素。 其中的說明可以被template tags訪問,從而增強創(chuàng)建template文件的彈性。如:
METADATA title "My layer title"
author "Me!" END
22,MINSCALE [double]
繪制該圖層的最小比例。
23,NAME [string]
圖層名稱。允許有20個字符。它可以連接mapfile文件和web interfaces。
24,OFFSITE [r] [g] [b]
設(shè)置柵格圖層的transparent顏色索引。
25,POSTLABELCACHE [true|false]
選擇true則MS在繪制處于cache中的全部label 后,繪制此圖層。缺省是fault。
對于增加neatlines 和簡單的elements非常有用。
26,PROCESSING [string]
向圖層發(fā)送處理指令。不同類型的圖層和處理指令的程序支持不同的指令。
當(dāng)前的柵格圖像支持(由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]
設(shè)置Class對象的單位缺省是pixels。對simulating buffering由用。
29,STATUS [on|off|default]
設(shè)置該圖層的狀態(tài)。缺省是on。
30,STYLEITEM [attribute]
用于feature specific styling的字段。設(shè)置非常經(jīng)驗化,但前僅用于OGR。
31,SYMBOLSCALE [double]
文本或符號顯示的比例。允許圖層隨map的比例發(fā)生動態(tài)大小變化。如果沒有設(shè)置那么圖層的尺寸一直都不會變化。與MINSIZE和MAXSIZE 有關(guān)系。
32,TEMPLATE [file|url]
作為CLASS TEMPLATE的全局替換。
33,TILEINDEX [filename]
該圖層的索引或tile定義文件,類似與ArcInfo 的庫索引,此shapefile文件包含每一個tile的多邊行特征。包含tiled數(shù)據(jù)路徑的字段由參數(shù)TILEITEM給出。如果參數(shù)DATA 含有一個值那么它就被添加到路徑的末尾。如果DATA 為空那么路徑應(yīng)含有完整的文件名。
34,TILEITEM [attribute]
含有tile路徑的字段,缺省為“l(fā)ocation”。
35,TOLERANCE [double]
對點查詢敏感度。(如 鼠標(biāo)點擊或 map coordinates)。在TOLERANCEUNITS中給出(缺省為3 pixels)。為了限制polygon查找,將polygon容差設(shè)為0。.
36,TOLERANCEUNITS [pixels|feet|inches|kilometers|meters|miles|dd]
TOLERANCE值的單位,缺省為pixels。
37,TRANSPARENCY [integer]
設(shè)置圖層的所有像元的transparency 水平。值在0~100之間。100表示不透明,0表示完全透明。
38,TRANSFORM [true|false]
確認(rèn)一個圖層是否需要從一個地理坐標(biāo)系向圖像坐標(biāo)系轉(zhuǎn)換。缺省為true。此參數(shù)允許創(chuàng)建shapefile為圖像坐標(biāo)系。因此有些特征總是在同一副圖的相同位置顯示。須注意,圖像坐標(biāo)系的坐標(biāo)原點在左上角,y軸朝下,x軸朝右。
39,TYPE [point|line|polygon|circle|annotation|raster|query]
指明數(shù)據(jù)怎樣繪制。無須與shapefile 文件類型一致。例如一個多邊形shapefile文件以點圖層繪制。但是點shapefile 文件不可以以多邊形圖層繪制。
40,CLASSITEM [attribute]
用于Class的字段。
Layer Object可以嵌套的對象:Class,F(xiàn)EATURE,PROJECTION。
Grid Object
Grid Obect定義地圖的格網(wǎng)。它是在Layer Object對象中定義的。
1, LABELFORMAT [DDMM|DDMMSS]
標(biāo)簽格式。“DDMM”是 度、分格式,“DDMMSS” 是 度、分、秒格式。 缺省是小數(shù)格式。 2,MINARCS [double]
繪制弧段的最小數(shù)量。
3,MAXARCS [double]
繪制弧段的最大數(shù)量。
4,MININTERVAL [double
最小間隔數(shù)量
5,MAXINTERVAL [double]
最大間隔數(shù)量
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定義比例尺如何創(chuàng)建。但前比例尺字體不支持TrueType字體。比例尺圖像的大小在創(chuàng)建之前是未知的,所以在template文件中使用<IMG>標(biāo)記時,不要指明比例尺圖像的大小。
1,BACKGROUNDCOLOR [r] [g] [b]
比例尺的背景色。不是輸出的比例尺圖像的背景色。
2,COLOR [r] [g] [b]
當(dāng)屬性表不被使用時,所有比例尺要素的輸出顏色。
3,IMAGECOLOR [r] [g] [b]
比例尺初始化時顏色。
4,INTERLACE [true|false]
輸出比例尺圖像是否允許交錯,缺省下是[on]。更為普遍的做法是在OUTPUTFORMAT的FORMATOPTION中使用 "INTERLACE=ON" 設(shè)置
5,INTERVALS [integer]
比例尺間隔數(shù)量。缺省為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為單位。文本不計算在內(nèi)。
10,STATUS [on|off|embed]
確認(rèn)是否創(chuàng)建比例尺輸出圖像及是否要被嵌入到一個輸出圖像。缺省是off.。
11,STYLE [integer]
選擇比例尺式樣(style),0或1。
12,TRANSPARENT [on|off]
設(shè)置比例尺背景顏色是否透明,缺省是off.。現(xiàn)在更為流行的做法是在OUTPUTFORMAT 中聲明。
13,UNITS [feet|inches|kilometers|meters|miles]
比例尺單位,缺省是米。
Scalebar Object允許嵌入LABEL對象。
Legend Object
定義一個圖例。圖例的內(nèi)容從layer的class中獲得。在class的name屬性中設(shè)置使用的lengend即可。圖例的大小在創(chuàng)建之前是未知的,所以在template文件中使用<IMG>標(biāo)記時,不要指明圖例的大小。
1,IMAGECOLOR [r] [g] [b]
圖例初始化時顏色。
2,INTERLACE [on|off]
輸出圖像是否允許交錯,缺省下是[on]。更為普遍的做法是在OUTPUTFORMAT的FORMATOPTION中使用 "INTERLACE=ON" 設(shè)置。
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]
決定圖例輸出圖像是否創(chuàng)建。
9,TRANSPARENT [on|off]
確認(rèn)圖例背景顏色是否透明。更為普遍的做法是在OUTPUTFORMAT 中聲明, 缺省為off。
Lengend Object允許嵌套的對象:LABEL。
Projection Object
Projection Object設(shè)置投影。必須定義兩種投影對象。一種用于說明輸出圖像投影 (在 MAP object中定義) ,另一種用于各個圖層(在 LAYER objects種定義) 投影描述。Projection objects含有一系列 PROJ.4 關(guān)鍵字。例如:UTM zone 15, NAD83投影描述成:
PROJECTION
"proj=utm"
"ellps=GRS80"
"zone=15"
"north"
"no_defs"
END
地理坐標(biāo)系定義:
PROJECTION
"proj=latlong"
END
詳細(xì)資料:PROJ.4 user guides。
Label Object
Label Object用于定義注釋特征的文本標(biāo)簽,或者通過使用TrueType 作為symbols用。Label Object的屬性:
1, ANGLE [double]
值用角度制表示。指示標(biāo)簽的角度。對于線圖層可以使用AUTO值。
2, ANTIALIAS [true|false]
確認(rèn)標(biāo)簽中的文本是否可以別名。True為不允許別名。注意需要多一些的colors并會導(dǎo)致輸出圖像輕微的變大。
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,F(xiàn)ONT [name]
在Map Object的 FONTSET文件中定義的字體別名。
9,F(xiàn)ORCE [true|false]
強制對一個特征類(Class)進(jìn)行標(biāo)記,而無視標(biāo)簽沖突。僅對cached labels有效。缺省false。
10,MAXSIZE [integer]
字體最大顯示尺寸。缺省為256。
11,MINDISTANCE [integer]
復(fù)制一個label產(chǎn)生的label與被復(fù)制的label之間的最小距離。值為pixels。
12,MINFEATURESIZE [integer|auto]
被標(biāo)記特征的最小尺寸,以pixels為單位,僅對cached labels有效。對線數(shù)據(jù)是長度。對多邊形是最小面積。 如果選“Auto”則 MapServer 僅顯示那些特征的大小比它們的標(biāo)記大的多的標(biāo)簽。
13,MINSIZE [integer]
字體顯示的最小值,缺省為4。
14,OFFSET [x][y]
單位為pixels。坐標(biāo)原點在左下角。
15,OUTLINECOLOR [r] [g] [b]
文本輪廓顏色。
16,PARTIALS [true|false]
確認(rèn)文本是否可以超出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]
文本末尾出現(xiàn)的字符。
Label中無嵌套對象。
Class Object
Class Object定義一個給定的Layer專題類別,每個圖層至少有一個類別。在Layer Object中的ClassItem設(shè)置分類的項目。如一個公路圖層,可以根據(jù)公路的級別(ClassItem)分為國道,一級公路,二級公路等。其屬性如下:
1,BACKGROUNDCOLOR [r] [g] [b]
不透明符號顏色。
2,COLOR [r] [g] [b]
特征顯示的顏色。
3,DEBUG
與map DEBUG的意義相似。
4,EXPRESSION [string]
將string與ClassItem比較,以確定Class。
有三種表達(dá)式:字符串,正則表達(dá)式, 邏輯表達(dá)式。如果沒有給出string,那么所有特征都?xì)w在此Class中。
字符串對大小寫敏感,易于快速處理。沒有轉(zhuǎn)義字符。
正則表達(dá)式需要用 /regex/來定義。不須引用。
邏輯表達(dá)式允許基于一個或更多的屬性建立相當(dāng)復(fù)雜的測試,也因此僅對shapefile文件有效。邏輯表達(dá)式以“(expression)”形式定義。用到的屬性須加以[],即:“[ATTRIBUTE]”。注意屬性值大小寫敏感并且要與shapefile文件中的字段一致。例如:
EXPRESSION ([POPULATION] > 50000 AND '[LANGUAGE]' eq 'FRENCH')
邏輯表達(dá)式允許操作符: =,>,<,<=,>=,=,or,lt,gt,ge,le,eq。其處理速度要慢。
字符串和正則表達(dá)式都是以layer中classitem為分類依據(jù)的。同一個layer可以同時有使用這三種表達(dá)式的class。
5,MAXSIZE [integer]
繪制一個符號的最大尺寸,以pixel為單位,缺省為50。
6,MINSIZE [integer]
繪制一個符號的最小尺寸,以pixel為單位,缺省為0。
7,NAME [string]
使用此Class的圖例(Lengend)名稱。如果沒有設(shè)置,則此class不會顯示在圖例中。
8,OUTLINECOLOR [r] [g] [b]
多邊形符號輪廓的顏色,線符號不支持。
9,SIZE [integer]
符號的高度,以pixel為單位。 僅比例尺符號使用。缺省為1。
10,SYMBOL [integer|string]
設(shè)置使用的符號。String為定義Symbole文件中的符號名稱。Integer是符號索引值。缺省是0,意味著:a single pixel,single width line, 或 solid polygon fill,取決于layer類型。
11,TEMPLATE [filename]
使用的template的文件。
12,TEXT [string]
該class使用的label的靜態(tài)文本。 它的值超出LABELTIEM。字符串可以使用()定義。它允許整合多個屬性到一個label。例如:([FIRSTNAME],[LASTNAME])。
Class Object允許定義兩個symbol。第二個在上。使用如下屬性:
OVERLAYBACKGROUNDCOLOR
OVERLAYCOLOR
OVERLAYOUTLINECOLOR
OVERLAYSIZE
OVERLAYMINSIZE
OVERLAYMAXSIZE
OVERLAYSYMBOL
Class Object允許嵌套的對象:JOIN,LABEL,STYLE。
Feature Object
定義layer的內(nèi)置特征。當(dāng)創(chuàng)建一個新layer不大可能或太過于復(fù)雜的情形下可以使用內(nèi)置的特征解決問題。內(nèi)置特征也可以通過url或表單來創(chuàng)建。
1,POINTS
一組x、y坐標(biāo)對。以END結(jié)束。例如:
POINTS
1 1 50
50 1
50 1 1
END
注意對于多邊形layer起點更終點應(yīng)相同。
2,TEXT [string]
標(biāo)記特征的文本。
Feature Object無可以嵌套對象。
Join Object
Join Object定義如何處理join。Join Object嵌套在其他查詢對象中。
1,F(xiàn)ROM [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配置符號參數(shù)。一個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]
設(shè)置使用的符號。String為定義Symbole文件中的符號名稱。Integer是符號索引值。缺省是0,意味著:a single pixel,single width line, 或 solid polygon fill,取決于layer類型。
Style Object無可嵌套對象。
Symbology Reference
Symbol 定義可以包含在MapFile中;更普遍的是在獨立文件中,并通過在Map Object中使用SYMBOLSET 引用。在獨立文件中設(shè)置Symbol,可以增強可重用性。MapServer有三種symbol類型:Markers,Shadesets和Lines。對于點符號,symbol 0 是單個像元。對于陰影 (如多邊形填充) symbol 0是一個實填充。對于線符號,symbol 0表示只有一個像元寬的線。在Symbol中不包含顏色定義,顏色定義在Class Object中。每個文件最多允許定義64種符號。 可以通過修改源文件mapsymbol.h中的MS_MAXSYMBOLS 的值來設(shè)置允許定義的最多符號數(shù)。
語法:
1,ANTIALIAS [true|false]
是否允許TrueType fonts別名。True為不允許。
2,CHARACTER [char]
單個字符,用來對TrueType 中的字符引用。需要算出從鍵盤字符到字體字符的映象。
3,F(xiàn)ILLED [true|false]
以用戶定義的顏色(在Class Object中定義)填充符號。對于Markers 類型的符號,如果 OUTLINECOLOR 被指定,那么輪廓就以用戶定義的顏色顯示。
4,F(xiàn)ONT [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半徑或橢圓形。坐標(biāo)以像元為單位。定義了符號缺省大小。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)設(shè)置透明色。或確認(rèn)是否所有的陰影符號都要有個透明的背景。缺省情況下符號背景色與所屬圖像顏色相同。
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;如果沒有定義則用戶進(jìn)入ERROR [url]。
2,ERROR [url]
3,F(xiàn)OOTER [filename]
使用的Footer模板文件,僅在Multiresult query 模式下有效。
4,HEADER [filename]
使用的Header模板文件,僅在Multiresult query 模式下有效。
5,IMAGEPATH [path]
存儲臨時文件和圖像的路徑。根據(jù)操作系統(tǒng)不同以“\”“/”結(jié)尾。
6,IMAGEURL [path]
配置IMAGEPATH的URL訪問路徑。該URL 將引導(dǎo)瀏覽器從IMAGEPATH中獲取輸出圖像。
7,LOG [filename]
記錄MapServer服務(wù)。
8,MAXSCALE [double]
web交互界面有效的最大尺寸。如果用戶輸入的頁面尺寸請求超過Map Object中定義的最大尺寸,則 MapServer 就以這個尺寸響應(yīng)用戶請求;即輸出圖像。對防止用戶過分放大圖像非常有用。
9,MAXTEMPLATE [file|url]
Template to be used if above the maximum scale for the app, useful for nesting apps.
10,METADATA
METADATA以END結(jié)尾。可以在其中加入任何說明。用于定義OGC WMS的要素。 其中的說明可以被template tags訪問,從而增強創(chuàng)建template文件的彈性。如:
METADATA
title "My layer title"
author "Me!"
END
11,MINSCALE [double]
web交互界面有效的最小尺寸。如果用戶輸入的頁面尺寸請求小于Map Object中定義的最小尺寸,則 MapServer 就以這個尺寸響應(yīng)用戶請求;即輸出圖像。對防止用戶過分縮小圖像非常有用。
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定義參照地圖如何創(chuàng)立。支持三種參照地圖類型。參照地圖最普遍的用法是做為map的觀察窗口。可以利用參照地圖對查詢結(jié)果進(jìn)行觀察。當(dāng)點查詢發(fā)生時,會在輸出Reference Map中產(chǎn)生一個點符號,以指示被查詢的位置。區(qū)域查詢就在Reference Map 中產(chǎn)生一個方框,以指示查詢區(qū)域。特征查詢就在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文件中使用的符號,當(dāng)觀察窗口時用來顯示。缺省為: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]
確認(rèn)是否創(chuàng)建Reference Map,缺省是off。
Reference Map Object無可嵌套的對象。
QueryMap Object
QueryMap Object定義了查詢結(jié)果(map)的生成機制。
1,COLOR [r] [g] [b]
要增強顯示的特征顏色,缺省為黃色。
2,SIZE [x][y]
地圖大小,以pixel為單位。缺省值為Map Object中的size。
3,STATUS [on|off]
確認(rèn)查詢結(jié)果map是否要繪制。
4,STYLE [normal|hilite|selected]
設(shè)置選中的特征如何顯示。沒有被查詢的layer照常顯示。
Normal:繪制layer的所有特征。
Hilite:根據(jù)1,COLOR屬性值繪制被選中的特征。沒有被選中的特征照常繪制。
Selected:僅照常繪制選中的特征。
這里的“照常”是指根據(jù)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 支持,F(xiàn)lash (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]
支持產(chǎn)生此輸出格式的程序(驅(qū)動程序)。如果驅(qū)動程序支持多種格式在書寫時加上“/格式名”如“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。支持所有顏色,當(dāng)不支持透明。
RGBA:32位 Red/Green/Blue/Alpha mode。支持所有顏色,支持alpha基礎(chǔ)的透明。
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]
創(chuàng)建該mime文件的邊界 (optional)。
6,TRANSPARENT [ON/OFF]
指示該輸出格式文件是否支持透明。透明對IMAGEMODE RGB 輸出格式不支持。
7,F(xiàn)ORMATOPTION [option]
提供一個驅(qū)動程序或或format specific option。零個或多個 FORMATOPTION 聲明可以O(shè)UTPUTFORMAT 中聲明(可選)。
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。