LAYER Object

LAYER 开始标识为图层,以END结束。这部分描述了怎样把一个图层发布成地图。在 MapFile 文件中至少应有一个图层,图层时用来生产地图的。MapFilezhong 图层在地图上显示的顺序为倒序(第一个图层在最下面,最后一个图层在最上面).

LAYER 对象总体介绍

3.1.1 General Layer Setting

1)        NAME:图层的简短名称,应少于 20 个字符。这个名称是 Mapfile 和Web接口之间的通道。图层名应唯一,否则一个图层会被另一个图层替换。可以使用 GROUP 选项关联一组图层。~取值:~[name]

2)       GROUP:图层所属的组名。组名可以以被模版文件引用。可以通过组名来控制一组图层的ON 和 OFF。取值:[name]。

3)       METADATA:13)METADATA:使用此标识可以存储任意的键值对。经常在配置 OGCWMS 时使用。在创建模版时,它也是很灵活的,这里输入的 任意内容都可以通过模版变迁获得。例子:

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

4)        STATUS:设置图层的状态。一般被 MapServer 本身控制,默认为 ON。取值: [on|off|default]

5)        TYPE:设置数据的表现类型。数据不必都是 shapefile 类型。例如:polygon 类型的 shapefile 可以使用 point 来渲染,但是一个 point 类型的 shapefile 文件不能使用 polygon 来渲染。一般来说, ANNOTATION 意味着为这个 图层加上一个现实的 LABEL,图层本身是不显示的(尽管可以这样做)。点 的 LABEL 显示在点的位置;面得 LABEL 显示在面得质心位置,如果质心不在面内,LABEL 将显示在离质心最近的面区域内;线的 LABEL 现实在 线的中部可见部分;QUERY 意思是说这个图层可以被查询但是不对其进行显示。对面和线进行区分时,一定要主要填充色的设置,在对面进行渲染时,如果填充色和背景色一样,那么你看到的只是一个面的边界线。使用CIRCLE 时必须定义其最小 Bounding 矩形框的范围。

取值:[point|line|polygon|circle|annotation|raster|query]

6)     MINSCALE:图层的最小比例尺。取值:[double]

7)    MAXSCALE:图层的最大比例尺。取值:[double]

8)    SYMBOLSCALE:The scale at which symbols and/or text appear full size. 取值:[double]

9)    TRANSPARENTCY:设置图层的透明度。0 为透明,100 为不透明。取值: [integer|alpha]。

10)    OFFSITE:栅格图层的颜色索引(Sets the color index to treat as transparent for raster layersb)。取值:[r] [g] [b]

11)    POSTLABELCACHE:告诉 MapServer 在所有标签渲染完成后再渲染图例。 在添加同类的元素时很有用。默认为 false。取值:[true|false]

12)    CLASSITEM:Item name in attribute table to use for CLASS lookups。指定要进行查询的属性名称。取值:[attribute]

例子:

# ----------------------------------------------------------------
# Layer Danger Zones
# ----------------------------------------------------------------
LAYER
NAME  "Danger Zones"
GROUP "Zoning" METADATA   title  "Danger Zones"
  author "Department of Environment Protection"
END
TYPE POLYGON
MINSCALE 0
MAXSCALE 1000000 
SYMBOLSCALE 1000 
STATUS ON 
TRANSPARENCY 50 
...

3.1.2 Data Settings

3.1.2.1 Shapefiles

Shapefile 格式的数据是 MapServer 中使用最广泛的一种数据

^1)^ DATA        shapefile 文件的名称及路径,不带扩展名。路径可以使绝对或相对~于~SHAPEPATH 的路径。取值:[path/filename]。

例子:

DATA  “data/hangzhou”

3.1.2.2 Connect to OGR

1)        CONNECTIONTYPE:OGR

2)        CONNECTION:OGR 支持的数据源名称~。对于基于文件的数据源,需要~制定文件的名称和路径以及扩展名,路径可以是绝对路径也可以是相对

路径,相对路径是相对 SHAPEPATH 的路径,如果没有设置 SHAPEPATH,

就是相对.MAP 文件所在目录的路径;对于基于目录的数据源,其值为

对应目录的路径。~取值~:[datasource_name]

3)        DATA:[layer_definition]的值~是数据源使用的名称数字或~SQL 串等。~取~值:[layer_definition]

4)        STYLEITEM AUTO:它指定将使用原始数据集的 STYLES。但是如果原始数

据含有 MAPSERVER 不支持的 STYLE 类型,~可能会被忽略或出错。~

例 1: - MapInfo File; displays a MapInfo TAB file in its source colors using STYLEITEM AUTO:

LAYER
NAME "Built-up Areas"
TYPE POLYGON
CONNECTIONTYPE OGR
CONNECTION "data/tab/builtup\_areas.tab"
STATUS ON
STYLEITEM AUTO
  CLASS
    NAME "Built-up Areas"
  END
END

例 2~:~DGN File; displays layer "0" (DGN terminology = Level) from a DGN-File in a light blue:

LAYER NAME "Water"
TYPE POLYGON
CONNECTIONTYPE OGR
CONNECTION "data/dgn/wat.dgn"
DATA "0"
STATUS ON
  CLASS
    NAME "Water"
    COLOR 0 200 255
  END
END

3.1.2.3 Connect to Databases

3.1.2.3.1 SDE

CONNECTIONTYPE    sde

CONNECTION  “sde 数据库的连接字符串” DATA      “包含 Geometry 字段的图层名称”

例子:

CONNECTIONTYPE sde
CONNECTION "myhost,esri\_sde,gisdb,userid,password" 
DATA sites.shape

3.1.2.3.2 POSTGIS

CONNECTIONTYPE    postgis

CONNECTION  “postgis 数据库的连接字符串”

DATA      值的格式为<列名> from <表名>,列名为包含 geometry 的字段名,表名为对应数据的表名。例子:

CONNECTIONTYPE postgis
CONNECTION "user=gis_user dbname=gis host=localhost" &gt; 
DATA "the_geom from s81"

3.1.2.3.3 ORACLE

CONNECTIONTYPE    oraclespatial

CONNECTION  “oracle 数据库的连接字符串,如 user/pass[@db]

DATA      值的格式为<列名> from <表名>,列名为包含 geometry 的字段名,表名为对应数据的表名。例子:

CONNECTIONTYPE oraclespatial
CONNECTION <%22spa/sig@spa>"
DATA "GEOLOC from FP10010\_LINES"

3.1.2.4 Web Map Service(WMS)

使用 WMS 作为数据源。

CONNECTIONTYPE   WMS

CONNECTION WMS 服务器的 OnlineResource URL。不带有任何参数的 URL 。取值: [url]

METADATA(必填):必须得元数据信息:        wms_srs                     空格分隔的 EPSG 坐标代码      wms_name         逗号分隔的 WMS 图层名称

wms_server_version  WMS 服务的版本号        wms_format      

GetMap 请求中使用的图像格式 METADATA(选填)  详细信息见 WMS 对应的配置文档

wms_connectiontimeout        wms_latlonboundingbox  wms_style wms_<stylename>_sld

wms_time

wms_force_separate_request

例子:

LAYER
NAME "prov_bound"
TYPE RASTER
STATUS ON
CONNECTION "<a href="http://www2.dmsolutions.ca/cgi-bin/mswms_gmap" target="_blank">http://www2.dmsolutions.ca/cgi-bin/mswms_gmap)?</a>"
CONNECTIONTYPE WMS
  METADATA
    "wms_srs" "EPSG:42304 EPSG:42101 EPSG:4269 EPSG:4326 EPSG:42304"
    "wms_name" "prov_bound"
    "wms_server_version" "1.1.0"
    "wms_formatlist" "image/gif,image/png,image/jpeg,image/wbmp"
    "wms_format" "image/gif"
  END
END

3.1.3 Symbol specific Settings

1)        TOLERANCE:基于点或线查询的敏感度。~如果~TOLERANCEUNITS 为默认,那么 TOLERANCE 的默认值为 3px。如果要限制 polygon 类型的查询,需

要将 TOLERANCE 的值设置为 0。取值:[double]

2)        TOLERANCEUNITS: TOLERANCE 的单位,默认为像素。取值:

[pixels|feet|inches|kilometers|meters|miles|dd]

3.1.4 Tiles

1)        TILEINDEX:~图层瓦片的位置或索引的全限定名(~Full filename for the index or tile definition for this layer)。与 ArcInfo 库的索引类似,这个 shapefile

文件包含每个瓦片的 polygon 特征。TILEITEM 给出了瓦片数据的位置信

息。如果 DATA 参数非空那么其值将添加到位置最后。如果 DATA 为空,这个位置会包含文件的全限定名。注意:SHAPEFILE 的 DBF 文件包含有瓦片索引,但是它的名称必须与 Mapserver 中使用的熟悉一致,这样 Mapserver 才能正确地索引到对应的瓦片数据。

TILEINDEX 文件可以使用 GDALTINDEX 工具自动创建。

2)        TILEITEM:~包含瓦片路径的字段名。默认为“~LOCATION”。取值:[attribute] 例子:

#----------------------------------------
# Raster Tiles
# White set to transparent [OFFSITE]
#----------------------------------------
LAYER
NAME "Raster Maps"
TYPE RASTER
MINSCALE 0
MAXSCALE 50000
STATUS ON
TILEINDEX 'raster_tiles'
OFFSITE 255 255 255
END

3.1.5 Filter Option

1)        FILTER:数据的属性过滤,选择指定条件的数据。取值:[string] 例子:FILTER "type='road' and size <2"

2)        FILTERITEM:FILTER 表达式中使用的字段,仅对 OGR 和 SHAPEFILE 有效。取值:[attribute]

例子:~使用~FILTER 和 CLASSITEM 控制字体和颜色

#----------------------------------------------- 
# Sewer Annotation Layer 1
#-----------------------------------------------
LAYER
NAME "Sewer, normal Text"
TYPE ANNOTATION
MAXSCALE 600
STATUS ON
CONNECTIONTYPE OGR
CONNECTION "LK/Texte_MI.TAB"
LABELITEM "OGR:LabelText"
LABELANGLEITEM "OGR:LabelAngle"
LABELSIZEITEM "label_size"
POSTLABELCACHE true
SIZEUNITS inches
CLASSITEM igds_color
FILTERITEM igds_font
FILTER "24"
  CLASS
    EXPRESSION "4"
    LABEL
      ANTIALIAS TRUE
      TYPE TRUETYPE
      FONT arial
      COLOR 0 170 255
      POSITION ur
    END
END
  CLASS
    EXPRESSION "40"
    LABEL
      ANTIALIAS TRUE
      TYPE TRUETYPE
      FONT arial
      COLOR 80 80 80
      POSITION ur
    END
  END
PROJECTION
 "init=world:CH1903"
END END

3.1.6 Label Option

可以参考 LABEL OBJECT 相关的内容

  1. LABEL ITEM:属性表中的字段名称。取值:[attribute]
  2. LABELMINSCALE:LABEL 显示的最小比例。~取值:~[double]
  3. LABELMAXSCALE: LABEL 显示的最大比例。~取值:~[double]
  4. LABELCACHE:指定是否被缓存,是否在图层渲染完成后显示。默认为on. 取值:[on|off]
  5. LABELREQUIRES::~显示~LABEL 显示的上下文(条件)。如LABELREQUIRES ([orthoquads] != 1),在此条件下,如果 orthoquads 图

层的状态为 ON 则不显示 LABEL。这个表达式必须是一个基于 STATUS 的

BOOLEAN 表达式。可以使用逻辑操作 AND 或 OR。取值:[express] 例子:

LAYER
NAME "Percels"
TYPE POLYGON
STATUS ON
DATA "geo/shape/percels.shp"
MINSCALE 0
MAXSCALE 2000
LABELITEM PARCELNUM
LABELANGLEITEM ANGLE
  CLASS
    COLOR -1 0 0
    OUTLINECOLOR 192 192 192
      LABEL
        TYPE truetype
        FONT "arial"
        SIZE 7
        COLOR 0 0 200
       POSITION auto
     END
  END
END

3.1.7其他选项

1)        DEBUG :~允许调试。调试的详细结果被放在~STDERR(the standard error output),如果在 Web Object 使用了 LOG 参数则放在 MapServer logfile 文件中。

2)        DUMP :~确认~MS 是否可以返回 GML 格式数据。当使用 WMS

GetFeatureInfo 选项是有用,缺省是 false。

3)        HEADER:~使用的模板文件仅用于~Multiresult query modes。

4)        FOOTER:~使用的~Footer 模板文件,仅在 Multiresult query 模式下有效。

5)        MAXFEATURES:指定在当前窗口中绘制该图层的特征最大数量。

6)       PROCESSING:向图层发送处理指令。不同类型的图层和处理指令的程序支持不同的指令。  当 前 的 栅格 图 像 支持 ( 由 GDAL 处 理) : SCALE,BANDS 、

COLOR_MATCH_THRESHOLD  和 DITHER。例如: 

PROCESSING "SCALE_1=AUTO" 
PROCESSING "SCALE_2=AUTO" 
PROCESSING "SCALE_3=AUTO"
PROCESSING "BANDS=3,2,1,4"

例子:

Examples:

•       Resampling: Producing map output from raster images not using its original resolution results in blurred results. To avoid that you should use resampling. Be aware to use 24bit output in this case (best is JPEG). Options are AVERAGE, BILINEAR and CUBIC. See as well <a href="http://mapserver.gis.umn.edu/development/rfc/ms-rfc-4).[.](http://mapserver.gis.umn.edu/development/rfc/ms-rfc-4

PROCESSING "RESAMPLE=AVERAGE"

image7 

•       Dither turns on error diffusion mode, used to convert 24bit images to 8bit with error diffusion to get better color resultswhen outputting to 256 color images (8 bit, such as PNG and GIF): 

PROCESSING "DITHER=YES"

image8 

•       Animage would often use up all 256 color entries. The following processing is a way to avoid "stealing" your whole colormap for a raster layer. Normally values in the range 2-6 will give good results: 

PROCESSING "COLOR_MATCH_THRESHOLD=n"

7)        REQUIRES:~设置该图层标记是否显示。如:~ 

ABELREQUIRES ([orthoquads] != 1)意味着如果有一个叫“orthoquads “处

于激活”状态,那么该图层不能有标记。表达式(Expression)是一个 boolen 表达式,如果 一图层的 Status 是 on 则 [layer name] =1,否则

[layer name] =0。

8)        SIZEUNITS:~设置~Class 对象的单位缺省是 pixels。对 simulating buffering 有效。~取值:~[pixels|feet|inches|kilometers|meters|miles]。

9)        TEMPLATE:~作为~CLASS TEMPLATE 的全局替换。~取值:~[file | url]

10)    TRANSFORM:确认一个图层是否需要从一个地理坐标系向图像坐标系转换。缺省为 true。此参数允许创建 shapefile 为图像坐标系。因此有些特

征总是在同一副图的相同位置显示。须注意,图像坐标系的坐标原点在左上角,x轴正向朝右,y 轴正向向下。取值:[true|false]

3.2 CLASS Object

使用 CLASS 可以为图层指定对应的主题

1)        NAME:CLASS 的名称~。取值:~[name]

2)        EXPRESSION: 将 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。

取值:[string]

3)        COLOR: 绘制特征的颜色。~取值:~[r] [g] [b]

4)        OUTLINECOLOR: 多边形符号轮廓的颜色,~不支持~polyline. 取值:[r] [g]

[b]

5)        BACKGROUNDCOLOR:不透明区域的颜色。取值:[r] [g] [b]

6)        SYMBOL: 设置使用的符号。在未设置属性表时使用的 symbol 的名称或数字值时。数字值为某个 symbol 在 symbol 文件中的索引,起始值为 1. 也可以使用 NAME 来制定 symbol 文件着那个对应的 symbol。~缺省是~0,意味着:a single pixel,single width line, 或 solid polygon fill,取决于 layer 类型。 取值:[integer|string]。

7)        SIZE: 符号的高度,以 pixel 为单位。 仅比例尺符号使用。缺省为 1。

8)        MINSIZE: 绘制符号的最小尺寸,以 pixel 为单位。缺省为 0。取值:[integer]

9)        MAXSIZE: 绘制符号的最大尺寸,以~像素为单位。缺省为~50. 取值:[integer]

10)    SYMBOLSCALE: 文本或符号显示的比例。允许图层随 map 的比例发生动态大小变化。如果没有设置那么图层的尺寸一直都不会变化。与 MINSIZE 和 MAXSIZE 有关系~。取值:~[double]。

11)    TEXT: label 显示~的静态文本。它可以做出比~LABELITEM 更好的结果。使

用 () 作为分界符。它允许整合多个属性到一个 label 。例如:

([FIRSTNAME],[LASTNAME])。取值:[string]

12)    TEMPLATE:用来表现查询结果的模版文件。一般为 htm 文件。取值:

[filename]

13)    DEBUG: 允许调试。调试的详细结果被放在 STDERR(the standard error output),如果在 Web Object 使用了 LOG 参数则放在 MapServer logfile 文件中.  例子:

\# ----------------------------------------------------------------
\# Layer Parcel Corner Points
\# The symbol and the size are assigned depending on the
\# database column "TYPE"
\# ----------------------------------------------------------------
 
NAME "Parcel Limit Points"
TYPE POINT MINSCALE 0
MAXSCALE 2000
SYMBOLSCALE 1000
STATUS ON
CONNECTIONTYPE OGR
CONNECTION "..\\data\\parcel\_limit\_points.TAB"
CLASSITEM "TYPE"
  CLASS
    NAME "Stone"
    EXPRESSION "Stone"
    COLOR 255 255 255
    SYMBOL 'circle'
    SIZE 3
  END
  CLASS
    NAME "Iron"
    EXPRESSION "Iron"
    COLOR 255 255 255
    SYMBOL 'circle'
    SIZE 2
  END
  CLASS
    NAME "Cross"
    EXPRESSION "Cross"
    COLOR 255 255 255
    SYMBOL 'cross'
    SIZE 2
  END
END

结果:

image9 

Overlaying Symbols 叠置符号

可以将一个符号叠加到另一个符号上,作为符号的说明等。下面的参数可以

定义叠置符号,他们的用法与非叠置符号相同:

OVERLAYBACKGROUNDCOLOR 

OVERLAYCOLOR 

OVERLAYOUTLINECOLOR 

OVERLAYSIZE 

OVERLAYMINSIZE 

OVERLAYMAXSIZE 

OVERLAYSYMBOL

2.1.1 LABEL Object

使用 LABEL 对应来定义一个标签,标签用来对图层的某个特征进行说明。在定义 LABEL 时可以使用 TrueType 字体对其进行设置。使用 LABELITEM 对 features 加入标签。

This object is used to define a label, which is in turn usually used to annotate a feature with a piece of text. Labels can however also be used as symbols through the use of various TrueType fonts. Features are labeled using the <a href="http://umn.mapserver.ch/MapServer/en/layer.htm#LABELITEM).[.](http://umn.mapserver.ch/MapServer/en/layer.htm#LABELITEM

2.1.1.1 基本设置

1)        TYPE:~使用的字体类型,~bitmap 比 truetype 效率高,但 truetype 类型的字体更新比较方便。取值:[bitmap|truetype]

2)        FONT:~字体的名称(引用~FONTSET)。取值:[name]

3)        COLOR:~文本的颜色。取值:~[r] [g] [b]

4)        SIZE:文本大小。与 SIZEUNITS 中定义的代为对应的大小。对应 TrueType 的取值[integer|layer column];

对应 bitmap 的取值[tiny|small|medium|large|giant]

5)        ENCODING:显示字符的编码,如 Japaneses。如果提供的值不支持,对应的 LABEL 将不被显示。~取值:~[string]

6)        PRIORITY:~设置~LABEL 的优先级。取值:[integer]

7)        MINSIZE:~字体最小显示大小。默认为~4。取值:[integer]。

8)        MAXSIZE:~字体最大显示大小。默认为~256。取值:[double]

9)        MINFEATURESIZE:~被标记特征的最小尺寸,以~pixels 为单位,仅对 cached labels 有效。对线数据是长度。对多边形是最小面积。 如果选“Auto” 则 MapServer 仅显示那些特征的大小比它们的标记大的多的标签. 取值:[integer | auto]

2.1.1.2 Text  Effects

  1. ANTIALTAS:~是否使用抗锯齿(平滑)。取值:~[true | false]。

  2. OUTLINECOLOR:文本边界的颜色,默认为没有边界。取值:[r][g] [b]

  3. SHADOWCOLOR:~文本阴影颜色。取值:~[r] [g] [b]

  4. SHADOWSIZE:~文本阴影大小。取值:~[x] [y]

  5. BACKGROUNDCOLOR:~背景色,默认为~OFF。~取值:~[r] [g][b]

  6. BACKGROUNDSHADOWCOLOR:~背景阴影色,默认为~OFF。取值:[r][g] [b]

  7. BACKGROUNDSHADOWSIZE:~背景阴影大小,默认为~1. 取值:[x][y]

2.1.1.3 Position Option

1)        POSITION:Label 的位置。首字母是“Y”位置,第二个为“X”位置。“Auto “告知 MapServer 计算该 label 的不会与其他 label 相冲突的位置~。取值:[ul|uc|ur|cl|cc|cr|ll|lc|lr|auto]

2)        ANGEL:值用角度制表示。指示标签的角度。对于线图层可以使用 AUTO 值,可以指定对应的精确角度,如: ANGLE [Rotation] 。取值: [double|auto|follow|attribute]

3)        OFFSET:LABEL 的偏移量,~单位为~pixels,相对于左上角的位置。

4)        MINDISTANCE:~复制一个~label 产生的 label 与被复制的 label 之间的最小距离。单位 pixels。~取值:~[integer]。

5)        BUFFER:在 LABEL 周围填充相应的颜色,可以提高文本的可读性,默认为 0。取值:[integer]

6)        FORCE:~对~LABEL 强制使用对应的 CLASS,不论是否与别的 LABEL 冲突,仅对 cached label 有效。默认为 false。取值:[true | false]。

7)       PARTIALS:~是否显示不完整的~LABEL,默认为不显示部分坐标。取值:[true| false]

8)        WRAP:~表示行结束的字符。取值~:[character]。例子:

# ----------------------------------------------------------------
# Layer Object Names
# The names are rotated along the lines
# ----------------------------------------------------------------

LAYER
NAME "Object Names"
STATUS ON TYPE LINE
MINSCALE 0
MAXSCALE 1000
SYMBOLSCALE 500
DATA "landcover/object_names"
LABELITEM "NAME"
  CLASS
    LABEL
      TYPE TRUETYPE
      FONT Arial
      SIZE [sizeitem]
      COLOR 0 0 0
      OUTLINECOLOR 255 255 255
      ANTIALIAS TRUE
      ANGLE [angleitem]
      FORCE false
    END
  END
END

2.1.2 STYLE Object

使用 STYLE 可以实现符号化。可以对一个图层使用多个 STYLE。

1)        COLOR:绘制特征的颜色。取值:[r] [g] [b]

2)        OUTLINECOLOR:多边形符号轮廓的颜色,不支持线状符号。取值:[r] [g] [b]

3)        BACKGROUNDCOLOR:~不透明符号的颜色。取值:~[r] [g] [b]

4)        SYMBOL:设置使用的符号。在未设置属性表时使用的 symbol 的名称或数字值时。数字值为某个 symbol 在 symbol 文件中的索引,起始值为 1. 也可以使用 NAME 来制定 symbol 文件着那个对应的 symbol。缺省是 0,意味着:a single pixel,single width line, 或 solid polygon fill,取决于 layer 类型。 取值:[integer|string]。

5)        ANTIALIAS :是否对 TrueType 字体使用平滑(抗锯齿)效果。取值:[true|false]

6)        SIZE:~使用~SIZEUNITS 为单位的符号大小值,默认值为 1,仅对 scalable symbols 有效。取值:[integer]

7)        SIZEITEM:~存储大小的字段名,单位为~SIZEUNITS。取值:[string]。 8) MINSIZE:~绘制符号的最小值,单位为~SIZEUNITS。取值:[double]

9)        MAXSIZE:~绘制符号的最大值,单位为~SIZEUNITS。取值:[double]

10)    OFFSET:~空心和阴影~

11)    ANGLE:~线的角度,对~ HATCH 类型,为阴影线~,单位为度。取值:~[double]

12)    ANGLEITEM:存储角度值的字段名,值为 0 时表示没有旋转。取值:[double]

13)    WIDTH:~线的宽度,默认为~1. 取值:[integer]

14)    MINWIDTH:~使用~HATCH 类型的符号的~线的最小宽度。取值:~[integer]

15)    MAXWIDTH:~使用~HATCH 类型的符号的线的最大宽度。取值:[integer]

例 1:Streets signature using overlaying lines in two thicknesses and coloers LAYER

NAME "Motorwway"

TYPE LINE

MINSCALE 23500

MAXSCALE 140000

STATUS ON

LABELITEM "NAME"

DATA teleatlas/streets/streets_main_roads_polyline

CLASS

STYLE

SYMBOL "continue"

SIZE 4

