NGTMap 1.0

06.01.2011 - 00:28
Авторы: V@s3K
Использованное ПО: PyCharm 1.0, Python 2.6, Maemo Fremantle pr1.3, Qt 4.7

Недавно был запущен проект МУ "ЦУГАЭТ" для слежения за городским транспортом Новосибирска через ГЛОНАСС/GPS передатчики. Почти в каждом автобусе, троллейбусе, трамвае и маршрутке был установлен такой передатчик и итогом всего было создание сайта maps.nskgortrans.ru, на котором каждый мог выбрать интересующие его маршруты и посмотреть где сейчас находятся автобусы.

Так же была и мобильная версия сего чуда, но она оказалась совершенно неюзабельной на этих самых мобильных телефонах. Должно быть проектировалась под iPhone. Поэтому, немного подумав, я таки решил написать приложение для себя. И, раз уж взялся, перевести все на Яндекс.Карты, чтобы одновременно еще и пробки смотреть.

Так как на сайте нет ни API, ни какого-либо намека на terms of use, я решил связаться с разработчиками, чтобы уточнить не нарушаю ли я его, используя эти данные. Нарушать не нарушаю, но мне предложили подъехать в офис на другом конце города, а желания заниматься бюрократией у меня никакого не было. Я готов был помочь их сервису безвозмездно, но тратить свои деньги и время я на него не хотел. Поэтому все же решился написать на свой страх и риск, в крайнем случае оставлю для себя.

Возможности стандартны:

- Просмотр и поиск по номеру маршрута и типу транспортного средства.

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

- Добавление в избранное, откуда возможен быстрый доступ к «любимым» автобусам с целью их обнаружения на карте.

- Пробки Яндекса. Тут все понятно.

- Карты кешируются по возможности. Нет необходимости загружать их каждый раз. Скрипты Яндекс.Карты API тоже работают локально, кроме пробок.

Минусы:

- Разработчики не позаботились и сервис частенько отдает пустой массив данных. Нечего поделать, только жать «обновить» и ждать, когда починят.

- Иконки автобусов несмешные :(

Техническая сторона:

Так как, к сожалению, у меня телефон Nokia, а не на Android, то все это дело у нас на Qt 4.7 и Python (PyQt, ибо опенсурс). Карта показывается через QWebKit с использованием кеша QNetworkDiskCache. Все остальное — стандартно для Qt приложений. Я предоставляю пакеты под Maemo 5, но так же возможна компиляция под Symbian с тачем. Интерфейс разрабатывался в QtDesigner, после чего конвертировался pyuic'ом в *.py-файл и подключался к программе. Его можно изменять и перегенерять без изменений в программе. Определение местоположения через сенсоры GPS делать не стал до первой просьбы, потому что все приложения с таким функционалом всегда так туго работают.

Пакеты делать так лень :(

Запускать: python main.py

Зависимости на Debian-based: python2.6, python-sumplejson, python2.6-qt4-gui, python2.6-qt4-core, python2.6-qt4-webkit, python2.6-qt4-network

Для ArchLinux: yaourt -S pyqt :3

upd: Разработка запилена по причине нарушения сразу 2х пунктов соглашения Яндекс.Карт:

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

Запрещено:

2.3.6.3. Создавать на основе Сервиса системы мониторинга транспортных средств, отображающих информацию в реальном времени, и любые другие услуги, связанные с управлением и диспетчеризацией транспортных средств.

upd2: Зато я так же написал приложение для iPhone, которое в отличии от этого работает: http://vas3k.ru/work/ngtmap_ios

Несколько автобусов на коммунальном мосту

Трамвайчики в районе Площади Труда, Станиславского и Маркса.

Менюшечка

Бонус для самых упоротых! Desktop-версия под Linux, Mac и Windows (если осилите PyQt).

Alive — 06.01.2011 - 15:43 [172.18.35.167] Windows
А ведь идея шикарная всё-таки. Крутой.
Но десктопку надо сделать, мне кажется. Для ленивых и везучих, которые живут рядом с остановкой. Как я 8-)
Alive — 06.01.2011 - 15:53 [172.18.35.167] Windows
эээ... а чё на карте сплошные 1038?
V@s3K — 06.01.2011 - 15:56 [178.49.15.6] Linux
Alive, вон в центре 1233.
А вообще у них вся эта инфраструктура на таких костылях держится, каждые примерно 5-10 запросов приходит пустой ответ, потому что все отваливается. В каждом пазике где-то под парашей висит этот бедный GPS с мобильником Nokia 3310 с GPRS. Некоторые не выключают его даже, так и катаются в гости, домой, некоторые наоборот не включают, мол, Большой Брат узнает, что я халтурю.
Короче там много чего можно рассказать.
1038, кстати, я всегда юзал для тестов, там самые стабильные.
Cornholio — 06.01.2011 - 16:36 [89.31.118.250] Linux
V@s3K, 1255 самые стабильные маршрутки полюбому. У 90% водителей стоит нетбук с запущенным maps.nskgortrans.ru, они по нему дистанцию смотрят примерно.
V@s3K — 06.01.2011 - 16:47 [178.49.15.6] Linux
Cornholio, круто, ни разу не видел оО
Un1oR — 06.01.2011 - 16:57 [178.49.20.48] Linux
> так же возможна компиляция под Symbian с тачем
Кто соберёт под 5800 - выкладывайте
З.Ы. Не мне, но паре знакомых, думаю, пригодилось бы
Un1oR — 06.01.2011 - 17:01 [178.49.20.48] Linux
> Запускать: python main.py
python2 main.py =\ У нас же ж, блять, передовой арч ТТ
V@s3K — 06.01.2011 - 17:08 [178.49.15.6] Linux
Un1oR, python2.7 тогда уж, ага :(
Писалось и отлаживалось, короче, все это дело на 2.7, тестилось на 2.6 и 2.5.
Rogue — 06.01.2011 - 22:45 [109.191.224.123] Linux
Вася, пора уже ebuild`ы писать...
ReDetection — 06.01.2011 - 23:37 [80.64.175.106] Linux
Cornholio, О____О ччочо?? нетбук с картой?

Вась, ну и что ты говорил, что нечего делать, что никому не нужен? столько сервисов клевых заебашил, тебя с руками захапают.
V@s3K — 07.01.2011 - 00:25 [178.49.15.6] Linux
ReDetection, ага, щас. Никто не чешется :(
ReDetection — 07.01.2011 - 00:40 [80.64.175.106] Linux
V@s3K, ну дык праздники же
V@s3K — 07.01.2011 - 00:42 [178.49.15.6] Linux
ReDetection, думаешь из-за этого? :D
Врядли... за всю историю за мои "заслуги" меня звали всего 1 раз, да и тот раз за посты в блоге. Не сложилось все равно.
Alive — 07.01.2011 - 01:35 [172.18.35.167] Windows
V@s3K, угу один 1233 и 10 1038. Заебись у нас транспорт! Все дружно едем к Вовану! Ну или на Станиславу :-! Сегодня 2 раза на нём ехал.
V@s3K — 07.01.2011 - 01:38 [178.49.15.6] Linux
Alive, вон трамвайчики хорошо катаются, на них любуйся :)
JasonX — 07.01.2011 - 12:39 [80.64.175.12] Windows
ооо, три девятки как всегда в своём амплуа - едут неторопливо, водиле похуй, что на остановке люди мёрзнут :-)
ReDetection — 07.01.2011 - 12:59 [80.64.175.106] Linux
V@s3K, чота гугл по резюме с твоей фамилией и именем ничего не выдал. напиши резюме в разные сервисы (меня нашли на яндекс.мой круг) со ссылкой на раздел "Работы", пускай типа как портфолио будет. кстати, ты как планируешь, веб или десктоп?
V@s3K — 07.01.2011 - 13:08 [178.49.15.6] Linux
ReDetection, дык есть. На моемкруге я давно висю с "ищу работу", постоянно предлагают либо мудаки, либо РНР.
На всяких работа.ру, нск.ру и другие хедхантеры хер я больше появлюсь, с тех пор мой ящик заваливает письмами "ЗУБАРЕВ ВАСИЛИЙ СЕРГЕЕВИЧ ХОТИТЕ УМЕНЬШИТЬ РИСКИ СОЗДАТЬ ОТЧЕТНОСТЬ БИЗНЕС В САМАРЕ ОПТОМ" причем от тех же работа.ру.
ReDetection — 07.01.2011 - 14:19 [80.64.175.106] Linux
V@s3K, ща зафрендим. кстати, тут это важно, ну сам понимаешь.
>Зарплата от 15000 руб.
ну сделай хотя бы от 12. ты все равно учишься и не можешь сильно много времени уделять работе.
>Специализация и профессиональные навыки
дополни, напиши про опробованные тобой базы данных.
>Linux (продвинутый юзер)
да пиши опытный. и не пиши "юзер", ты выше уровня этих примитивов :)
>Профессиональные цели
>сдохнуть
убери, ну правда. про яндекс, имхо, тоже лишнее, могут подумать, что зазнался.
V@s3K — 07.01.2011 - 14:34 [178.49.15.6] Linux
> кстати, тут это важно, ну сам понимаешь
Нет
> ну сделай хотя бы от 12
Нет
> про опробованные тобой базы данных
Да
> убери, ну правда
Да
ReDetection — 07.01.2011 - 14:51 [80.64.175.106] Linux
>> кстати, тут это важно, ну сам понимаешь
>Нет
если работодатель увидит что, например, у вас есть общий френд, то он непременно спросит этого френда, на что ты способен. фраза "я его плотно не знаю, но этот тип не просто так для корочек учится, он способный" во многом предрасположили мнение обо мне.
яблоко — 12.01.2011 - 18:30 [178.49.18.22] Windows
а для айфона замутить такое?
V@s3K — 12.01.2011 - 19:24 [178.49.15.6] Linux
яблоко, с удовольствием, если бы кто подсказал бесплатные средства разработки под него. Apple SDK же вроде не разрешает публиковаться без лицензии?
beautiful mind — 17.01.2011 - 00:41 [178.49.55.124] Windows
V@s3K, Ты вообще мужик! Мечтал чтобы этот сервис с яндексом картами скрестили и тут случайно наткнулся на твой сайт!) ГПС конечно было бы тоже классно туда добавить) У меня вот только вопросик возник, ты же для Nokia делал его, как пишешь. Скачал твой архив, и не обнаружил там обычного установщика для Nokia. Как мне поставить его на свою 5800?
V@s3K — 17.01.2011 - 00:47 [178.49.15.6] Linux
beautiful mind, вот я и говорю - я не умею собирать пакеты под симбиан. Кто бы научил, яб собрал :(
beautiful mind — 17.01.2011 - 01:18 [178.49.55.124] Windows
почитал про N900 и сам понял, почему не обнаружил обычного установочника под symbian)) Не подскажешь, как на 5800 все это дело поставить?)
beautiful mind — 17.01.2011 - 01:18 [178.49.55.124] Windows
мммм, ясно
virus — 17.01.2011 - 16:33 [80.89.192.63] Linux
В 2гис пиздуй, там питонисты вроде нужны.
V@s3K — 17.01.2011 - 18:34 [178.49.15.6] Linux
virus, хм, надо посмотреть. Чем там питонисты делают?
virus — 21.01.2011 - 08:51 [89.189.177.174] Linux
Однако я тебя, похоже, наебал - питон там в виде бонуса, для поддержки внутренней кухни.
Donatello — 13.02.2011 - 15:53 [178.49.8.92] Windows
Круто- еще бы под Windows Mobile и с навигаторами скрестить...
вообще было бы круто...

а нетбуков ни разу не видел... видел только эти. СТАТТ - 2 - там вроде Глонасс\GPS модуль и телефоннный - вроде все в одной коробке. так же есть связь - то есть диспетчер может позвонить и смс сообщения приходят...
ReDetection — 25.03.2011 - 20:18 [80.64.175.106] Linux
ну вот. вслед за тобой нскгортранс также начал использовать яндекс и пробки. правда, у него нет н900 и десктоп-версии, только веб.
V@s3K — 25.03.2011 - 20:27 [85.26.225.125] Linux
ReDetection, хаха, прочитай upd в конце поста и почему я закрыл разработку. Стучать будем им назло? :D
ReDetection — 26.03.2011 - 09:06 [80.64.175.106] Linux
О__О
ReDetection — 26.03.2011 - 09:09 [80.64.175.106] Linux
хуясе. неожиданный поворот событий, однако)
V@s3K — 26.03.2011 - 12:03 [178.49.15.6] Mac OS
ReDetection, сам был удивлен. На хабре подсказали, что можно выкрутиться и использовать Народную Карту, но там не знаю как, прокатит или нет, вроде как API у сервисов един, да и пробки тоже. Короче не стал заморачиваться.
Egov — 01.07.2011 - 17:01 [193.19.103.18] Windows
Как насчет открытой портальной технологии Geoserver. Если будут пространственные данные - сможешь запинать вебсервер на tomcat+Geoserver?
V@s3K — 03.07.2011 - 21:15 [178.49.15.6] Mac OS
Egov, могу, но зачем? Не интересно делать, интересно использовать.
refresh

i