Timeout with REQUIRES

Steve Lime steve.lime at DNR.STATE.MN.US
Mon Dec 27 19:45:45 EST 2004


Abe's right the single quote isn't a problem. The requires directive was
mostly broken in 4.2 and probably 4.0. There were changes made in
portions of the code that made requires basically useless. The problem
was only found and fixed right before 4.4 was released.

I don't see anything obvious but let's try a couple of things and see if
they help.

1) You don't need ()'s nor equality tests. So

REQUIRES "([Buildings] = 1)" should be REQUIRES "[Buildings]" and
REQUIRES "([Flood Zone] = 1)" should be REQUIRES "[Flood Zone]"

2) Try renaming "Buildings 0" to "Buildings_0". I'm thinking there may
be an issue with some string comparisons someplace.

Please try these one at a time and let me know how it goes.

Steve

>>> Abe Gillespie <agillesp at VT.EDU> 12/27/04 4:41 PM >>>
Uh, no, that shouldn't be a problem.  If it was, the whole map file
wouldn't parse correctly.  That single quote just adds a "feet"
designation to the elevation measurement.  In fact, if I remove the
"Buildings 0" layer completely, everything runs fine.

-Abe

On Dec 27, 2004, at 5:05 PM, Ethan Alpert wrote:

> Look at the TEXT label for the Flood Elevation layer.
>
> TEXT ([ELEVATION]')
>
> You're missing a '
>
> I've had all kinds of problems before when I miss a " or '
>
> -e
>
> -----Original Message-----
> From: UMN MapServer Users List [mailto:MAPSERVER-USERS at LISTS.UMN.EDU]
> On
> Behalf Of Abe Gillespie
> Sent: Monday, December 27, 2004 3:22 PM
> To: MAPSERVER-USERS at LISTS.UMN.EDU
> Subject: [UMN_MAPSERVER-USERS] Timeout with REQUIRES
>
>
> I have two layers that look like this:
>
>   LAYER
>    NAME "Flood Zone"
>    STATUS ON
>    DATA "flood_zo"
>    TYPE polygon
>    MAXSCALE 300000
>    UNITS FEET
>    CLASS
>     COLOR 68 126 171
>     OUTLINECOLOR 11 57 92
>    END
>    GROUP "Layers"
>   END
>
>   LAYER
>    NAME "Flood Elevation"
>    STATUS ON
>    DATA "flood_el"
>    TYPE line
>    UNITS FEET
>    MAXSCALE 20000
>    CLASS
>     COLOR 68 155 255
>     TEXT ([ELEVATION]')
>     LABEL
>      TYPE TRUETYPE
>      FONT arial
>      SIZE 8
>      POSITION cc
>      COLOR 0 0 0
>      ANGLE auto
>      MINFEATURESIZE 1
>     END
>    END
>    REQUIRES "([Flood Zone] = 1)"
>   END
>
> Notice the "REQUIRES" tag.  These two layers cause no problems.
> However,
> I also have these two layers further in the map file:
>
>   LAYER
>    NAME "Buildings"
>    STATUS ON
>    DATA "bldg1"
>    TYPE polygon
>    MAXSCALE 15000
>    UNITS FEET
>    LABELITEM "ADDRESS"
>    LABELCACHE on
>    LABELMAXSCALE 6000
>    CLASS
>     COLOR 220 149 146
>     OUTLINECOLOR 190 95 96
>     LABEL
>      MINFEATURESIZE 12
>      TYPE truetype
>      FONT arial
>      ANTIALIAS true
>      ANGLE auto
>      POSITION cc
>      COLOR 0 0 0
>         OUTLINECOLOR 255 255 255
>      BUFFER 3
>      SIZE 8
>     END
>    END
>    TOLERANCE 3
>    TEMPLATE "x"
>    METADATA
>     search_field "FULLADDR"
>     search_fields "FULLADDR"
>     search_aliases "Address"
>    END
>    GROUP "Layers"
>   END
>
>   LAYER
>    NAME "Buildings 0"
>    STATUS ON
>    DATA "bldg0"
>    TYPE polygon
>    MAXSCALE 15000
>    UNITS FEET
>    CLASS
>     COLOR 168 168 168
>     OUTLINECOLOR 97 97 97
>    END
>    REQUIRES "([Buildings] = 1)"
>   END
>
> With the "Buildings 0" layer, if I include the "REQUIRES" tag
MapServer
> will timeout.  If I remove the "REQUIRES" tag everything runs
smoothly.
>   I'm using PHP Mapscript 4.4.1.  Before I upgraded (I think it was
> Mapscript 4.0) this worked fine.  So something has changed between
then
> and now with the "REQUIRES" algorithm.
>
> Any ideas?
>
> Thanks.
> -Abe
>



More information about the mapserver-users mailing list