Приказ 19 МинРегионРазвитие - Условные обозначения.
- Пётр Дубоделов
- Завсегдатай
- Сообщения: 271
- Зарегистрирован: 21 апр 2009, 13:58
- Репутация: 12
- Откуда: Бурашево
- Контактная информация:
Re: Приказ 19 МинРегионРазвитие - Условные обозначения.
похоже, известная проблема, в англоязычном сегменте сети нашел довольно быстро костыльное решение. что интересно - на русском ничего, отстаём... мозг закипает... еще одно подтверждение что в xml диалектов больше чем в китайском. один - два руками поправить еще можно, а так, если использовать, то придумывать риплейсер
"Если карта не соответствует местности, доверяй местности."
-
- Гуру
- Сообщения: 3321
- Зарегистрирован: 27 июл 2009, 19:26
- Репутация: 748
- Ваше звание: Вредитель полей
Re: Приказ 19 МинРегионРазвитие - Условные обозначения.
Факт, костыльное, потому что SVG parameters - это еще пока глубокий draft, а потому ждать его внедрения в Inkscape еще долго. Но вот все же интересно, почему иллюстраторовские работают - там с еще меньшей вероятностью параметры поддерживаются.
- Пётр Дубоделов
- Завсегдатай
- Сообщения: 271
- Зарегистрирован: 21 апр 2009, 13:58
- Репутация: 12
- Откуда: Бурашево
- Контактная информация:
Re: Приказ 19 МинРегионРазвитие - Условные обозначения.
через тернии к звёздам выработал "для себе" такое решение:
1. рисуем в inkscape чего надо, суммируем в один контур, чтобы добавлять параметры только в одной строке. в настройках заливки и обводки ставим "не определено" - пиктограмма с "вопросом"
2. пропускаем получившийся svg через SVG Cleaner - для читабельности результирующего кода, заодно нехило уменьшаем размер файла
3. открываем блокнотом, тег фигуры
меняем на примерно так
где fill - дефолтная заливка
stroke - деф. обводка
stroke-width - деф. толщина обводки (без этого выбор толщины в QGIS не активен)
ну и результат:
1. рисуем в inkscape чего надо, суммируем в один контур, чтобы добавлять параметры только в одной строке. в настройках заливки и обводки ставим "не определено" - пиктограмма с "вопросом"
2. пропускаем получившийся svg через SVG Cleaner - для читабельности результирующего кода, заодно нехило уменьшаем размер файла
3. открываем блокнотом, тег фигуры
Код: Выделить всё
<path d="m150...
Код: Выделить всё
<path fill="param(fill) #000000" stroke="param(outline) #000000" stroke-width="param(outline-width) 1" d="m150...
stroke - деф. обводка
stroke-width - деф. толщина обводки (без этого выбор толщины в QGIS не активен)
ну и результат:
- Вложения
-
- Безымянный.png (45.86 КБ) 7444 просмотра
Последний раз редактировалось Пётр Дубоделов 11 дек 2013, 11:32, всего редактировалось 1 раз.
"Если карта не соответствует местности, доверяй местности."
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Приказ 19 МинРегионРазвитие - Условные обозначения.
неплохо, неплохо бы как-нибудь скрипт написать для подобной нормализации символики сразу пачками
пристегивайтесь, турбулентность прямо по курсу
- Пётр Дубоделов
- Завсегдатай
- Сообщения: 271
- Зарегистрирован: 21 апр 2009, 13:58
- Репутация: 12
- Откуда: Бурашево
- Контактная информация:
Re: Приказ 19 МинРегионРазвитие - Условные обозначения.
SVG Cleaner по дефолту обрабатывает каталоги пакетно. лицензирован GPL. кроссплатформенный. тут нужен модуль к нему, по идее... сам в этом не силён, всё, что могу сказать глядя на его код, что это C++, судя по расширениям.
да есть и другие оптимизаторы svg, этот просто показался удобным.
да есть и другие оптимизаторы svg, этот просто показался удобным.
"Если карта не соответствует местности, доверяй местности."
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Приказ 19 МинРегионРазвитие - Условные обозначения.
это правильный, но длинный и сложный путь.
проще сделать небольшой скрипт на питоне который будет добавлять нужные слова в нужные теги.
проще сделать небольшой скрипт на питоне который будет добавлять нужные слова в нужные теги.
пристегивайтесь, турбулентность прямо по курсу
- Пётр Дубоделов
- Завсегдатай
- Сообщения: 271
- Зарегистрирован: 21 апр 2009, 13:58
- Репутация: 12
- Откуда: Бурашево
- Контактная информация:
Re: Приказ 19 МинРегионРазвитие - Условные обозначения.
не делал, но видимо теперь пора попробовать. с питоном знаком на уровне прочтения учебников без экспериментов после прочтения. если кто-то ткнёт носом в похожее решение, благодарен буду, хотя... и сам наверно разберусь. будет дольше, но узнаю больше. медалька о двух сторонах.
"Если карта не соответствует местности, доверяй местности."
-
- Гуру
- Сообщения: 3321
- Зарегистрирован: 27 июл 2009, 19:26
- Репутация: 748
- Ваше звание: Вредитель полей
Re: Приказ 19 МинРегионРазвитие - Условные обозначения.
Я думаю, Питон - далеко не единственный путь для этого.
Один из традиционных способов работы с XML - использование трансформаций XSLT. Например, как здесь: http://p2p.wrox.com/xslt/81319-modify-a ... -xslt.html
http://stackoverflow.com/questions/6158 ... ng-xslcopy
А уж при наличии шаблона XSLT, решающего нужную задачу, применить его можно разными средствами, например, используя утилиту xsmstarlet или на том же Питоне http://stackoverflow.com/questions/1669 ... -in-python .
Мне видится, то использование XSLT сделало бы это решение независимым от платформы в большей степени чем скрипт работы со строками на любом языке.
Один из традиционных способов работы с XML - использование трансформаций XSLT. Например, как здесь: http://p2p.wrox.com/xslt/81319-modify-a ... -xslt.html
http://stackoverflow.com/questions/6158 ... ng-xslcopy
А уж при наличии шаблона XSLT, решающего нужную задачу, применить его можно разными средствами, например, используя утилиту xsmstarlet или на том же Питоне http://stackoverflow.com/questions/1669 ... -in-python .
Мне видится, то использование XSLT сделало бы это решение независимым от платформы в большей степени чем скрипт работы со строками на любом языке.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя