Label для всего слоя
-
- Интересующийся
- Сообщения: 29
- Зарегистрирован: 01 сен 2010, 05:59
- Репутация: 0
Label для всего слоя
Добрый день. В map-файле есть слой с кучей классов, можно ли как-то задать подпись всему слою, а не каждому классу отдельно? А то нерационально как-то пихать LABEL в каждый класс, тем более если он одинаковый.
Спасибо за внимание
Спасибо за внимание
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Label для всего слоя
Попробуйте создать еще один класс без фильтра и в нем пропишите надписи.
лангольеры под окном жрали время ом-ном-ном
-
- Интересующийся
- Сообщения: 29
- Зарегистрирован: 01 сен 2010, 05:59
- Репутация: 0
Re: Label для всего слоя
Пробовал естественно, такой класс либо скрывает все остальные (если он первый), либо сам невидим (если последний).
Принцип - расцветить субъекты разными цветами, а подпись задать одинаковую. Пришлось вставить в каждый класс. Вот и хочется узнать: подпись отдельно от класса существовать не может, глюк это или я чего не понимаю?
Код: Выделить всё
CLASS
NAME "Красноярский край"
EXPRESSION ([CODE]=1)
STYLE
COLOR 255 153 204
OUTLINECOLOR 85 85 85
END
END
CLASS
NAME "Республика Хакасия"
EXPRESSION ([CODE]=2)
STYLE
COLOR 153 204 255
OUTLINECOLOR 85 85 85
END
END
CLASS
NAME "Республика Тыва"
EXPRESSION ([CODE]=3)
STYLE
COLOR 255 255 204
OUTLINECOLOR 85 85 85
END
END
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Label для всего слоя
Действительно, документация говорит что "only a single class will be used for the rendering of a feature". Значит придется в каждый класс вписывать label. Или создать отдельный слой специально для подписей.
Позиция OGC Symbology Encoding в этом плане противоположная (п. 10.3 Feature filtering):
Позиция OGC Symbology Encoding в этом плане противоположная (п. 10.3 Feature filtering):
Коротко: Eсли в стиле есть несколько правил с перекрывающимися условиями, то рисовать нужно оба. Например такой стиль для автодороги:Filters used in different Rules applicable to the same FeatureTypeStyle are allowed to overlap in terms of the features selected by each rule. The map styler must execute all rules that are applicable to a feature in the order that the rules appear. For example, if one rule for a user style has the (SQL) condition “num_lanes >= 6” and a subsequent rule has the condition “num_lanes >= 4”, then all roads with four or more lanes would cause both rules to “fire”. If the style of the first rule is to draw thick blue lines and the second it to draw thin black lines, then roads with six or more lanes would be drawn with thin black lines over top of thick blue ones. Whether all features are applied to each rule in sequence or whether all suitable rules are applied to each feature in sequence is implementation-specific, although there may be subtle differences in the appearance of maps resulting from each of the approaches.
- если полос >= 6 - жирная синяя линия
- если полос >= 4 - тонкая черная
лангольеры под окном жрали время ом-ном-ном
-
- Интересующийся
- Сообщения: 29
- Зарегистрирован: 01 сен 2010, 05:59
- Репутация: 0
Re: Label для всего слоя
Ясно, спасибо, тогда наверное правильнее прописать LABEL в каждый слой.
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Label для всего слоя
Еще один вариант. Сделать два слоя - один специально для надписей. А потом свести их вместе используя GROUP
лангольеры под окном жрали время ом-ном-ном
-
- Интересующийся
- Сообщения: 29
- Зарегистрирован: 01 сен 2010, 05:59
- Репутация: 0
Re: Label для всего слоя
Group - можно, но тут свои подводные камни: получается что один и тот же слой я вызываю дважды. Это на скорости не скажется? Второе: если я , например, захочу добавить идентификатор (когда мышой тыкаешь и всплывает окно с информацией по слою), то как будет реагировать сервер? Покажет что у меня есть 2 слоя с такой-то информацией?
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Label для всего слоя
На скорости не скажется. Запрос WMS GetFeatureInfo будет делаться только к источнику данных, а он - один.
лангольеры под окном жрали время ом-ном-ном
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя