Заливка объекта текстурой svg

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Ilgr
Новоприбывший
Сообщения: 8
Зарегистрирован: 03 ноя 2021, 10:04
Репутация: 1
Откуда: Москва

Заливка объекта текстурой svg

Сообщение Ilgr » 03 ноя 2021, 10:18

Добрый день!
Может кто помочь.
Пытаюсь в Geoserver сделать заливку объекта текстурой svg, но при визуализации оказывается, что используется только часть изображения svg текстуры. Как не бился с настройками стиля Geoserver - ничего не получается.
Пример текстуры svg в аттаче. Текстуру делал в Inkscape (сохранял, как простой svg).
Еще в аттаче код стиля и, как отображается стиль в превью.

<PolygonSymbolizer>
<Fill>
<GraphicFill>
<Graphic>
<ExternalGraphic>
<OnlineResource xlink:type="simple" xlink:href="img/Test.svg"/>
<Format>image/svg+xml</Format>
</ExternalGraphic>
<Size>10</Size>
</Graphic>
</GraphicFill>
</Fill>
</PolygonSymbolizer>
Вложения
Текстура.png
Текстура.png (24.63 КБ) 5678 просмотров
Превью заливки.png
Превью заливки.png (106.17 КБ) 5703 просмотра
Test.svg
(2.48 КБ) 289 скачиваний

Ilgr
Новоприбывший
Сообщения: 8
Зарегистрирован: 03 ноя 2021, 10:04
Репутация: 1
Откуда: Москва

Re: Заливка объекта текстурой svg

Сообщение Ilgr » 03 ноя 2021, 13:02

На всякий заливка крупно.
Вложения
Фрагмент.png
Фрагмент.png (81.16 КБ) 5673 просмотра

Ilgr
Новоприбывший
Сообщения: 8
Зарегистрирован: 03 ноя 2021, 10:04
Репутация: 1
Откуда: Москва

Re: Заливка объекта текстурой svg

Сообщение Ilgr » 04 ноя 2021, 22:56

Определил, что отображается в Geoserver только верхняя левая часть файла svg.
Вложения
Часть.png
Часть.png (31.67 КБ) 5606 просмотров
Часть заливки.png
Часть заливки.png (39.23 КБ) 5606 просмотров

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

Re: Заливка объекта текстурой svg

Сообщение gamm » 05 ноя 2021, 11:11

Ilgr писал(а):
04 ноя 2021, 22:56
Определил, что отображается в Geoserver только верхняя левая часть файла svg.
там скорее всего в коде размер прописан (или в конфигах) ...

Ivor
Завсегдатай
Сообщения: 345
Зарегистрирован: 11 дек 2006, 09:46
Репутация: 102
Откуда: Иркутск

Re: Заливка объекта текстурой svg

Сообщение Ivor » 05 ноя 2021, 14:56

Ilgr писал(а):
03 ноя 2021, 10:18
<Size>10</Size>
А вот это - оно за что отвечает?

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

Re: Заливка объекта текстурой svg

Сообщение gamm » 05 ноя 2021, 17:28

Исходники смотреть надо, только в них правда :D

Ilgr
Новоприбывший
Сообщения: 8
Зарегистрирован: 03 ноя 2021, 10:04
Репутация: 1
Откуда: Москва

Re: Заливка объекта текстурой svg

Сообщение Ilgr » 05 ноя 2021, 22:12

<Size>10</Size>
Это размер единицы текстуры заливки. Это ничего не дает. Либо меньше, либо больше.

Ilgr
Новоприбывший
Сообщения: 8
Зарегистрирован: 03 ноя 2021, 10:04
Репутация: 1
Откуда: Москва

Re: Заливка объекта текстурой svg

Сообщение Ilgr » 05 ноя 2021, 23:08

С одной стороны все получилось, но результат неудовлетворительный. Вместо сплошной заливки - заливка поделенная на квадраты. Но это уже другая история. И скорее всего - не решаемая. (Если кто знает как решать - буду рад Вашей помощи)
Проблема была в настройках файла. Необходимо было указывать единицы измерения пискселы (px). (Рис.Правильные настройки.png) - height="56.692909"; width="56.692913". А параметр viewBox="0 0 15 15" - считается в мм. Отсюда и
параметр Масштабирования по Х = 0,26458. Различия в коде svg и полученный результат заливке в аттаче.
Всем спасибо за советы!
Вложения
Правильный код.png
Правильный код.png (116.04 КБ) 5497 просмотров
Правильные настройки.png
Правильные настройки.png (140.9 КБ) 5497 просмотров
Итоговая заливка.png
Итоговая заливка.png (53.28 КБ) 5497 просмотров

Ilgr
Новоприбывший
Сообщения: 8
Зарегистрирован: 03 ноя 2021, 10:04
Репутация: 1
Откуда: Москва

Re: Заливка объекта текстурой svg

Сообщение Ilgr » 05 ноя 2021, 23:31

Похоже все получилось :-)
Вложения
Чуток подправлено.png
Чуток подправлено.png (28.47 КБ) 5493 просмотра
Оно.png
Оно.png (74.78 КБ) 5493 просмотра
Было.png
Было.png (24.63 КБ) 5493 просмотра

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

Re: Заливка объекта текстурой svg

Сообщение gamm » 06 ноя 2021, 01:33

Артефакты вроде остались, может 0,0,0,0 границы помогут?

Ilgr
Новоприбывший
Сообщения: 8
Зарегистрирован: 03 ноя 2021, 10:04
Репутация: 1
Откуда: Москва

Re: Заливка объекта текстурой svg

Сообщение Ilgr » 06 ноя 2021, 19:15

Нет, артефакты из-за того, что не точно последние штрихи подогнал. При 0 (кстати достаточно одного 0) тонкая граница остается.
Потом точнее сделал - все совпало.
Вложения
Ноль.png
Ноль.png (49.65 КБ) 5358 просмотров
минус 1.png
минус 1.png (44.98 КБ) 5358 просмотров

Ilgr
Новоприбывший
Сообщения: 8
Зарегистрирован: 03 ноя 2021, 10:04
Репутация: 1
Откуда: Москва

Re: Заливка объекта текстурой svg

Сообщение Ilgr » 06 ноя 2021, 20:23

Хоть и правильную текстуру показывает, но и ошибку выдает. Не пойму в чем дело.
Вложения
Ошибка.png
Ошибка.png (69.28 КБ) 5341 просмотр

Ответить

Вернуться в «Веб-картография»

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

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