QGIS предоставляет различное разрешение базовой карты в макете печати

13

Я использую мозаичную фоновую карту из онлайн-источника с плитками размером 512 пикселей и пытаюсь использовать ее в качестве фона для печатной карты, используя функции «Макет печати» и «Экспорт в PDF». Проблема: кажется, что выбор уровней масштабирования плитки автоматически зависит от настройки DPI.

Слой базовой карты определяется просто как слой «XYZ плитки» со следующим URL: http://1.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}@2x.png

  • В предварительном просмотре используется экран dpi (возможно, 70), и я вижу эту карту как в окне карты, так и в макете печати. Плитка здесь от zoom 16 . И названия улиц большие и читаемые, как мне нужно. введите описание изображения здесь
  • Теперь для печати мне нужно 600 (или более) DPI PDF-ов. Когда я устанавливаю это как Разрешение экспорта в Layout и создаю PDF, тогда экспортер неожиданно берет плитки с масштабом 18 , поэтому экспортированный PDF имеет другую карту, как показано ниже. Вероятно, QGIS пытается сопоставить разрешение печати с разрешением необработанных фрагментов, но это плохая идея для таких растровых фрагментов, поскольку в результате получается очень маленький текст. Это масштабирование, вероятно, имеет смысл для спутников, но не для карт с масштабно-зависимыми стилями, такими как тексты. Шаблон таков, что при разрешении 300 точек на дюйм +1 увеличение, при 600 + 2 увеличение и т. Д. введите описание изображения здесь

На скриншотах здесь разница, возможно, не так заметна, как в реальных распечатках, но она довольно ужасна.

Вопрос: есть ли способ настроить волшебство соответствия разрешения растрового слоя с несколькими разрешениями в QGIS Print Layouts?

Этот вопрос WMS кажется похожим, возможно, основная проблема та же: Как распечатать карту WMS с выбранным масштабом и уровнем масштабирования WMS?

Кстати, мое быстрое решение - теперь использовать растровый скриншот из Print Layout, но затем я теряю PDF-вектор с этим, что давало бы намного более четкие векторные тексты и векторные иконки SVG поверх карты.

JaakL
источник
С помощью спутника вы можете запросить более качественные растры с сервера, например, здесь: gis.stackexchange.com/questions/194953/… . Но с плитками OSM у меня не более 512 источников, поэтому я ожидаю, что QGIS оттуда увеличится.
JaakL
каков ваш источник фоновой карты? это DPI осведомлен?
Ян Тертон
Он определяется просто как слой «XYZ плитки» со следующим URL:http://1.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}@2x.png
JaakL
пожалуйста, отредактируйте свой вопрос с этой новой информацией
Иан Тертон
похоже, у меня та же проблема: gis.stackexchange.com/questions/286315/… - я использую как OSM из плагина Openlayers, так и Terrestris OSM WMS: ows.terrestris.de/osm/service?&format_options=dpi:300, но пытаюсь играть с параметром DPI не помогло.
Юхеле

Ответы:

8

Кажется, я нашел не идеальное, но «довольно хорошее» решение для конкретных и, вероятно, для нескольких подобных случаев.

  1. В определениях плиточной базовой карты "XYZ" я ограничиваю максимальное увеличение до 16 - масштаб, который мне действительно нужен в моей печати. Таким образом, я обманываю QGIS, чтобы перемасштабировать плитки меньшего масштаба вместо использования плиток большего увеличения
  2. Обнаруженный случайно , что сервер может дать также 1024-пиксельные плитки , так что это дает дополнительную ясность в базовую карту: http://tiles.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}@4x.png. В общем, используйте как можно более высокое разрешение в растровом источнике.
JaakL
источник
Решение 1 в порядке!
Хоссейн Мадади
1

В редакторе макетов в Layout Settings -> Export Settings вы можете изменить DPI экспорта, скажем, от 300 до 96, что меняет разрешение используемых плиток.

Снимок экрана, показывающий расположение настройки разрешения экспорта

Терри Браун
источник