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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ответить

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

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

Сейчас этот форум просматривают: Semrush [Bot] и 2 гостя