SLD: Filter Encoding

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

SLD: Filter Encoding

Сообщение Mavka »

UMN MapServer. Задаю фильтр в файле SLD (OGC Filter Encoding):
Конструкция эквивалентна c_ring_e = (UKRAINE || RUSSIA)

Код: Выделить всё

<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
    <OR>
        <PropertyIsEqualTo>
            <PropertyName>c_ring_e</PropertyName>
            <Literal>UKRAINE</Literal>
        </PropertyIsEqualTo>
        <PropertyIsEqualTo>
            <PropertyName>c_ring_e</PropertyName>
            <Literal>RUSSIA</Literal>
        </PropertyIsEqualTo>
    </OR>
</ogc:Filter> 
Это работает. Если Equal заменить на IsLike, то срабатывает только последнее сравнение в фильтре. Т.е. не выполняется OR. (Замена на wild-char "." или "*" дает тот же эффект).

Код: Выделить всё

<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
    <ogc:Or>
        <ogc:PropertyIsLike>
            <ogc:PropertyName>c_ring_e</ogc:PropertyName>
            <ogc:Literal>UKRAINE</ogc:Literal>
        </ogc:PropertyIsLike>
        <ogc:PropertyIsLike>
            <ogc:PropertyName>c_ring_e</ogc:PropertyName>
            <ogc:Literal>RUSSIA</ogc:Literal>
        </ogc:PropertyIsLike>
    </ogc:Or>
</ogc:Filter> 
Может кто припомнит особенности IsLike, которые не позволяют объединять несколько сравнений?
лангольеры под окном жрали время ом-ном-ном
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: SLD: Filter Encoding

Сообщение Mavka »

лангольеры под окном жрали время ом-ном-ном
Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя