LAYER

../_images/layer_classes.png
BINDVALS

6.0 新版功能.

此关键字允许创建名称值对以绑定SQL语句中的变量。变量绑定通过正确转义字符串和整数来防止SQL注入。适用于 PostGISOracle 仅限连接。

例子:

DATA "the_geom from (select * from province where name_e = $1) as foo using unique gid"
BINDVALS
        "1"  "Nova Scotia"
END
CLASS

表示开始 CLASS 对象。

在一个层中,只有一个类将用于呈现特征。每个特性都按照映射文件中定义的顺序对每个类进行测试。匹配其最小/最大比例约束及其 EXPRESSION 检查当前功能将用于渲染。

这可以通过以下方式进行控制 RENDERMODE 处理指令。

类组[字符串]

指定在呈现时要考虑的类的组。这个 CLASS 对象的Group参数必须与ClassGroup组合使用。

类项[属性]

属性表中用于类查找的项名称。

CLUSTER

表示开始 CLUSTER 对象。

集群配置选项提供了将层中的多个功能根据其相对位置组合成单个(聚合)功能。仅支持点图层。

COMPOSITE

表示开始 COMPOSITE 对象。

可以使用一个或多个复合块来表示应在临时图像中进行渲染,并在最后一步中合并到最终地图图像中。复合块内定义的选项将决定如何进行合并(例如,通过应用不透明度、合成运算符或像素过滤器)

连接[字符串]

用于检索远程数据的数据库连接字符串。

PostGIS连接字符串基本上是常规的PostgreSQL连接字符串,其形式为“user=nobody password=******dbname=dbname host=localhost port=5432”

Oracle连接字符串:user/pass[@db]

SDE连接字符串由主机名、实例名、数据库名、用户名和密码组成,用逗号分隔。

警告

在MapServer 7.0版本中删除了MapServer的原生SDE驱动程序(请参见 discussion )。SDE支持仍可通过 OGR driver

参见

矢量数据 用于各种数据源的特定连接信息。

参见

核密度估计(动态热图) 用于核密度估计的特定连接信息。

CONNECTIONOPTIONS

7.6.0 新版功能.

此关键字允许定义表示为键/值对的连接选项。这目前仅适用于CONNECTIONTYPE OGR或栅格层,以将打开选项传递给GDAL/OGR驱动程序。

用于指定OGR GeoJSON驱动程序的FLATEN_NESTED_ATTRIBUTES打开选项的GeoJSON数据源的示例。

CONNECTIONOPTIONS
    "FLATTEN_NESTED_ATTRIBUTES" "YES"
END
CONNECTIONTYPE [Contour|kerneldensity|idw|local|ogr|oraclespatial|plugin|postgis|sde|union|uvraster|wfs|wms]

连接类型。默认为本地。请参阅其他类型的附加文档。

参见

矢量数据 用于各种数据源的特定连接信息。见 结合层 用于合并层,添加在MapServer 6.0中

参见

核密度估计(动态热图) 用于核密度估计的特定连接信息。

参见

看见 反距离加权插值法 有关反距离加权内插的特定连接信息,请参见。

备注

mygis MySQL section 有关连接详细信息的矢量数据文档。

数据[文件名][SDE参数][PostGIS表/列][Oracle表/列]

要处理的空间数据的完整文件名。形状文件不需要文件扩展名。可以相对于映射对象中的shapepath选项指定。

如果这是SDE层,参数应包括层的名称以及几何列,即“mylayer、shape、myversion”。

如果这是一个PostGIS层,参数的形式应该是“<column name>from<table name>”,其中“column name”是包含几何图形对象的列的名称,“table name”是从中读取几何图形数据的表的名称。

对于Oracle,请使用“shape from table”或“shape from(select statement)”或更复杂的Oracle兼容查询!但是,请注意,在使用空间子查询时,存在重要的性能影响。尽可能使用mapserver的过滤器。您还可以通过强制错误来查看提交的SQL,例如,通过提交一个您知道不起作用的数据参数,例如使用一个错误的列名。

在标准用例中,当postgis、spatialite或geopackage用作数据源时,将自动使用bbox过滤器(边界框与postgis相交,`&&`with postgis)。但是,在一些罕见的用例中,如果数据非常重要,子查询可能会非常耗时,因为最终数据将只在查询中过滤。为了更快地筛选数据,即在最终查询之前,可以使用直接在子查询中筛选数据!盒子!变量:`where st_intersects(wkb_geometry,!盒子!)`我是说。

参见

矢量数据 用于各种数据源的特定连接信息。

DEBUG [off|on|0|1|2|3|4|5]

允许调试当前映射中的层。

使用MapServer版本进行调试>=5.0:。

如果使用“ms-eu-errorfile”环境变量设置了标准错误输出(stderr)或mapserver错误文件,则会生成详细输出并将其发送到标准错误输出(stderr)或mapserver错误文件。可以通过在映射文件的映射级别使用config参数来设置环境变量,例如:

CONFIG "MS_ERRORFILE" "/ms4w/tmp/ms_error.txt"

您还可以通过在httpd.conf中添加以下内容来在Apache中设置环境变量:

SetEnv MS_ERRORFILE "/ms4w/tmp/ms_error.txt"

设置环境变量后,可以使用debug mapfile参数控制调试输出的级别。以下是可能的调试值的描述:

  • DEBUG O or OFF -只有mssterror()调用记录到ms_错误文件。根本没有msdebug()输出。这是默认值,与mapserver 4.x中ms_错误文件的原始行为相对应。

  • DEBUG 1 or ON -包括调试0的所有输出,以及msdebug()有关常见缺陷、失败断言或非致命错误情况的警告(例如,某些参数的值丢失或无效、tileindex中缺少形状文件、远程WMS/WFS服务器的超时错误等)。

  • DEBUG 2 -包括Debug1的所有输出,以及对优化映射文件和应用程序有用的通知和时间信息

  • DEBUG 3 -所有的debug 2加上一些调试输出,对于排除正在调用的WMS连接URL、数据库连接调用等问题很有用。这是调试映射文件的推荐级别。

  • DEBUG 4 -调试3及更多详细信息…

  • DEBUG 5 -debug 4加上任何msdebug()输出,对开发人员可能比对用户更有用。

还可以使用“ms-debug level”环境变量设置调试级别。

还可以为整个映射指定调试设置,方法是在 MAP 对象。

有关此调试机制的更多详细信息,请参阅 调试MapServer

使用低于5的MapServer版本进行调试:

如果使用Web对象中的日志参数设置了详细输出,则生成详细输出并将其发送到标准错误输出(stderr)或MapServer日志文件。Apache用户将在Apache的错误日志文件中看到绘图的时间细节。要求使用debug=msdebug选项(--with debug configure选项)生成mapserver。

转储[真假]

Removed in version 8.0: Please use LAYER METADATA instead.

切换到允许MapServer以GML格式返回数据。与WMS GetFeatureInfo操作一起使用时很有用。“默认为“假”。

参见

WMS服务器

编码[字符串]

7.0 新版功能.

ENCODING

需要在MapServer中显示国际字符。更多信息可在 Label Encoding document .

范围[最小值][最小值][最大值][最大值]

数据的空间范围。在大多数情况下,您不需要指定它,但可以使用它来避免让MapServer计算数据范围的速度成本。应用程序还可以使用此值覆盖映射的范围。

FEATURE

表示开始 FEATURE 对象。

过滤器[字符串]

此参数允许在完成空间筛选的同时,但在计算任何类表达式之前,进行特定于数据的属性筛选。字符串只是一个mapserver expression ::

FILTER ("[type]"='road' and [size]<2)

NATIVE_FILTER

PROCESSING 'NATIVE_FILTER=id=234'

备注

在MapServer 6之前,可以将本机筛选器指定为::

FILTER 'where id=234'.

但这已不再受支持。

筛选项[属性]

用于简单筛选表达式的项。仅限于OGR和形状文件。

geomtransform[<expression><javascript file>]

6.4 新版功能.

用于指示将变换当前要素。

  • <expression> :将给定表达式应用于几何体。

    支持的表达式:

    • (buffer([shape],dist)):使用 dist dist

    • (Simplify([shape],Tolerance)):使用标准Douglas-Peucker算法简化几何图形([shape])。

    • (simplifypt([shape],tolerance)):简化几何图形([shape]),确保结果是有效的几何图形,具有与输入相同的尺寸和组件数量。 tolerance 必须为非负。

    • (generalize([shape],tolerance)):简化几何体([shape]),与FME的Thintopoint算法相当。有关详细信息,请参阅http://trac.osgeo.org/gdal/ticket/966。

    样式和图层geomtransform之间存在差异。图层级别将接收地面坐标(米、度等),样式级别将接收像素坐标。Simplify()等方法的参数必须与渲染工作流中该点形状的坐标使用相同的单位,即样式级别的像素和图层级别的地面单位。

    LAYER NAME "my_layer"
        TYPE LINE
        STATUS DEFAULT
        DATA "lines.shp"
        GEOMTRANSFORM (simplify([shape], 10))  ## 10 ground units
        CLASS
            STYLE
                GEOMTRANSFORM (buffer([shape], 5)  ## 5 pixels
                WIDTH 2
                COLOR 255 0 0
            END
        END
    END
    

    如果需要在图层级别传递像素值,可以使用[map_cellsize]变量。

    LAYER NAME "my_layer"
        TYPE LINE
        STATUS DEFAULT
        DATA "lines.shp"
        UNITS meters
        # 10 * [map_cellsize] == 10 pixels converted to ground units
        GEOMTRANSFORM (simplify([shape], [map_cellsize]*10))
    ...
    

    为了让这个变量在数学表达式解析器中工作,必须将[map_cellsize]转换为层地面单元。如果选择在geomtransform表达式中使用[map_cellsize],则必须在层中显式设置“单位”选项。

  • *<javascript file>>:返回新几何图形的javascript文件。见 javascript转换 .

    7.0 新版功能.

    LAYER
      ...
      GEOMTRANSFORM "javascript://transform.js" # relative path
    END
    

    LAYER
      ...
      GEOMTRANSFORM "javascript:///home/user/transform.js" # absolute path
    END
    

    备注

    要求 V8MapScript支持 .

GRID

表示开始 GRID 对象。

组[名称]

此层所属组的名称。然后,组名可以作为模板文件中的常规层名进行引用,允许同时打开和关闭一组层。

STATUS

头[文件名]

模板使用 before 已发送层的一组结果。仅限多结果查询模式。

JOIN

表示开始 JOIN 对象。

labelangleItem[属性]

Removed in version 5.0: 请参阅 LABEL 而是对象的角度参数。

对于低于5.0版的MapServer,这是属性表中用于类注释角度的项目名称。值应以度为单位。

labelcache[开关]

指定是否应在绘制此层的功能时绘制标签,或在绘制所有层之后是否应缓存和绘制标签。默认为ON。标签重叠移除、自动放置等…仅当标签缓存处于活动状态时才可用。

labelitem[属性]

属性表中用于类注释(即标签)的项名称。

labelmaxscaledenom[双]

标记该层的最小比例。比例尺被指定为实际比例尺分数的分母,例如,对于比例为1:24,000的地图,使用24000。在MapServer 5.0中实现,以替换不推荐使用的LABELMAXSCALE参数。必须大于或等于0。

参见

Map Scale

labelminscaledenom[双]

标记此层的最大比例。比例尺被指定为实际比例尺分数的分母,例如,对于比例为1:24,000的地图,使用24000。在MapServer 5.0中实现,以替换不推荐使用的LABELMINSCALE参数。必须大于或等于0。

参见

Map Scale

LabelRequires[表达式]

设置用于标记此层的上下文,例如:

LABELREQUIRES "![orthoquads]"

意味着如果一个名为“正交四边形”的图层处于启用状态,则不会标记该图层。该表达式由基于其他层状态的布尔表达式组成,根据该层的状态,每个[layer name]子字符串替换为0或1,然后计算为正常值。可以使用逻辑运算符和或。

labelsizeitem[属性]

Removed in version 5.0: 请参阅 LABEL 而是对象的Size参数。

对于低于5.0版的MapServer,这是属性表中用于类注释大小的项名称。值应以像素为单位。

遮罩[层名称]

当前图层中的数据将仅在与中的要素相交的位置进行渲染 [层名称] 图层。 [层名称] 必须引用另一个名称 LAYER 在当前映射文件中定义。可以是任何类型的MapServer层,即矢量或栅格。如果当前层已配置标签,则只有标签点落在未遮罩区域内的标签将被添加到标签缓存中(标签的实际字形可能会呈现在遮罩区域的顶部。

备注

除非您希望[layername]的功能实际出现在生成的映射上,否则[layername]通常应设置为状态“关闭”。

MaxFeatures[整数]

指定应在当前窗口中为此层绘制的要素数。对注释和分类数据(即按面积排列的湖泊)有一些有趣的用法。必须大于0。

最大地理宽度[双]

5.4.0 新版功能.

最大宽度,以地图的地理单位表示,绘制该层时使用的最大宽度。如果还指定了MAXSCALEDENOM,则将改用MAXSCALEDENOM。必须大于0。

地图的宽度(以地理单位表示)可以通过从范围中计算以下内容来找到:

[maxx] - [minx]
maxscaledenom[双]

5.0.0 新版功能: 已替换MaxScale。

绘制此层的最小比例。比例尺被指定为实际比例尺分数的分母,例如,对于比例为1:24,000的地图,使用24000。必须大于或等于0。

参见

Map Scale

METADATA

此关键字允许将任意数据存储为名称-值对。这个和 OGC WMS 定义图层标题等内容。它还允许在创建模板时具有更大的灵活性,因为您在这里放置的任何内容都可以通过模板标记访问。

例子:

METADATA
    "title" "My layer title"
    "author" "Me!"
END
MINFEATURESIZE [整数]

层中形状的最小特征尺寸(以像素为单位)。必须大于0。

明格宽度[双]

5.4.0 新版功能.

最小宽度,以地图的地理单位表示,绘制此图层时使用的最小宽度。如果还指定了MINSCALEDENOM,则将改用MINSCALEDENOM。必须大于0。

地图的宽度(以地理单位表示)可以通过从范围中计算以下内容来找到:

[maxx] - [minx]
Minscaledenom[双]

绘制此层的最大比例。比例尺被指定为实际比例尺分数的分母,例如,对于比例为1:24,000的地图,使用24000。在MapServer 5.0中实现,以替换不推荐使用的MINSCALE参数。必须大于或等于0。

参见

Map Scale

名称[字符串]

此层的短名称。这个名称是映射文件和引用这个名称的Web接口之间的链接。它们必须相同。名称应该是唯一的,除非一个层以不同的比例替换另一个层。使用“组”选项将层相互关联。建议名称不包含空格、特殊字符或以数字开头(这可能会通过诸如OGC服务之类的接口引起问题)。

场外[R][G][B][十六进制字符串]

将颜色索引设置为对栅格图层透明。

  • r, gb

    OFFSITE 0 0 0
    
  • hexadecimal string 可以是

    • RGB值:“rrggbb”。要指定洋红色,请使用以下选项:

      OFFSITE "#FF00FF"
      
    • rgba值(添加半透明):“rrggbbaa”。要指定半透明品红色,请使用以下选项:

      OFFSITE "#FF00FFCC"
      

不透明度[整数α]

7.0 版后已移除: 使用A COMPOSITE 代替块。

插件[文件名]

要由MapServer为此层加载的附加库。这通常用于加载对SDE和Microsoft SQL Server层的特定支持,例如:

CONNECTIONTYPE PLUGIN
CONNECTION "hostname,port:xxx,database,username,password"
PLUGIN "C:/ms4w/Apache/specialplugins/msplugin_sde_92.dll"
DATA "layername,geometrycolumn,SDE.DEFAULT"
postlabelcache[真假]

指示MapServer在绘制缓存中的所有标签后呈现此层。用于添加细线和类似元素。默认值为假。

正在处理[string]

传递要与此层一起使用的处理指令。支持的处理指令因层类型和处理它们的底层驱动程序而异。

  • ArcSDE Directives -所有ArcSDE处理选项在 空间数据 . 这里有两个例子。

    PROCESSING "QUERYORDER=ATTRIBUTE"
    PROCESSING "OBJECTID=OBJECTID"
    
  • Attributes Directive -项目处理选项允许指定内联层的属性名称或指定层要使用的属性的子集,例如:

    PROCESSING "ITEMS=itemname1,itemname2,itemname3"
    
  • Clustering -集群对象指令在 CLUSTER

    PROCESSING "CLUSTER_GET_ALL_SHAPES=ON"
    PROCESSING "CLUSTER_KEEP_LOCATIONS=ON"
    PROCESSING "CLUSTER_USE_MAP_UNITS=ON"
    PROCESSING "ITEMS=attribute1,attribute2,attribute3"
    
  • Connection Pooling Directive -在这里,您可以为某些层类型启用连接池。连接池将允许MapServer在单个映射绘制过程中共享到打开的数据库或层连接的句柄。此外,如果启用了fastcgi,则连接句柄将无限期保持打开状态,或者根据 FastCGI 配置。 空间数据库空间数据通过MapServer的OGR矢量层Postgis/PostgreSQL 目前支持这种方法。”defer“启用连接池”;“always”在使用后将始终关闭连接,也不会尝试重用来自另一层的池的共享连接。

    PROCESSING "CLOSE_CONNECTION=DEFER"
    

    PROCESSING "CLOSE_CONNECTION=ALWAYS"
    
  • Contour Directives -轮廓指令在 轮廓 .

    PROCESSING "BANDS=1"
    PROCESSING "CONTOUR_INTERVAL=5"
    PROCESSING "CONTOUR_LEVELS=100,500,1000"
    PROCESSING "CONTOUR_ITEM=elevation"
    
  • 核密度半径

    7.0 新版功能.

    累积所有功能后应用于位图数组的高斯过滤器的像素半径。值越高,计算过滤数据所需的CPU时间就越长。

    PROCESSING "KERNELDENSITY_RADIUS=10"
    
  • 内核密度计算边界

    7.0 新版功能.

    半径为“r”的核不能应用于沿图像边界的“r”个像素。默认情况下,将输入数据源的搜索矩形扩展为包括当前地图范围之外的要素“r”像素,以便计算的热图扩展到结果图像的整个范围。如果平铺软件对其请求应用了一个“r”像素的元缓冲器,则在平铺时可以停用这一点,以避免计算该额外信息的性能开销。

    PROCESSING "KERNELDENSITY_COMPUTE_BORDERS=ON|OFF"
    
  • 核密度归一化

    7.0 新版功能.

    如果设置为“AUTO”,将对创建的栅格波段进行缩放,使其强度范围从0到255,以便完全跨越配置的色带。这种行为可能不是所需的(通常用于平铺),因为给定位置的像素的结果强度将根据当前地图请求的范围而变化。如果设置为数值,则样本将乘以给定值。由用户决定使用哪个缩放值来使结果像素跨越整个0-255范围;确定该值主要是一个反复尝试的过程。超出0-255范围的像素将被剪裁为0或255。

    PROCESSING "KERNELDENSITY_NORMALIZATION=AUTO|numeric"
    
  • 反距离权插值半径

    8.0 新版功能.

    要考虑的要素搜索半径的像素半径。值越高,计算过滤数据所需的CPU时间就越长。默认为要渲染的图像的尺寸。

    PROCESSING "IDW_RADIUS=10"
    
  • 反距离权重插值计算边框

    8.0 新版功能.

    半径为“r”的核不能应用于沿图像边界的“r”个像素。默认情况下,扩展输入数据源的搜索矩形以包括当前地图范围之外的要素“r”像素,以便计算结果扩展到结果图像的整个范围。如果平铺软件对其请求应用了一个“r”像素的元缓冲器,则在平铺时可以停用这一点,以避免计算该额外信息的性能开销。

    PROCESSING "IDW_COMPUTE_BORDERS=ON|OFF"
    
  • 距离权重逆插值幂

    8.0 新版功能.

    值为1/距离^幂是计算像素值时应用的权重。默认值为1.0。

    PROCESSING "IDW_POWER=1"
    
  • 栅格颜色渐变

    7.0 新版功能.

    Range_Colorspace=RGB|HSL-默认范围支持在RGB空间中的色标之间插入颜色,这通常会导致颜色褪色。插补可以在HSL空间中完成,这通常会导致需要输出热图。

    PROCESSING "RANGE_COLORSPACE=HSL"
    
  • Label Directive -在确定关联的标签定位点时,可以使用“标签无剪辑处理”选项跳过形状的剪辑。这样可以避免标签位置随着地图绘制之间的范围变化而发生变化。在创建平铺地图时,它还可以避免在多个相邻瓷砖中显示特征的重复标签。

    PROCESSING "LABEL_NO_CLIP=True"
    
  • Line Rendering Directive -折线剪辑处理选项可用于在呈现样式线(虚线或带符号的样式)时跳过形状剪辑。这样可以避免在地图绘制之间的范围更改时更改线条样式。在创建平铺地图时,它还避免了特征出现在多个相邻瓷砖中的边缘效果。

    PROCESSING "POLYLINE_NO_CLIP=True"
    
  • 类呈现指令

    7.6 新版功能.

    RENDERMODE处理选项指定如何选择类来渲染层。默认值和历史行为为FIRST_MATCHING_CLASS:只选择第一个适用的类来渲染要素(请参见 CLASS description )。另一个可用值是ALL_MATCHING_CLASSES:所有适用的类都用于呈现一个特性,每个类都在前面的基础上使用。这是SLD样式的默认行为。

    PROCESSING "RENDERMODE=ALL_MATCHING_CLASSES"
    
  • OGR Styles Directive -此指令可用于通过mapscript获取标签样式。有关更多信息,请参阅 MapServer's OGR document .

    PROCESSING "GETSHAPE_STYLE_ITEMS=all"
    
  • MSSQL specific options -mssql_read_wkb=true-获取几何图形时使用wkb(众所周知的二进制)格式而不是本机格式。

    PROCESSING "MSSQL_READ_WKB=TRUE"
    
  • 本地过滤器指令

    7.0 新版功能.

    此指令可用于执行特定于驱动程序的过滤。对于数据库连接,该字符串是一个对底层数据库有效的SQL WHERE子句。

    PROCESSING "NATIVE_FILTER=id=234"
    
  • PostGIS specific options -force2d=yes可用于仅强制从PostGIS检索二维几何图形。

    PROCESSING "FORCE2D=YES"
    
  • Vector field specific rendering options -uv_spacing:间距是要在向量场中显示的箭头之间的距离(以像素为单位)。默认值为32。uv_-size_-scale:用于将栅格的矢量长度(大小)转换为像素,以获得更好的渲染效果。默认值为1。

    PROCESSING "UV_SPACING=40"
    PROCESSING "UV_SIZE_SCALE=0.2"
    
  • AGG renderer tweaking -此指令可用于设置渲染多边形功能时要使用的线性伽玛。默认值为0.75(可以在 OUTPUTFORMAT 级别)可以设置为较低的值,以限制/删除相邻多边形之间出现的模糊轮廓。0.5的值通常足够好。

    PROCESSING "GAMMA=0.5"
    
  • Raster Directives -所有栅格处理选项在 栅格数据 .这里我们看到了用于自动缩放栅格数据和更改带区映射的缩放和带区指令。

    PROCESSING "SCALE=AUTO"
    PROCESSING "BANDS=3,2,1"
    
  • Union layer Directives -以下处理选项可用于联合层:联合状态检查(真或假)-控制是否应检查源层的状态以及是否应跳过不可见层(状态=关)。默认值为假。Union_scale_check(true或false)-控制是否应检查源层的缩放范围,并跳过不可见层(超出缩放范围和缩放范围)。默认值为真。union_srclayer_close_connection-覆盖源层的连接池设置。通过引入此设置,我们将更改当前行为,相当于:“union_srclayer_close_connection=always”

    PROCESSING "UNION_STATUS_CHECK=FALSE"
    PROCESSING "UNION_SCALE_CHECK=TRUE"
    PROCESSING "UNION_SRCLAYER_CLOSE_CONNECTION=ALWAYS"
    
PROJECTION

表示开始 PROJECTION 对象。

需要[表达式]

设置用于显示此层的上下文(请参见labelRequires_uuu)。

一个例子可能是您有一个 states_poly 您希望在以下时间关闭的层 MODIS 层是打开的;在这种情况下,您可以将 REQUIRES 参数中的 states_poly 层,例如:

LAYER
  NAME "states_poly"
  TYPE POLYGON
  REQUIRES "![modis]"
  ...

具有以下要求:

../_images/requires-enabled.png

不需要的

../_images/requires-disabled.png

这个 REQUIRES 设置应影响所有模式(经测试确认为:MODE=MAP、WMS GetMap、MapScrip和shp2img命令行)。

SCALETOKEN

6.4 新版功能.

表示开始 SCALETOKEN MS RFC 86:基于比例的字符串替换 .

LAYER
  ...
  SCALETOKEN
    NAME "%pri%"
    VALUES
      "0" "1"
      "1000" "2"
      "10000" "3"
    END # VALUES
  END # SCALETOKEN
  # data from a specific table:
  DATA "geom from mytable_%pri%"
  # data from a specific Shapefile format dataset:
  DATA "/path/to/roads_%pri%.shp"
  # data from a specific column in the table:
  DATA "geom_%pri% from roads"
  # filtering:
  DATA "geom_%pri% from (select * from roads where pri > %pri%) as foo"
  CLASS
    ...
  END # CLASS
END # LAYER

在上一个示例中,%pri%将替换为:

  • 对于小于1000的刻度分母,“1”,给出:

    DATA "geom from mytable_1"
    DATA "/path/to/roads_1.shp"
    DATA "geom_1 from roads"
    DATA "geom_1 from (select * from roads where pri > 1) as foo"
    
  • “2”表示1000到10000之间的刻度分母:

    DATA "geom from mytable_2"
    DATA "/path/to/roads_2.shp"
    DATA "geom_2 from roads"
    DATA "geom_2 from (select * from roads where pri > 2) as foo"
    
  • “3”表示大于10000的刻度分母:

    DATA "geom from mytable_3"
    DATA "/path/to/roads_3.shp"
    DATA "geom_3 from roads"
    DATA "geom_3 from (select * from roads where pri > 3) as foo"
    
SIZEUNITS [英尺英寸公里米英里NauticalMiles像素]

设置的单位 STYLE nauticalmiles

STATUS [on|off|default]

设置层的当前状态。通常由MapServer本身修改。默认设置将永久打开图层。

备注

CGI 模式,状态为默认的层不能使用普通机制关闭。建议在调试问题时将层设置为状态默认值,但在正常使用时将层设置为开/关。

备注

为了 WMS ,状态为默认的服务器映射文件中的层始终发送到客户端。

备注

当组名出现在CGI请求的layers参数中时,组的各个层的状态无效-组的所有层都将返回。

STYLEITEM [<attribute>|auto|<javascript file>]

基于属性或用JavaScript生成的样式

  • <attribute>:用于特定于功能的样式的项。样式信息可以由附加到特征的单独属性(样式字符串)表示。MapServer支持以下样式字符串表示:

    • MapServer STYLE definition -样式字符串可以表示为mapserver STYLE 根据以下示例阻塞:

      STYLE BACKGROUNDCOLOR 128 0 0 COLOR 0 0 208 END
      
    • MapServer CLASS definition -通过指定整个 CLASS 而不是单个样式,允许根据每个特征使用更多选项(如设置表达式、标签属性、多个样式)。

    • OGR Style String -MapServer支持根据 OGR - Feature Style Specification 文档。目前,只有少数数据源支持存储样式和功能(如mapinfo、autocad dxf、microstation dgn),但是,通过使用 ogr2ogr 命令行工具如下:

      ogr2ogr -sql "select *, OGR_STYLE from srclayer" "dstlayer" "srclayer"
      
  • AUTO: AUTO

    • 驾驶员可以提供自动造型。目前,只有OGR驱动程序支持自动样式设置。

    • 当用于 结合层 ,将使用源层的样式。

  • <Javascript file>

    6.6 新版功能.

    返回新字符串的Java脚本文件,其中包含 STYLE 定义或一个 CLASS 具有一种或多种样式的定义。看见 样式项javascript

    LAYER
      ...
      STYLEITEM "javascript://myscript.js" # relative path
      CLASS
      END
    END
    

    LAYER
      ...
      STYLEITEM "javascript:///home/user/myscript.js" # absolute path
      CLASS
      END
    END
    

    备注

    要求 V8MapScript支持 .

符号尺度(双)

符号和/或文本全尺寸显示的比例。这允许基于地图的比例动态缩放对象。如果未设置,则该层将始终以相同的大小显示。如上所述,仅在MINSIZE和MAXSIZE的范围内进行缩放。比例尺被指定为实际比例尺分数的分母,例如,对于比例为1:24,000的地图,使用24000。在MapServer 5.0中实现,以替换不推荐使用的SYMBOLSCALE参数。必须大于或等于1。

参见

Map Scale

TEMPLATE [文件] URL

用作 CLASS TEMPLATE. 见 模板法 更多信息。

TILEINDEX [文件名层名]

tileindex文件或层的名称。tileindex类似于arcinfo库索引。tileindex包含每个tile的多边形功能。包含平铺数据位置的项使用tileItem参数给定。当文件用作shapefile或栅格层的tileindex时,tileindex应为shapefile。对于connectiontype ogr层,任何支持ogr的数据源都可以是tileindex。通常,位置应该包含相对于shapepath的tile文件路径,而不是相对于tileindex本身的路径。如果数据参数包含值,则将其添加到位置的末尾。使用tileindex层时,其工作原理与直接引用文件类似,但可以使用任何支持的功能源(如postgres、oracle)。

备注

tileindex中的所有文件都应具有相同的坐标系,对于矢量文件,应具有相同顺序的一组属性。

备注

从用于栅格层的MapServer 6.4和用于矢量层的MapServer 7.2开始,可以使用具有不同投影图块的tileIndex。为此, TILESRS 必须指定参数。

tileitem[属性]

包含单个磁贴位置的项,默认为“位置”。

tilesrs[属性]

包含单个磁贴的SRS的属性的名称。SRS可以用WKT格式表示,如EPSG:XXXX代码或PROJ字符串。如果tileindex包含不同投影中的栅格,则必须指定此选项。如果tileindex是用gdaltindex(GDAL>=2.0)或ogrtindex(GDAL>=2.2)生成的,则tiless的值是gdaltindex/ogrtindex的-src_srs_name选项的值。见 不同投影中的瓷砖索引

备注

此选项当前仅在栅格图层上可用。

公差[双]

对基于点的查询的敏感度(即通过鼠标和/或地图坐标)。以公差单位给出。如果图层是点或线,则默认值为3。对于所有其他层类型,默认值为0。要限制多边形搜索,使点必须出现在多边形中,请将公差设置为零。此设置不适用于WFS GetFeature操作。

TOLERANCEUNITS [像素英尺英寸公里米英里Nauticalmiles dd]

Nauticalmiles

透明度[整数alpha]-已弃用

5.0 版后已移除: 使用不透明度。

7.0 版后已移除: 使用 COMPOSITE 相反。

TRANSFORM [真假] | [ul uc ur cl cc cr ll lc lr]

告诉MapServer特定层是否需要从某个坐标系转换为图像坐标。默认值为true。这允许您在图像/图形坐标中创建形状文件,因此具有的功能将始终显示在每个地图的同一位置。非常适合在地图中放置徽标或文本。请记住,图形坐标系的原点位于图像的左上角,与大多数地图坐标系相反。

4.10版引入了定义以像素(或百分比,请参见单位)表示的坐标的功能,通常是与图像的ul角以外的内容相关的内联功能。这就是“转换错误”的含义。通过设置另一个原点,它允许您以独立于图像大小的方式将类似版权声明的内容锚定到图像的另一部分。

TYPE [图表圆线点多边形栅格查询]

指定应如何绘制数据。不必与shapefile类型相同。例如,多边形形状文件可以绘制为点图层,但点形状文件不能绘制为多边形图层。常识规则。

为了区分多边形和多段线(不作为类型存在),只需在分类时分别使用或省略颜色关键字。如果使用它,它是具有填充颜色的多边形,否则它是仅具有大纲颜色的多段线。

A circle

LAYER
  NAME 'inline_circles'
  TYPE CIRCLE
  STATUS ON
  FEATURE
    POINTS
      74.01 -53.8
      110.7 -22.16
    END
  END
  CLASS
    STYLE
      COLOR 0 0 255
    END
  END
END

TYPE

备注

TYPE LABEL 水平 STYLE TYPE

参见

这个 Dynamic Charting TYPE

UNITS [dd英尺英寸公里米英里Nauticalmiles百分比像素]

percentages nauticalmiles

utfdata[字符串]

7.0 新版功能.

UTFDATA UTFITEM UTFITEM UTFDATA MS RFC 93:UTF网格支持UTFGET输出 .

UTFDATA "{\"id\":\"[fid]\", \"name\":\"[name]\", \"area\":\"[area]\"}"
utfitem[字符串]

7.0 新版功能.

UTFITEM UTFITEM UTFDATA MS RFC 93:UTF网格支持UTFGET输出 .

UTFITEM "fid"
VALIDATION

表示开始 VALIDATION 块。

VALIDATION 运行时替换 .