SVG маленького размера

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
qwerty123
Новоприбывший
Сообщения: 13
Зарегистрирован: 15 июн 2022, 12:13
Репутация: 1
Откуда: Куда

SVG маленького размера

Сообщение qwerty123 » 15 июн 2022, 12:19

Здравствуйте.
У нас на фирме есть собственная самописная ГИС-система, которая писалась до 2006 года.
На данный момент в данной ГИС-системе есть много проектов, которые необходимо перенести в QGIS.
Столкнулся с проблемой, в QGIS не получается отобразить SVG маркер размером 7 x 5 px, хотя в нашей ГИС-системе он отображается нормально. С крупными маркерами проблем нет. Предполагаю, что это связано с тем, что QGIS сглаживает SVG.
Подскажите, пожалуйста, как в QGIS вывести маркер такого размера?
Скриншот маркера из самописной ГИС-системы (7x5.png) и скриншот маркера в QGIS (7x5 QGIS.png) прикрепляю.
Вложения
7x5 QGIS.png
7x5 QGIS.png (563 байт) 1683 просмотра
7x5.png
7x5.png (518 байт) 1691 просмотр
Последний раз редактировалось qwerty123 18 июн 2022, 12:12, всего редактировалось 2 раза.

AlexRomantsov
Завсегдатай
Сообщения: 299
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 136
Ваше звание: хм, сам не знал
Откуда: Томск

Re: SVG маленького размера

Сообщение AlexRomantsov » 15 июн 2022, 12:49

Здравствуйте. А лучше сам маркер svg прикрепите. В SVG есть нюансы

qwerty123
Новоприбывший
Сообщения: 13
Зарегистрирован: 15 июн 2022, 12:13
Репутация: 1
Откуда: Куда

Re: SVG маленького размера

Сообщение qwerty123 » 15 июн 2022, 15:37

AlexRomantsov писал(а):
15 июн 2022, 12:49
Здравствуйте. А лучше сам маркер svg прикрепите. В SVG есть нюансы
В самописной ГИС-системе маркеры хранятся не в SVG, а в текстовом файле, который содержит описание маркера. Я написал конвертер, который конвертирует текстовый файл в SVG.
Прикрепляю оба файла.
Меня интересует вопрос, как можно доработать мой SVG файл, чтобы в QGIS нормально выводился маркер 7x5 px
Вложения
marker.txt
(836 байт) 183 скачивания
marker.svg
(373 байт) 193 скачивания

AlexRomantsov
Завсегдатай
Сообщения: 299
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 136
Ваше звание: хм, сам не знал
Откуда: Томск

Re: SVG маленького размера

Сообщение AlexRomantsov » 15 июн 2022, 18:23

Сделайте в svg параметрические размеры:
<polygon points="1,1 67,1 67,45 1,45 1,1" stroke="#000000" fill="#FFFFFF" stroke-width="param(outline-width)"/>
<polyline points="23,1 23,45" stroke="#000000" fill="none" stroke-width="param(outline-width)"/>
<polyline points="45,1 45,45" stroke="#000000" fill="none" stroke-width="param(outline-width)"/>
В этом варианте у Вас получится настраивать толщину линий маркера SVG прямо в QGIS:
svg_param.jpg
svg_param.jpg (27.54 КБ) 1604 просмотра
Ну и подберите настройки по вкусу.

gamm
Гуру
Сообщения: 4046
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: SVG маленького размера

Сообщение gamm » 15 июн 2022, 18:50

Случайно попал по кнопке палец вниз, а отменить невозможно ...

qwerty123
Новоприбывший
Сообщения: 13
Зарегистрирован: 15 июн 2022, 12:13
Репутация: 1
Откуда: Куда

Re: SVG маленького размера

Сообщение qwerty123 » 15 июн 2022, 22:42

Огромное спасибо, не знал что так можно, удалось уменьшить маркер до нужного размера.
Но виден эффект сглаживания линий, из-за которого маркер расплывается.
Возможно ли избавиться от данного эффекта?
В параметрах QGIS, в разделе "отрисовка" убрал галочку с "Рисовать сглаженные линии", но эффекта никакого.
Вложения
marker.png
marker.png (904 байт) 1567 просмотров

AlexRomantsov
Завсегдатай
Сообщения: 299
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 136
Ваше звание: хм, сам не знал
Откуда: Томск

Re: SVG маленького размера

Сообщение AlexRomantsov » 16 июн 2022, 04:41

А из интереса, проверьте картинку на соседнем компе с монитором с другим разрешением.
Еще тропинки: можно в маркере SVG нарисовать эту решётку не линиями, а полигональными фигурами, с заливкой и с обводкой нулевой толщины.
Есть также альтернатива - создать библиотеку из шрифтовых (TTF/OTF) маркеров. Там не просто все на старте, шрифты это другая вселенная, но рендеринг в ГИС "букв" шрифтов TTF/OTF как маркеров идет по другим алгоритмам, качество картинки принципиально другое, и на экране и при печати, и что существенно - тысяча таких решёток из глифов TTF/OTF в окне карты QGIS выведется примерно в 2-3 раза быстрее, чем та же тысяча из маркеров SVG.

AlexRomantsov
Завсегдатай
Сообщения: 299
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 136
Ваше звание: хм, сам не знал
Откуда: Томск

Re: SVG маленького размера

Сообщение AlexRomantsov » 16 июн 2022, 06:45

qwerty123 писал(а):
15 июн 2022, 22:42
Огромное спасибо, не знал что так можно, удалось уменьшить маркер до нужного размера.
Остальные свойства фигур SVG также можно делать параметрическими, управляемыми из ГИС:
fill="param(fill)"
fill-opacity="param(fill-opacity)"
stroke="param(outline)"
stroke-opacity="param(outline-opacity)"
stroke-width="param(outline-width)"
Может пригодится, в SVG маркерах.

Ответить

Вернуться в «QGIS»

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

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