Страница 1 из 1

Отрисовка подписей поверх остальных слоёв

Добавлено: 14 фев 2010, 19:09
Denis Rykov
Если в векторном слое активированы подписи, а поверх этого слоя добавлен, например, растр, то подписи оказываются поверх этого растра. Ошибка ли это?

Re: Отрисовка подписей поверх остальных слоёв

Добавлено: 14 фев 2010, 19:13
Komяpa
наблюдал. считаю, бага.

Re: Отрисовка подписей поверх остальных слоёв

Добавлено: 14 фев 2010, 23:02
Максим Дубинин
я не уверен, что это ошибка

Re: Отрисовка подписей поверх остальных слоёв

Добавлено: 14 фев 2010, 23:06
Denis Rykov
Ведь подписи относятся к конкретному слою, а если он лежит на нижнем уровне, почему вдруг они появляются наверху.

Re: Отрисовка подписей поверх остальных слоёв

Добавлено: 14 фев 2010, 23:18
Максим Дубинин
подписи - не геометрия и хранятся в "верхнем" слоев.

допустим у тебя полигоны стран (внизу) и дороги (вверху), ты подписал страны, по твоей логике ты будешь ожидать, что названия стран будут "изрезаны" дорогами?

Re: Отрисовка подписей поверх остальных слоёв

Добавлено: 14 фев 2010, 23:41
Denis Rykov
С векторными слоями понятно. А если вектор полностью перекрывается растром, то от вектора никакой информации не сохраняется (при непрозрачном растре), в этом случае подписи как бы не к месту?

Re: Отрисовка подписей поверх остальных слоёв

Добавлено: 14 фев 2010, 23:43
Максим Дубинин
а зачем в этом случае подписи вообще тогда показывать? да и сам вектор тоже.

Re: Отрисовка подписей поверх остальных слоёв

Добавлено: 15 фев 2010, 00:01
Denis Rykov
Я считаю, что подписи слоев, находящихся под другими слоями могут быть видны только при условии прозрачности перекрывающих их слоев, или как в случае с дорогами - не полного перекрытия - тогда прозрачность просто не к чему. А так как растр непрозрачен, то и подписей нижележащих слоев не должно быть.

Сейчас же получается, что подписи как бы виртуально выносятся на один общий самый верхний слой вне зависимости от порядка слоев к которым они принадлежат. Да, скорее всего, это не ошибка, а особенность программы.

Re: Отрисовка подписей поверх остальных слоёв

Добавлено: 15 фев 2010, 00:37
Максим Дубинин
не совсем понял, как ты предлагаешь быть в случае с дорогами?

Re: Отрисовка подписей поверх остальных слоёв

Добавлено: 15 фев 2010, 01:39
manisha
По-моему, подписи поверх всех слоев - это привычно и удобно, в общем не бага.

Re: Отрисовка подписей поверх остальных слоёв

Добавлено: 15 фев 2010, 08:11
Komяpa
Это бага, потому что такое поведение невозможно обойти.
Если надписи относятся к слою, и я хочу его частично перекрыть полупрозрачной wms (допустим) - у меня нет способа сделать так, чтобы оказалась перекрыта только часть надписей.
Если же надписи рендерятся вместе со слоем - можно имитировать поведение рендеринга надписей исключительно вверху, к примеру, положив наверх такой же слой и не показывая от него геометрию, только надписи.

Re: Отрисовка подписей поверх остальных слоёв

Добавлено: 15 фев 2010, 08:28
Максим Дубинин
Komяpa писал(а):Если же надписи рендерятся вместе со слоем - можно имитировать поведение рендеринга надписей исключительно вверху, к примеру, положив наверх такой же слой и не показывая от него геометрию, только надписи.
Но ты понимаешь, что твоё решение звучит скорее как хак.

Если тебе нужно скрыть половину подписей слоя, почему тебе не сделать это сразу при их отрисовке, на базе атрибутики, а не полупрозрачным WMS'ом?

Re: Отрисовка подписей поверх остальных слоёв

Добавлено: 16 фев 2010, 15:22
yellow-sky
Не считаю это багом. Лейблинг всегда происходит отдельно от рендеринга. Это позволяет произвести более быструю и качественную проверку на коллизии пересечений.
Вариант Котяры - действительно выглядит как хак. Если вы знаете что часть надписей не должна быть видна, то зачем вообще их отрисовывать?

Re: Отрисовка подписей поверх остальных слоёв

Добавлено: 16 фев 2010, 15:24
yellow-sky
_DR_ писал(а): Сейчас же получается, что подписи как бы виртуально выносятся на один общий самый верхний слой вне зависимости от порядка слоев к которым они принадлежат. Да, скорее всего, это не ошибка, а особенность программы.
АркГИС работает точно так же.

Re: Отрисовка подписей поверх остальных слоёв

Добавлено: 23 авг 2017, 07:49
chet2
Здравствуйте.
У меня есть два векторных слоя.
Верхний слой с линиями не содержит подписей.
Слой ниже содержит линии с подписями.
Подписи с нижнего слоя накладываются поверх линий с верхнего слоя.
Мне нужно, чтобы не накладывались.
Я понял что это не баг, но мне нужно, чтобы так не было.
Подскажите пожалуйста, как мне не отображать подписи, которые накладываются на линии с верхнего слоя. Догадываюсь, что с помощью конструктора выражений, но как конкретно - знаний не хватает.