Страница 1 из 1

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

Добавлено: 03 ноя 2021, 10:18
Ilgr
Добрый день!
Может кто помочь.
Пытаюсь в 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>

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

Добавлено: 03 ноя 2021, 13:02
Ilgr
На всякий заливка крупно.

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

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

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

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

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

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

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

Добавлено: 05 ноя 2021, 17:28
gamm
Исходники смотреть надо, только в них правда :D

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

Добавлено: 05 ноя 2021, 22:12
Ilgr
<Size>10</Size>
Это размер единицы текстуры заливки. Это ничего не дает. Либо меньше, либо больше.

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

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

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

Добавлено: 05 ноя 2021, 23:31
Ilgr
Похоже все получилось :-)

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

Добавлено: 06 ноя 2021, 01:33
gamm
Артефакты вроде остались, может 0,0,0,0 границы помогут?

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

Добавлено: 06 ноя 2021, 19:15
Ilgr
Нет, артефакты из-за того, что не точно последние штрихи подогнал. При 0 (кстати достаточно одного 0) тонкая граница остается.
Потом точнее сделал - все совпало.

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

Добавлено: 06 ноя 2021, 20:23
Ilgr
Хоть и правильную текстуру показывает, но и ошибку выдает. Не пойму в чем дело.