LINUX.ORG.RU

metromap 0.1.0


0

0

Основное изменение - добавлен "рисовальщик" схем. Теперь "картинки" со схемами метро не нужны, достаточно файла Metro.ini. Правда "рисовальщик" сделан на "чистом" gtk+, поэтому нет ни "кривых" ни "сглаживания", так что выглядит не особо хорошо. Также добавлена возможность чтения .zip, .pmz и .pmz внутри .zip. Так что теперь просто скачиваем zip с сайта pMetro и кладем его в ~/.metromap/. Ну и всякие мелкие улучшения/исправления. Более подробный список изменений - на домашней странице програмы. (http://metromap.antex.ru/)

>>> Скачать

★★

Проверено: Shaman007 ()

Ответ на: комментарий от anonymous

> Правда "рисовальщик" сделан на "чистом" gtk+, поэтому нет ни "кривых" ни "сглаживания", так что выглядит не особо хорошо.

Cairo спасёт тебя. В качестве примера реализации посмотри, к примеру, на Roadster: http://linuxadvocate.org/projects/roadster/

AP ★★★★★
()

А в gtk-2.7.0 уже некоторые виджеты рисуются через cairo

init ★★★★★
()
Ответ на: комментарий от AP

Не спасет. mouse@ в сизифе libcairo не обновляет. а с 0.0.4 pycairo cvs'ный не хочет собираться. Ну и еще одна хрень - в cairo для "кривых" используются кривые Безье. В файлах данных от pMetro - координаты для сплайнов. Как из этих координат вывести "контрольные точки" для кривых Безье я не знаю. Если с математикой у меня все, более менее, не плохо, то с геометрией - намного хуже =)

drF_ckoff ★★
() автор топика
Ответ на: комментарий от drF_ckoff

Мучительно вспоминаю уроки 10-15-летней давности. Насколько я помню, в общем случае это дело не решается, точно. Потому как разные принципы интерполяции. Приблизительные решения, может, найдутся...

ЗЫ Не бейте ногами, не помню, когда в последний раз занимался вычислистикой

svu ★★★★★
()
Ответ на: комментарий от BastardOperatorFromHell

Смотрел. Но заставлять "пользователя" искать/собирать "сишную" библиотеку, потом искать/собирать питоньи биндинги под нее и все это ради того, чтобы какая-то фигня выглядела немного покрасивей - это жестоко, imho.

drF_ckoff ★★
() автор топика
Ответ на: комментарий от SySAlex

Пакет собрать я могу. Как и не собирать. Но хотелось бы иметь такую программу в официальном репозитории. Потому что карта метро под Linux - штука архиполезнейшая.

Eldhenn
()

Хороший и полезный проект. Спасибо.

Cybem ★★
()
Ответ на: комментарий от drF_ckoff

Да, кстати реально задолбал своей прогой. На фрешмите анонсы пость, лор для других вещей нужен. И модератору кто новость уже в 10 раз пропускает надо по голове настучать.

anonymous
()
Ответ на: комментарий от svu

Жалко. Ну ладно, и так уже хорошо :)

AP ★★★★★
()
Ответ на: комментарий от drF_ckoff

> Ну и еще одна хрень - в cairo для "кривых" используются кривые Безье. В файлах данных от pMetro - координаты для сплайнов. Как из этих координат вывести "контрольные точки" для кривых Безье я не знаю.

Не понимаю, зачем тебе кривые Безье, когда можно использовать обычные дуги окружностей?.. Не знаю, поддерживает ли Cairo дуги, но по идее должен. Что касается математической стороны вопроса, то для того, чтобы дуга "плавно" переходила в прямую, достаточно, чтобы в точке пересечения совпадалии первые две производные. То есть можно просто написать системку уравнений и решить ее аналитически. Где-то уровень 1 или 2-го курса политеха. Причем, этот же самый принцип используется в сплайнах ;)

D
()

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

anonymous
()
Ответ на: комментарий от AP

> Давным-давно поддерживает :)

Ну, я и не сомневался... :)

Интересная штука Cairo. Кажется, как раз через него пытаются реализовать API-шный интерфейс GDI+ в проекте Mono. Просто через такое сравнение мне легче судить об этой вещи.

D
()
Ответ на: комментарий от D

> Интересная штука Cairo.

Интересная и перспективная, только неспешная пока что. Поэтому чем на ней пишут больше настоящих программ, а не дурацких полупрозрачных бабочек, тем быстрее её превратят в конфетку, на которую уже можно спокойно портировать Inkscape и всякое такое :)

Доктор-это-самое, прислушайся :)

AP ★★★★★
()

По-английски правильно не "founded ways" а "found paths". "Found" -- неправильный глагол, way -- это путь в смысле "это мой путь и я пройду его до конца", а "путь из точки А в точку Б" это "path".

anonymous
()
Ответ на: комментарий от AP

> Интересная и перспективная, только неспешная пока что. Поэтому чем на ней пишут больше настоящих программ, а не дурацких полупрозрачных бабочек, тем быстрее её превратят в конфетку, на которую уже можно спокойно портировать Inkscape и всякое такое :)

Ээ... Между прочим, как бывшый пользователь KDE с n-летним опытом ничего не имею против полупрозрачных бабочек :)

В любом случае, очень рад за успехи разработчиков Cairo.

D
()

Отличная прога! Раньше приходилось для этой цели в вайне mmetro пускать, теперь об этом можно забыть :)

Вообще, ИМХО, была бы полезной возможность в программе искать маршрут с запретом проезда через определённые переходы. Потому что довольно часто в определённые часы определённые переходы работают только в одном направлении (либо вообще закрыты), а программа с настройками по дефолту выдаёт только один маршрут... Приходится maxerror увеличивать (его кстати СИЛЬНО неплохо было бы в гуй вынести - например рядом с выбором времени суток).

ЗЫ кстати, по сравнению с предыдущей версией размер архива на порядок уменьшился... Так понимаю, засчёт применения карт в векторном формате...

slav ★★
()

Чё за ботва

dima@dimabook ~/download/metromap-0.1.0 $ ./metromap.py

(metromap.py:11202): Gdk-WARNING **: locale not supported by Xlib

(metromap.py:11202): Gdk-WARNING **: cannot set locale modifiers
Traceback (most recent call last):
File "./metromap.py", line 151, in ?
name = GetMapName(f)
File "/home/dima/download/metromap-0.1.0/modules/ReadMap.py", line 22, in GetMapName
l, u = count_lu(name, l, u)
File "/home/dima/download/metromap-0.1.0/modules/ReadMap.py", line 31, in count_lu
locale.setlocale(locale.LC_ALL, 'ru_RU.CP1251')
File "/usr/lib/python2.3/locale.py", line 381, in setlocale
return _setlocale(category, locale)
locale.Error: unsupported locale setting
dima@dimabook ~/download/metromap-0.1.0 $ locale
LANG=ru_RU.utf8
LC_CTYPE="ru_RU.utf8"
LC_NUMERIC="ru_RU.utf8"
LC_TIME="ru_RU.utf8"
LC_COLLATE="ru_RU.utf8"
LC_MONETARY="ru_RU.utf8"
LC_MESSAGES="ru_RU.utf8"
LC_PAPER="ru_RU.utf8"
LC_NAME="ru_RU.utf8"
LC_ADDRESS="ru_RU.utf8"
LC_TELEPHONE="ru_RU.utf8"
LC_MEASUREMENT="ru_RU.utf8"
LC_IDENTIFICATION="ru_RU.utf8"
LC_ALL=

rys
()

для подобных программ больше годится вебинтерфейс - переделайте пожалуйста

vm ★★
()

вопрос

Интересно, а что такое zip ?

anonymous
()

Я - робот

Не люблю я zip пАтамушта я робот !

anonymous
()

Я никакой не анонимус

Ребята, я никакой не анонимус - я робот и zip меня не интересует.

anonymous
()

зло это

zip есть зло !!!

anonymous
()

гы

афтар, пиши есчо, а насчёт zip я бы сказал пару ласковых

anonymous
()

Я - робот

Не люблю я zip пАтамушта я робот !

anonymous
()

Роботы идут

осмысленное предложение робот то же может составить про zip

anonymous
()
Ответ на: комментарий от D

> Что касается математической стороны вопроса, то для того, чтобы дуга "плавно" переходила в прямую, достаточно, чтобы в точке пересечения совпадалии первые две производные.

Вы уравнение прямой когда-нибудь видели? Какая еще вторая производная?

Satellite
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.