MapServer. Передача параметра для expression в GET.


Передача параметров в GET-запросе при обращении к map-файлу позволяет получить более гибкое управление над результатами его работы при работе MapServer.

Я сейчас приведу пример, как передать и обработать в expression, к примеру, скорость движения авто.

Передача параметра, надеюсь, ни у кого не вызовет затруднений — поэтому просто приведу пример части map-файла.

LAYER
. . . . . . . .
        VALIDATION
. . . . . . . .
          "speed" "^[0-9]+$"
. . . . . . . .
        END

. . . . . . . .

CLASS
            EXPRESSION ([speed] < %speed%)
            STYLE
                COLOR 28 130 0
                WIDTH 3
            END
        END

        CLASS
            EXPRESSION ([speed] > %speed%)
            STYLE
                COLOR 219 52 49
                WIDTH 3
            END
        END
    END

Здесь стоит обратить внимание на два момента. Во-первых, параметры, пришедшие нам в GET — следует отвалидировать — это делается на основании регулярного выражения в секции VALIDATION. В примере выше приведен элементарный пример валидации чисел.

После этого параметр доступен в синтаксисе %PRM_NAME% и может быть использован именно в блоке EXPRESSION или FILTER.

,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *