繁体   English   中英

使用“ AND”逻辑表达式定义Mapserver类时出现问题

[英]Problems using “AND” Logical Expression for defining a Mapserver class

我似乎无法克服这一障碍。 Mapserver不会引发任何错误...但是也不会返回任何内容...我怀疑我的逻辑表达式(...在没有任何错误的情况下...我真的不知道这里发生了什么) 。

理想情况下,我想使用这两列来过滤我的shapefile:“ [YODA](文本)”和“ [ZOOM](整数)”。

目前,我的代码为:

    LAYER
        # Zoom Level 11-16
        TYPE ANNOTATION
        STATUS ON 
        GROUP "yoda"
        DATA "yoda_graphics"
        NAME "yoda_awesome"
    #    # Visible in map from zoom level 11 onwards
        MAXSCALEDENOM 325008
        MINSCALEDENOM 5078
        LABELITEM "label"
        CLASS
        # Yoda Head
        EXPRESSION (('[YODA]' ~* '/^I/') AND ([Zoom]>8)) ## where things are suspect...
        # yoda shell symbol w/ label
        STYLE
          SYMBOL 'yoda_red_top_shell'
          #COLOR  255 255 255
          #COLOR 218 218 203
          COLOR 184 184 156
          SIZE 16
        END
        STYLE
          SYMBOL 'yoda_red_top_shell'
          #COLOR 225 104 104
          #COLOR 204 184 181
          COLOR 214 214 169
          SIZE 15
        END
        STYLE
         SYMBOL 'yoda_blue_shell'
         #COLOR  80 101 123
         #COLOR 183 192 221
         COLOR 241 241 226
         SIZE 15
        END
        LABEL
          TYPE truetype
          FONT "deja-bold"
          SIZE 5
          #COLOR 255 255 255
          COLOR 184 184 156
          PARTIALS FALSE
          WRAP " "
          ALIGN center
          POSITION CC
          ANGLE 0
        END # end label
      END #end class  
END # layer

使用显式正则表达式运算符时,不应在正则表达式之间加上斜杠。

这是对的:

CLASSITEM "Yoda"
CLASS
  EXPRESSION /^I/

在您的情况下,请使用:

EXPRESSION (('[YODA]' ~* '^I') AND ([Zoom]>8))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM