Заливка объекта текстурой 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 КБ) 9415 просмотров
Превью заливки.png
Превью заливки.png (106.17 КБ) 9440 просмотров
Test.svg
(2.48 КБ) 408 скачиваний

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

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

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

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

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

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

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

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

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

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
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

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 КБ) 9234 просмотра
Правильные настройки.png
Правильные настройки.png (140.9 КБ) 9234 просмотра
Итоговая заливка.png
Итоговая заливка.png (53.28 КБ) 9234 просмотра

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

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

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

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

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

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 КБ) 9095 просмотров
минус 1.png
минус 1.png (44.98 КБ) 9095 просмотров

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

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

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

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

Ответить

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

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

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