Добрый день!
Кто в курсе, можно ли в MapServer сделать классификацию по нескольким полям? Например, объекты + строящиеся, ветхие и т.п.? В хэлпе есть какая-то похожая строка типа :
EXPRESSION ([POPULATION] > 50000 AND '[LANGUAGE]' eq 'FRENCH') , но у меня она для класса так и не заработала (со всякими вариантами скобок и кавычек).
MapServer много полей
-
- Участник
- Сообщения: 94
- Зарегистрирован: 05 июл 2010, 07:58
- Репутация: 0
MapServer много полей
Жизнь - это эксперимент, поставленный на себе.
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: MapServer много полей
Всегда поддерживалось, вот даже статья есть. У вас именно комбинирование условий не работает или простое выражение тоже?
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Участник
- Сообщения: 94
- Зарегистрирован: 05 июл 2010, 07:58
- Репутация: 0
Re: MapServer много полей
Сегодня с утра всё-таки разобрался. Что только не придумают.
Сначала пытался включить в CLASSITEM несколько полей, но не получилось и это не нужно.
Оказывается, там столько вариантов...:
EXPRESSION (([COD] = 3) AND ([AREA] = 4)) # так работает для чисел - обычный способ, как в документации.
при этом так не работает для строк:
EXPRESSION (([COD] = 6) AND ([CHARACT] = 'deistv'))
# для строк работает так:
EXPRESSION (([COD] = 6) AND ('[CHARACT]' = 'действующий'))
EXPRESSION (('[COD]' = 3) AND ('[AREA]' = 4)) # но так не работает для чисел
# оказывается для строк так тоже работает:
EXPRESSION ([COD] = 6 AND '[CHARACT]' = 'deistv') - это из хэлпа
#и так тоже работает для строк:
EXPRESSION (('[TIP]' = 'заказник') AND ('[CHARACT]' = 'планируемый'))
и, самое смешное, что при этом CLASSITEM "COD" ?!! а вовсе не TIP.
Судя по всему CLASSITEM имеет значение только для простых выражений типа такого: EXPRESSION '1'
Сначала пытался включить в CLASSITEM несколько полей, но не получилось и это не нужно.
Оказывается, там столько вариантов...:
EXPRESSION (([COD] = 3) AND ([AREA] = 4)) # так работает для чисел - обычный способ, как в документации.
при этом так не работает для строк:
EXPRESSION (([COD] = 6) AND ([CHARACT] = 'deistv'))
# для строк работает так:
EXPRESSION (([COD] = 6) AND ('[CHARACT]' = 'действующий'))
EXPRESSION (('[COD]' = 3) AND ('[AREA]' = 4)) # но так не работает для чисел
# оказывается для строк так тоже работает:
EXPRESSION ([COD] = 6 AND '[CHARACT]' = 'deistv') - это из хэлпа
#и так тоже работает для строк:
EXPRESSION (('[TIP]' = 'заказник') AND ('[CHARACT]' = 'планируемый'))
и, самое смешное, что при этом CLASSITEM "COD" ?!! а вовсе не TIP.
Судя по всему CLASSITEM имеет значение только для простых выражений типа такого: EXPRESSION '1'
Жизнь - это эксперимент, поставленный на себе.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя