Приказ 19 МинРегионРазвитие - Условные обозначения.

MapInfo, MapBasic
Аватара пользователя
Пётр Дубоделов
Завсегдатай
Сообщения: 271
Зарегистрирован: 21 апр 2009, 13:58
Репутация: 12
Откуда: Бурашево
Контактная информация:

Re: Приказ 19 МинРегионРазвитие - Условные обозначения.

Сообщение Пётр Дубоделов » 10 дек 2013, 22:00

похоже, известная проблема, в англоязычном сегменте сети нашел довольно быстро костыльное решение. что интересно - на русском ничего, отстаём... мозг закипает... еще одно подтверждение что в xml диалектов больше чем в китайском. один - два руками поправить еще можно, а так, если использовать, то придумывать риплейсер
"Если карта не соответствует местности, доверяй местности."

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Приказ 19 МинРегионРазвитие - Условные обозначения.

Сообщение ericsson » 11 дек 2013, 02:31

Факт, костыльное, потому что SVG parameters - это еще пока глубокий draft, а потому ждать его внедрения в Inkscape еще долго. Но вот все же интересно, почему иллюстраторовские работают - там с еще меньшей вероятностью параметры поддерживаются.

Аватара пользователя
Пётр Дубоделов
Завсегдатай
Сообщения: 271
Зарегистрирован: 21 апр 2009, 13:58
Репутация: 12
Откуда: Бурашево
Контактная информация:

Re: Приказ 19 МинРегионРазвитие - Условные обозначения.

Сообщение Пётр Дубоделов » 11 дек 2013, 10:15

через тернии к звёздам выработал "для себе" такое решение:
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...
где fill - дефолтная заливка
stroke - деф. обводка
stroke-width - деф. толщина обводки (без этого выбор толщины в QGIS не активен)

ну и результат:
Вложения
Безымянный.png
Безымянный.png (45.86 КБ) 7444 просмотра
Последний раз редактировалось Пётр Дубоделов 11 дек 2013, 11:32, всего редактировалось 1 раз.
"Если карта не соответствует местности, доверяй местности."

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Приказ 19 МинРегионРазвитие - Условные обозначения.

Сообщение Максим Дубинин » 11 дек 2013, 10:39

неплохо, неплохо бы как-нибудь скрипт написать для подобной нормализации символики сразу пачками
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
Пётр Дубоделов
Завсегдатай
Сообщения: 271
Зарегистрирован: 21 апр 2009, 13:58
Репутация: 12
Откуда: Бурашево
Контактная информация:

Re: Приказ 19 МинРегионРазвитие - Условные обозначения.

Сообщение Пётр Дубоделов » 11 дек 2013, 12:42

SVG Cleaner по дефолту обрабатывает каталоги пакетно. лицензирован GPL. кроссплатформенный. тут нужен модуль к нему, по идее... сам в этом не силён, всё, что могу сказать глядя на его код, что это C++, судя по расширениям.
да есть и другие оптимизаторы svg, этот просто показался удобным.
"Если карта не соответствует местности, доверяй местности."

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Приказ 19 МинРегионРазвитие - Условные обозначения.

Сообщение Максим Дубинин » 11 дек 2013, 13:16

это правильный, но длинный и сложный путь.

проще сделать небольшой скрипт на питоне который будет добавлять нужные слова в нужные теги.
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
Пётр Дубоделов
Завсегдатай
Сообщения: 271
Зарегистрирован: 21 апр 2009, 13:58
Репутация: 12
Откуда: Бурашево
Контактная информация:

Re: Приказ 19 МинРегионРазвитие - Условные обозначения.

Сообщение Пётр Дубоделов » 11 дек 2013, 13:33

не делал, но видимо теперь пора попробовать. с питоном знаком на уровне прочтения учебников без экспериментов после прочтения. если кто-то ткнёт носом в похожее решение, благодарен буду, хотя... и сам наверно разберусь. будет дольше, но узнаю больше. медалька о двух сторонах.
"Если карта не соответствует местности, доверяй местности."

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Приказ 19 МинРегионРазвитие - Условные обозначения.

Сообщение ericsson » 11 дек 2013, 20:44

Я думаю, Питон - далеко не единственный путь для этого.
Один из традиционных способов работы с 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 сделало бы это решение независимым от платформы в большей степени чем скрипт работы со строками на любом языке.

Ответить

Вернуться в «MapInfo»

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

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