You are not logged in.
- Topics: Active | Unanswered
Announcement
#1 2010-07-30 06:44:42
- milohoffman
- Member
- Registered: 2010-07-30
- Posts: 18
форматы векторных карт и как с ними работать?
добрый день, у меня есть необходимость разработать программу, работающую с gps картой города, делающую отметки на карте по gps-координатам. проблема в том, что это абсолютно новая для меня предметная область. всвязи с чем возникает вопрос: какие форматы векторных карт существуют? как с ними работать (на С++), как их парсить? какую информацию из нее можно извлекать? можно ли расчитывать маршруты по этим картам самостоятельно (Дейкстра или что-то еще)? поделитесь, пожалуйста, опытом. буду очень благодарен.
Offline
#2 2010-07-30 06:52:32
- liosha
- Member
- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: форматы векторных карт и как с ними работать?
milohoffman, форматов существует достаточно много всяких разных. У каждого из них своя сфера применения.
Для твоих целей, боюсь, формат придётся разрабатывать самому.
Offline
#3 2010-07-30 08:06:59
- milohoffman
- Member
- Registered: 2010-07-30
- Posts: 18
Re: форматы векторных карт и как с ними работать?
что можно почитать по этому поводу? можно ли будет, к примеру, заказать карту города какой-нибудь фирме и самостоятельно расширить ее формат? есть какие-нибудь наработки по данному поводу (классы С++ и т. п.)?
Offline
#4 2010-07-30 09:28:50
- Vlad_Z
- Member
- From: Ленобл
- Registered: 2009-04-18
- Posts: 79
Re: форматы векторных карт и как с ними работать?
что можно почитать по этому поводу? можно ли будет, к примеру, заказать карту города какой-нибудь фирме и самостоятельно расширить ее формат? есть какие-нибудь наработки по данному поводу (классы С++ и т. п.)?
Можно использовать картографический компонент фирмы ИНГИТ http://www.ingit.ru
Плюсы: легко интегрировать в свою программу, есть демо-версия компонента, существует довольно неплохая документация
Минусы: качество карт не очень хорошее, роутинг иногда странный (впрочем на своей карте он вряд ли будет лучше), ну и компонент будет нужно приобретать на каждое рабочее место.
Попробуйте, если не подойдет, то напишите мне на vladz-prg@yandex.ru - есть некоторые свои наработки
Offline
#5 2010-07-30 12:29:27
- milohoffman
- Member
- Registered: 2010-07-30
- Posts: 18
Re: форматы векторных карт и как с ними работать?
ИНГИТ, как я понял, заточен под винду, мне надо под макось/линукс...
Offline
#6 2010-07-30 13:20:14
- Mirrory
- Member
- Registered: 2010-07-20
- Posts: 10
Re: форматы векторных карт и как с ними работать?
Несложно из ОСМ сделать бинарный векторный формат. Который легко представить как граф и в дальнейшем гулять по нему маршрутами со всеми примочками(oneway, planning сar, avoid toll roads etc) или просто для навигации. Другое дело, как ваш город представлен в ОСМ.
Last edited by Mirrory (2010-07-30 13:23:22)
Offline
#7 2010-07-30 17:34:52
- andriano
- Member
- Registered: 2009-06-15
- Posts: 1,667
Re: форматы векторных карт и как с ними работать?
По собственному опыту:
Около 15 месяцев наза поставил перед собой как раз сходную задачу.
Векторных форматов - море, но, увы, значительная часть из них либо закрытая либо полностью отсутствует документация.
Согласен с liosha, что, скорее всего, формат под свою задачу придется разрабатывать собственный.
Рекомендую ознакомиться с двумя форматами: польским (*.MP), являющимся общепринятым и открытым "общим знаменателем", применяемым в качестве промежуточного формата и формата обмена данными, но непригодным для использования в качестве внутреннего формата, и с форматом карт Garmin (*.IMG), по которому существует хоть какая-то документация - на этом примере можно понять, исходя из каких соображений и как именно следует делать формат, ориентированный на реальную работу программы.
В принципе, можно воспользоваться и форматом shape, но там присутствуют разнородные файлы, как собственно *.shp, так и файлы базы данных, которые нужно обрабатывать синхронно.
Начинать с *.osm не рекомендую: формат не слишком удобен даже для тех задач, для которых был создан - чрезмерная свобода приводит к тому, что каждый "рисует" кто во что горазд, и очень сложно потом свести это во что-то единообразное.
Собственно, из упомянутых 15 месяцев у меня 3 ушло на создание первой версии программы, после этого около 8-10 месяцев эксплуатации и выяснение ошибок проектирование (связанных с отсутствием опыта в данной области), и сечас уже месяца 2 делаю вторую версию.
Работаю, правда, только в свободное от основной работы время.
Но в целом следует быть готовым к тому, что первый блин выйдет комом.
Offline
#8 2010-07-31 06:47:34
- chnav
- Member
- From: Russia, mapping Kazakhstan
- Registered: 2010-03-18
- Posts: 3,264
Re: форматы векторных карт и как с ними работать?
Единственный формат роутинговых карт, к которому удалось найти официальное открытое описание, это kiwi. Очень познавательно. Двоичную реализацию можно не копировать, а придумать свою. Хотя в гугле даже какие-то исходники для kiwi можно найти.
Kiwi Format Description v1.22
Offline
#9 2010-07-31 11:45:02
- Mirrory
- Member
- Registered: 2010-07-20
- Posts: 10
Re: форматы векторных карт и как с ними работать?
chnav, а чем ОСМ не годится для роутинга?
Offline
#10 2010-07-31 11:57:04
- liosha
- Member
- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: форматы векторных карт и как с ними работать?
Mirrory, _данные_ осм для роутинга годятся, а форматы нет
Offline
#11 2010-07-31 11:59:44
- Mirrory
- Member
- Registered: 2010-07-20
- Posts: 10
Re: форматы векторных карт и как с ними работать?
Да, я не прав.
Offline
#12 2010-10-06 22:36:40
- gps-Max
- Member
- Registered: 2010-01-12
- Posts: 736
Re: форматы векторных карт и как с ними работать?
А по вышеупомянутому формату kiwi что-нибудь есть, кроме общих описаний? Судя по поиску, конвертера пока не существует?
Offline
#13 2010-10-07 08:32:33
- Max Vasilev
- Member
- Registered: 2009-06-16
- Posts: 1,026
- Website
Re: форматы векторных карт и как с ними работать?
QLandkarte GT ( http://www.qlandkarte.org )
1) OpenSource
2) программа на C++
3) под линукс/макос/винду
4) бинарный формат стандартный, гарминовский
5) проект быстро развивается
Я думаю, если вы программист, вам проще будет внести требуемый вам функционал в уже готовый софт, чем писать что-то с нуля. Все только выиграют от этого.
Offline