OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#1 2010-03-19 01:17:15

Real 3L0
Member
Registered: 2009-07-08
Posts: 107
Website

Немного программёрской практики. Программа навигатор для КПК

Приветствую.
Решил тут перейти от слов к делу, т.к. народ ленив.

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

1. Если это важно, то только C#. Всё остальное идёт глухим лесом.

2. Хочу динамическую загрузку карту, как на главной странице OSM.
Варианты: API (не рекомендуют), Mobile binary API (нормально?), что-то ещё глянуть?
Или качать tiles (planet.osm)?

3. Нужно кеширование.
Это, я так понял, пофик - зависит от пункта 2 и реализация ложится на меня?

4. Нужны обозначения объектов (тэги).
А если в пункте 2 качаем tiles, то откуда получаем тэги и как лучше хранить?

5. Данные для роутинга берутся оттуда же, откуда и данные для предыдущих пунктов?

Это основные вопросы. Потом ещё накидаю, если вы мне всё желание не отобъёте. smile
Спасибо.

Offline

#2 2010-03-19 05:48:17

Ezhick
Member
From: Moscow
Registered: 2008-10-08
Posts: 2,508
Website

Re: Немного программёрской практики. Программа навигатор для КПК

Если роутинг, то никаких тайлов. Как по тайлам роутит-то? Значит xml.
Если роутинг - значит никакой динамической загрузки, нужна полная карта.
Если нужна полная карта, значит ее нужно сгружать заранее и хранить на девайсе.
Значит нужно выбрать формат хранения, каждый раз парсить Xml на слабом девайсе - бред,

Вот как-то так для начал. Желание еще не отпало?

Offline

#3 2010-03-19 07:33:56

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,949

Re: Немного программёрской практики. Программа навигатор для КПК

... увидел "для КПК".

Last edited by Hind (2010-03-19 07:34:37)

Offline

#4 2010-03-19 07:48:48

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
Website

Re: Немного программёрской практики. Программа навигатор для КПК

2 и 3 - ни через API, ни через MobileAPI ничего хорошего не получится. Только поднимать собственный сервак, который будет выдавать данные в нужном виде. Потому что (5) данные для роутинга в любом случае придётся серьёзно препроцессить.

Ezhick wrote:

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

Не совсем, полную карту можно хранить и на сервере, а с него получить или нужные куски, или вообще уже готовые маршруты.

Offline

#5 2010-03-19 07:50:06

shadowjack
Member
Registered: 2008-05-05
Posts: 439

Re: Немного программёрской практики. Программа навигатор для КПК

Вопросы?

Решил тут перейти от слов к делу, т.к. народ ленив.

а я думал, дело - это программу написать, а не по интернетам лазить да вопросы задавать.

Offline

#6 2010-03-19 08:30:51

Ezhick
Member
From: Moscow
Registered: 2008-10-08
Posts: 2,508
Website

Re: Немного программёрской практики. Программа навигатор для КПК

liosha wrote:

2 и 3 - ни через API, ни через MobileAPI ничего хорошего не получится. Только поднимать собственный сервак, который будет выдавать данные в нужном виде. Потому что (5) данные для роутинга в любом случае придётся серьёзно препроцессить.

Ezhick wrote:

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

Не совсем, полную карту можно хранить и на сервере, а с него получить или нужные куски, или вообще уже готовые маршруты.

Про собственный сервер в вопросе ничего не было smile

Offline

#7 2010-03-19 08:51:17

coolkaas
Member
From: RU, Penza
Registered: 2009-05-28
Posts: 2,294

Re: Немного программёрской практики. Программа навигатор для КПК

Собственный сервер есть у cloudmade, у них же через api брать и построенные маршруты - пешие, велосипедные, на машине ближайший или быстрейший. smile

Online

#8 2010-03-19 09:05:06

Real 3L0
Member
Registered: 2009-07-08
Posts: 107
Website

Re: Немного программёрской практики. Программа навигатор для КПК

Ezhick wrote:

Если роутинг, то никаких тайлов. Как по тайлам роутит-то? Значит xml.

Ок. +1 за XML.

Ezhick wrote:

Если роутинг - значит никакой динамической загрузки, нужна полная карта.

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

Ezhick wrote:

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

