Timeout with REQUIRES

Abe Gillespie agillesp at VT.EDU
Tue Dec 28 14:06:07 PST 2004


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