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

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

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

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

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

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

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

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

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

gamm
Гуру
Сообщения: 4185
Зарегистрирован: 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
Гуру
Сообщения: 4185
Зарегистрирован: 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 КБ) 15901 просмотр
Правильные настройки.png
Правильные настройки.png (140.9 КБ) 15901 просмотр
Итоговая заливка.png
Итоговая заливка.png (53.28 КБ) 15901 просмотр

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

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

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

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

gamm
Гуру
Сообщения: 4185
Зарегистрирован: 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 КБ) 15762 просмотра
минус 1.png
минус 1.png (44.98 КБ) 15762 просмотра

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

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

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

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

Ответить

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

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

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