Как предотвратить рендеринг надписей в спущенном пространстве в QGIS composer?

10

Я делаю карты для книги, где карты бегут к краю страницы. Принтер посоветовал удалить пространство вокруг изображений на 3 мм, поэтому, если моя страница имеет размер 127x177 мм, изображения должны иметь размер 133x183 мм. Это пространство для отбраковки должно допускать ошибки при вырезании страниц книги, а в случае карт не должно быть никакой важной информации. Поэтому я использую размер страницы композитора, который включает эти дополнительные 3 мм со всех сторон.

Я не хочу, чтобы метки городов были обрезаны по краям карты, поэтому я отключил опцию «Показывать метки частей». Тем не менее, в пределах этой 3-миллиметровой «ничейной земли» все еще отображаются этикетки, которые могут быть обрезаны принтером.

Карта с кровотечением, где не должны отображаться метки

Решение, которое я рассмотрел, состоит в том, чтобы создать две накладывающиеся, концентрические и идеально выровненные карты, нижняя карта проходит к краю кровотечения и не будет показывать города, карта сверху будет иметь точный размер страницы книги (т.е. 3 мм меньше на каждой стороне, чем нижележащая карта) и будет отображать слой города, поэтому создается граница 3 мм, где не отображаются города (или метки).

Однако я не могу сделать эти две карты идеально выровненными в композиторе. Я пытался вычислить экстенты для этих двух карт, чтобы они имели одинаковый центр и одинаковый масштаб, но, похоже, что QGIS composer имеет фиксированную точность в 3 десятичных знака после запятой, поэтому я никогда не смогу заставить их выровняться идеально.

Другим способом решения этой проблемы была бы новая функция, которая позволяла бы не отображать метки в атласе «Margin вокруг Feature».

Есть ли какой-нибудь способ, которым я могу предотвратить визуализацию меток в пределах границы обрезки?

Мир Родригес
источник

Ответы:

1

Приведенное ниже решение может быть не идеальным решением вашей проблемы, но это обходной путь для решения возникшей проблемы.

Если количество точек (городов), которые вы не хотите показывать в кровотечении, мало, вы можете исключить их с помощью Query Builder следующим образом.

  1. Щелкните правой кнопкой мыши целевой слой (слой с точками города) -> перейти к свойствам слоя
  2. Перейти на вкладку Общие
  3. Справа внизу есть кнопка «Построитель запросов», нажмите на нее, чтобы построить запрос
  4. Написать выражение "FIELD_NAME" != 'NAME OF THE CITY'
  5. Замените FIELD_NAME на поле, содержащее названия городов, и замените «НАИМЕНОВАНИЕ ГОРОДА» на название города, который вы хотите, чтобы он не отображался в кровотечении.
  6. Если вы хотите исключить более одного города, вам нужно написать "FIELD_NAME" != 'NAME OF THE CITY_1' AND "FIELD_NAME" != 'NAME OF THE CITY_2'и так далее.
ahmadhanb
источник