例1.3

在层中显示类

通过在数据中使用非空间属性信息,我们可以创建这样的地图:

https://demo.mapserver.org/cgi-bin/mapserv?map=/mapserver/apps/tutorial/htdocs/example1-3.map&layer=states_poly&layer=states_line&mode=map

映射文件结构

这就是映射文件的外观: Example1-3.map .

按对象划分的mapfile结构如下所示:

                            MAP
(states_poly) LAYER----------|---------LAYER (states_line)
               |                        |
(land) CLASS---|---CLASS (water)        |-CLASS
          |         |                      |
    STYLE-|         |-STYLE                |-STYLE

关键词

我们的 Mapfile 仍然只有两个图层,但是多边形图层被分解为两个类。让我们看看其他参数:

CLASSITEM

此关键字用于指定用于分隔类对象的属性。在这个例子中,属性是“class”。如果打开与该层的shapefile关联的数据库文件,您将看到有一个名为“class”的列(属性)。

我们如何知道要使用哪个属性?建议使用 ogrinfo 要在向量数据中显示基本属性信息,请回顾示例1.1(“Layer SRS WKT:”后的最后几行显示属性名称和类型)。在这种情况下,由于shapefile中的数据库记录存储在DBF文件中,所以我们也可以在LibreOffice之类的电子表格程序或QGIS之类的桌面软件中打开它。如果您的数据带有元数据(它应该!),您可以浏览该元数据文件以获取属性信息。

EXPRESSION

对于每个类,我们指定要使用的属性值。这是最简单的表达形式。表达式可能比这更复杂,允许计算正则表达式或逻辑表达式。请看 表达 在mapfile引用中查看可以如何处理表达式。


Back to Example 1.2 | Proceed to Example 1.4