Значит -1 за XML. smile
Вроде как есть же аналоги. Не знаешь, как они вышли из положения?

Ezhick wrote:

Вот как-то так для начал. Желание еще не отпало?

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

Offline

#9 2010-03-19 09:13:54

Real 3L0
Member
Registered: 2009-07-08
Posts: 107
Website

Re: Немного программёрской практики. Программа навигатор для КПК

liosha wrote:

2 и 3 - ни через API, ни через MobileAPI ничего хорошего не получится. Только поднимать собственный сервак, который будет выдавать данные в нужном виде.

А существующие есть?

liosha wrote:

Потому что (5) данные для роутинга в любом случае придётся серьёзно препроцессить.

Я этот момент прогулял в универе smile - графы строить - это большие расчёты?

liosha wrote:

Не совсем, полную карту можно хранить и на сервере, а с него получить или нужные куски, или вообще уже готовые маршруты.

Есть такие более-менее документированные ресурсы?

Offline

#10 2010-03-19 09:15:17

Real 3L0
Member
Registered: 2009-07-08
Posts: 107
Website

Re: Немного программёрской практики. Программа навигатор для КПК

shadowjack wrote:

а я думал, дело - это программу написать, а не по интернетам лазить да вопросы задавать.

Попробуй прочитать остальную часть моего сообщения. :-\

Offline

#11 2010-03-19 09:22:16

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
Website

Re: Немного программёрской практики. Программа навигатор для КПК

Real 3L0,
я бы не советовал сразу браться за ВСЁ.
Начать стоило бы с простого отображения карты (хотя бы мапниковских тайлов) и местоположения, записи трека.
Если получится - можно попытаться сделать ВЕДЕНИЕ по маршруту, сам маршрут брать готовый с того же клаудмейда.
И только потом стоит задуматься о собственной маршрутизации

Offline

#12 2010-03-19 09:23:27

Real 3L0
Member
Registered: 2009-07-08
Posts: 107
Website

Re: Немного программёрской практики. Программа навигатор для КПК

coolkaas wrote:

Собственный сервер есть у cloudmade, у них же через api брать и построенные маршруты - пешие, велосипедные, на машине ближайший или быстрейший. smile

Благодарю. Интересно.
Но для WM у них С++ и нет поиска по карте.

Offline

#13 2010-03-19 09:33:50

Real 3L0
Member
Registered: 2009-07-08
Posts: 107
Website

Re: Немного программёрской практики. Программа навигатор для КПК

liosha wrote:

Real 3L0,
я бы не советовал сразу браться за ВСЁ.
Начать стоило бы с простого отображения карты (хотя бы мапниковских тайлов) и местоположения, записи трека.

Именно так я и хотел! wink
Но когда стал разбираться в теме, то и возникли первоначальные вопросы. И не в последнюю очередь я задаю эти вопросы с расчётом на то, чтобы в будущем (если не заброшу это дело) мне не прешлось всё переписывать.
Вот сейчас ты говоришь, что надо использовать тайлы. Это картинки. С ними всё ясно. А информацию по контенту этих картинок где потом брать? Отдельно грузить? (Сразу скажу, что это вопрос не из серии "чо ты мне фигню какую-то предлагаешь", а для того, чтобы я более полно разобрался в вопросе - может всё и не так страшно. wink )

liosha wrote:

Если получится - можно попытаться сделать ВЕДЕНИЕ по маршруту, сам маршрут брать готовый с того же клаудмейда.
И только потом стоит задуматься о собственной маршрутизации

Т.е. получается, что всё такие отдельно. Ладно, пусть так.

Offline

#14 2010-03-19 09:37:35

Upliner
Member
From: Kyiv
Registered: 2008-09-18
Posts: 844

Re: Немного программёрской практики. Программа навигатор для КПК

liosha wrote:

я бы не советовал сразу браться за ВСЁ.
Начать стоило бы с простого отображения карты (хотя бы мапниковских тайлов) и местоположения, записи трека.

Да, точно. Могу наверное попробовать сконвертить OsmTracker c VbNet на C# и перепрофилировать. Кстати, интересно, а Mono умеет для CF комплить? Или вообще без разницы на каком фреймвоке делать?

Last edited by Upliner (2010-03-19 09:40:15)


Big cat is watching you

Offline

