Timeout with REQUIRES

Abe Gillespie agillesp at VT.EDU
Wed Dec 29 14:36:55 EST 2004


Latest and greatest on all the major players: Linux, Mac OS 10, and
Windows (this bug occurs on all).  Probably not the smartest setup but
my dev machine is Mac, my server is Linux, and my clients use Windows.
:)

-Abe

On Dec 28, 2004, at 4:51 PM, Steve Lime wrote:

> What versions/platform are you using?
>
> Steve
>
>>>> Abe Gillespie <agillesp at vt.edu> 12/28/2004 4:06:07 PM >>>
> A couple of other tests that also didn't fix anything.
>
> Where REQUIRES "[Flood Zone]" works for the "Flood Elevation" layer it
>
> won't work for the "Buildings 0" layer.  I.e.:
>
> 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 "[Flood Zone]"
> END
>
> Renaming "Buildings" to "Foo" and then using REQUIRES "[Foo]" was
> fruitless.  These two tests seem to isolate the dependent layer as
> being the problem as opposed to the independent layer.
>
> -Abe
>
> On Dec 28, 2004, at 4:54 PM, Abe Gillespie wrote:
>
>> Comments are inline.
>>
>> -Abe
>>
>> On Dec 27, 2004, at 7:45 PM, Steve Lime wrote:
>>
>>> 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
>>
>> Didn't change anything - still timing out.
>>
>>> REQUIRES "([Flood Zone] = 1)" should be REQUIRES "[Flood Zone]"
>>
>> Didn't change anything - continued to work w/o problems.
>>
>>>
>>> 2) Try renaming "Buildings 0" to "Buildings_0". I'm thinking there
> may
>>> be an issue with some string comparisons someplace.
>>
>> Didn't change anything - still timing out.
>>
>>>
>>> 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