COLOR 255 0 0

END

STYLE

SYMBOL "continue"

SIZE 2

COLOR 255 240 12

END

END

END 例 2:Hatching

Symbol definition in Symbol File:

SYMBOL

NAME 'hatch-test'

TYPE HATCH

END        

Layer definition in Mapfile:

LAYER   ...

CLASS     ...

STYLE

SYMBOL 'hatch-test'

COLOR 255 0 0      

ANGLE 45

SIZE 10

WIDTH 3

END

END

END

3.3 JOIN Object

定义了怎样处理 JOIN,JOIN 定义在 QUERY 对下内。

1)        NAME:JOIN 的一个唯一的名称。取值:[string]

2)        TABLE:~需要进行~JOIN 操作的 XBase 文件名称(DBF,包含路径的名称)。取值:[filename]

3)        FROM:Join item in the shapefile。取值:[item]

4)        TO:Join item in the table to be joined。取值:[item]

5)        TYPE:JOIN 的类型。默认是 singel。取值:[single|multiple]

6)        TEMPLATE:~在~one-to-many 情况下的模版文件名称。每处理一条记录调用一次模版文件并且只能替换 JOIN TABLE 中的 items。取值:[filename].

例子:In the following example we join the layer parcels to a table owners using columns NUMBER in Parcel and PARCEL_NR in Owners as key fields:

LAYER 

NAME "Parcels"

STATUS ON

DATA "data/parcels" 

TYPE LINE

HEADER "NUMBER AREA NAME ZIP LOCALITY"

JOIN

NAME "Owners"

TABLE "data/owners.dbf"

FROM NUMBER

TO PARCEL_NR

TYPE multiple

TEMPLATE owners.htm

END

CLASS

COLOR 0 0 0

SYMBOL "continue"

SIZE 2

TEMPLATE parcels.htm 

END

END

3.4 PROJECTION Object

提示:如果你的数据的投影一致,一般不需要设置投影。

如果要设置投影,一般我们要设置两种投影,输出投影和输入投影。输出投

影是 MAP 对应的投影,在 MAP 下设置;输入投影时值是指每个 LAYER 的投影。

PROJECTION 对象由一系列 PROJ.4 的关键字组成,下面是一个例子:

PROJECTION
  "proj=utm"
  "ellps=GRS80"
  "zone=15"
  "north"
  "no_defs" 
END

地理坐标的定义如下:

PROJECTION
  "proj=latlong" 
END

使用 EPSG 的坐标参数如下:

PROJECTION
  "init=epsg:28992"
END

3.5 GRID Object

GRID 对象定义了地图的网格~(~The GRID object defines a map graticule as a LAYER)。

  • MINARCS:绘制弧段的最小数量。取值:[double]
  • MAXSRCS:绘制弧段的最大数量。取值:[double]
  • MININTERVAL:最小间隔数量。取值:[double]
  • MAXINTERVAL:最小间隔数量。取值:[double] 5)MINSUBDIVIDE:绘制弧段允许的最少分段。取值:[double]。
  • MAXSUBDIVIDE:绘制弧段允许的最多分段。取值:[double]。
  • LABELFORMAT:标签格式。“DDMM”是 度、分格式,“DDMMSS” 是度、分、秒格式。 默认是小数格式。DDMMSS:degree,minute,second

例子:

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

3.6 FEATURE Object

定义 layer 的内置特征。当创建一个新 layer 不大可能或太过于复杂的情形下

可以使用内置的特征解决问题。内置特征也可以通过 url 或表单来创建.

1) POINTS:~一组~x、y 坐标对。以 END 结束。如~:

POINTS
    1 1 50 50 1 50 1
END

注意:注意对于多边形 layer 起点更终点应相同

2) TEXT:标记特征的文本。

例子:

# ====================================================================
# Layer with Copyright Text to be printed on every Output
# ====================================================================
LAYER
NAME "Copyright"
TYPE ANNOTATION
STATUS ON
TRANSFORM OFF
FEATURE
  POINTS
    10 600
  END
  TEXT "© Data provided by expensive European Government Agency"
END
 CLASS
  COLOR -1 0 0
  LABEL
    FONT "Arial"
    TYPE TRUETYPE
    ANTIALIAS TRUE
    COLOR 255 0 0
    SIZE 8
    POSITION lr
  END
 END
END