Mapfile¶
- 作者
Steve Lime
- 接触
steve.lime at dnr.state.mn.us
- 作者
Jeff McKenna
- 接触
jmckenna at gatewaygeomatics.com
- 最后更新
2017-06-16
Mapfile 是 Mapserver 的核心。它定义对象之间的关系,将 Mapserver指向数据所在的位置,并定义如何绘制对象。
Mapfile 由 MAP 对象组成, 此对象由 MAP 开始.
在可靠地使用mapfiles配置mapserver之前,必须了解一些重要的概念。第一个概念是 LAYER .图层是数据加样式的组合。数据以属性和几何图形的形式,使用 CLASS 和 STYLE 指令。
参见
MapServer简介 “ Mapfile 简介”
笔记¶
Mapfile 不区分大小写。
这个
Mapfile is read from top to bottom by MapServer
;这意味着,将先绘制 Mapfile 顶部附近的图层,再绘制底部附近的图层。因此,用户通常将背景图像和其他背景层类型放在其 Mapfile 顶部附近,并将线条和点放在其 Mapfile 底部附近。必须引用包含非字母数字字符或mapserver关键字的字符串。建议将所有字符串放在双引号中。
Mapfile 应该是UTF-8编码的。非UTF-8编码的 Mapfile 将需要 iconv 转换为UTF-8。
7.0 新版功能.
对于mapserver版本<5,每个mapfile的默认最大层数为200层( Mapserver大于等于5时没有层限制)。这可以通过编辑
map.h
文件来更改,将ms_maxlayers的值更改为所需的数字并重新编译。以下是使用低于5的MapServer版本时的其他重要默认限制:MAXCLASSES 250 (在 map.h 中设置)
MAXSTYLES 5 (在 map.h 中设置)
maxsymbols 64位(在mapsymbol.h中设置)
MapServer版本 >=5 对 分类、样式、符号或图层数目没有限制。
文件路径可以是绝对路径,也可以是相对于 Mapfile 位置的路径。此外,可以相对于shapepath指定数据文件。
Mapfile 具有层次结构,映射对象为“根”。所有其他物体都落在这个物体下面。
注释用 # 指定。
属性的命名使用以下语法:[attributename]。
注解
属性的名称包含在方括号之间 区分大小写. 通常,ESRI生成的形状数据集的属性(.dbf列名)都是大写的,例如,对于postgis, ALWAYS 使用小写字母。
Mapserver 正则表达式通过操作系统的C库使用。有关如何在系统上使用和编写正则表达式的信息,您应该阅读C库提供的文档。在Linux上,这是glibc,您可以阅读“man 7 regex”…大多数Unix上也有此手册页。由于这些regex兼容posix,因此在Windows上也应该是相同的,因此Windows用户可以尝试在Web上搜索“man 7 regex”,手册页在整个Web上都可用。