INCLUDE

当遇到此指令时,立即分析到包含文件的开关。因此,所包含的文件可以由任何有效的mapfile语法组成。例如:

INCLUDE 'myLayer.map'

由于使用有限,性能似乎不会受到严重影响,但是在高性能实例中,您可能希望在预处理步骤中使用include来构建生产映射文件。C预处理器也可以使用(尽管语法不同),而且功能更强大。

笔记

  • 支持4.10及更高版本。

  • 要包含的文件名 MUST be quoted (单引号或双引号)。

  • 包含可以嵌套,最多5个深度。

  • 文件位置可以作为文件的完整路径,也可以(在MapServer中>=4.10.1)作为相对于映射文件的路径。

  • 调试可能有问题,因为:

    1. 发生错误的文件无法向用户输出

    2. 没有为每个文件重置行号计数器。以下是在找不到包含文件时引发的一个可能错误:

      msyylex(): Unable to access file. Error opening included file "parks_include.map"
      

例子

MAP
 NAME "include_mapfile"
 EXTENT 0 0 500 500
 SIZE 250 250

 INCLUDE "test_include_symbols.map"
 INCLUDE "test_include_layer.map"
END

其中测试包括符号。地图包含:

SYMBOL
   NAME 'square'
   TYPE VECTOR
   FILLED TRUE
   POINTS 0 0 0 1 1 1 1 0 0 0 END
END

测试包括图层。地图包含:

LAYER
  TYPE POINT
  STATUS DEFAULT
  FEATURE
    POINTS 10 10 40 20 300 300 400 10 10 400 END
  END
  CLASS
    NAME 'Church'
    COLOR 0 0 0
    SYMBOL 'square'
    SIZE 7
    STYLE
      SYMBOL "square"
      SIZE 5
      COLOR 255 255 255
    END
    STYLE
      SYMBOL "square"
      SIZE 3
      COLOR 0 0 255
    END
  END
END