0

我似乎无法跨过这个障碍。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
4

1 回答 1

0

使用显式正则表达式运算符时,不应使用斜杠将正则表达式括起来。

这是对的:

CLASSITEM "Yoda"
CLASS
  EXPRESSION /^I/

在您的情况下,请使用:

EXPRESSION (('[YODA]' ~* '^I') AND ([Zoom]>8))
于 2013-12-05T11:18:49.697 回答