#15 2010-03-19 09:39:33

Ezhick
Member
From: Moscow
Registered: 2008-10-08
Posts: 2,508
Website

Re: Немного программёрской практики. Программа навигатор для КПК

Сорь, но ей богу - тебя в гугле забанили что ли???

Offline

#16 2010-03-19 09:46:47

Real 3L0
Member
Registered: 2009-07-08
Posts: 107
Website

Re: Немного программёрской практики. Программа навигатор для КПК

Upliner wrote:

... Могу наверное попробовать сконвертить OsmTracker c VbNet на C# и перепрофилировать. ...

Гы. smile Но именно с изучения кода OsmTracker'а я и хотел начать. smile

Offline

#17 2010-03-19 10:10:38

Alastor
Member
Registered: 2009-07-14
Posts: 234

Re: Немного программёрской практики. Программа навигатор для КПК

C# - т.е. только под WinMobile, у которого сейчас очень туманные перспективы?

Offline

#18 2010-03-19 10:24:07

Real 3L0
Member
Registered: 2009-07-08
Posts: 107
Website

Re: Немного программёрской практики. Программа навигатор для КПК

Это всё ещё вилами на воде писано.

Offline

#19 2010-03-19 10:35:10

Upliner
Member
From: Kyiv
Registered: 2008-09-18
Posts: 844

Re: Немного программёрской практики. Программа навигатор для КПК

C# - т.е. только под WinMobile, у которого сейчас очень туманные перспективы?

Ну, если прога будет совместима с Mono, тогда вполне возможно будет идти на многих других платформах, например Maemo или даже Openmoko.

Last edited by Upliner (2010-03-19 10:36:08)


Big cat is watching you

Offline

#20 2010-03-19 12:10:30

Vovanium
Member
Registered: 2009-07-23
Posts: 1,094

Re: Немного программёрской практики. Программа навигатор для КПК

Ezhick wrote:

Если роутинг, то никаких тайлов. Как по тайлам роутит-то? Значит xml.
Если роутинг - значит никакой динамической загрузки, нужна полная карта.

Ну, это не совсем так. Не нужна полная карта России, чтобы проложить маршрут в ближайшую деревню, а чтобы доехать в другой конец России, скорее всего понадобится карта магистралей и карты местных дорог точек отправления и прибытия. Для этого нужен грамотный алгоритм отсечения (чтобы знать, какой фрагмент нужен, а какой нет).


Мне KekcuHa обещал подарить навигатор. Как жаль, у меня уже есть.

Offline

#21 2010-03-19 13:39:04

coolkaas
Member
From: RU, Penza
Registered: 2009-05-28
Posts: 2,294

Re: Немного программёрской практики. Программа навигатор для КПК

Real 3L0 wrote:

Указываем точку старта. Указываем точку финиша. Программа загружает прямоугольник с углами в этих точках - это для определения самого короткого маршрута.

Как Вы понимаете, в общем случае это не работает. Кратчайший из нарисованных маршрутов имеет полное право вылезти за скачанный прямоугольник. (это так, к слову)

Online

#22 2010-03-19 13:42:51

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
Website

Re: Немного программёрской практики. Программа навигатор для КПК

Это не то что в общем, это в половине случаев не работает.
Реки и ж/д никто не отменял  smile

Offline

#23 2010-03-19 13:51:01

Ivan Komarov
Member
Registered: 2008-10-02
Posts: 1,050

Re: Немного программёрской практики. Программа навигатор для КПК

Т.е. нужен, как минимум, материк? big_smile

Offline

#24 2010-03-19 13:53:01

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
Website

Re: Немного программёрской практики. Программа навигатор для КПК

Ivan Komarov, нужен _связный_граф_  smile

Offline

#25 2010-03-19 13:58:14

Alastor
Member
Registered: 2009-07-14
Posts: 234

Re: Немного программёрской практики. Программа навигатор для КПК

Upliner wrote:

Ну, если прога будет совместима с Mono, тогда вполне возможно будет идти на многих других платформах, например Maemo или даже Openmoko.

Много знаете устройств на Maemo и Openmoko?
На чем писать - выбор несомненно автора, однако будет досадно, если хороший проект не будет популярен из-за плохой поддержки устройств.

Offline

Board footer

Powered by FluxBB