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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ответить

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

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

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