Gis “使用”的问题;及;用于定义Mapserver类的逻辑表达式
我似乎无法越过这个障碍。Mapserver没有抛出任何错误…但它也没有返回任何内容…我怀疑我的逻辑表达式(…在没有任何错误的情况下…我真的不知道下面发生了什么) 理想情况下,我希望使用以下两列按我的shapefile进行过滤:“[YODA](text)”和“[ZOOM](Integer)” 目前我的代码是:Gis “使用”的问题;及;用于定义Mapserver类的逻辑表达式,gis,mapserver,map-files,umn-mapserver,Gis,Mapserver,Map Files,Umn Mapserver,我似乎无法越过这个障碍。Mapserver没有抛出任何错误…但它也没有返回任何内容…我怀疑我的逻辑表达式(…在没有任何错误的情况下…我真的不知道下面发生了什么) 理想情况下,我希望使用以下两列按我的shapefile进行过滤:“[YODA](text)”和“[ZOOM](Integer)” 目前我的代码是: LAYER # Zoom Level 11-16 TYPE ANNOTATION STATUS ON GROUP "
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))
您的shapefile是否有效地具有“缩放”属性?如果要进行依赖于比例的渲染,应该使用minscale/maxscale,mapserver中没有预定义的“缩放”属性。此外,可能还应该注意使用字符大小写,因为shapefile属性应始终为大写,postgis属性应为小写。也就是说,Thomas指出的问题可能是您在这里真正的问题。@Stephan/Thomas…实际上我的shapefile中有一个“Zoom”属性(它不是postgres db)…我使用了字段名,没有更改。这是常规的exp…(“String1”~*“regexp”)部分…但我不知道是什么以及为什么会出现(我尝试了单引号和双引号)。。。。