OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#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: форматы векторных карт и как с ними работать?

milohoffman wrote:

что можно почитать по этому поводу?  можно ли будет, к примеру, заказать карту города какой-нибудь фирме и самостоятельно расширить ее формат? есть какие-нибудь наработки по данному поводу (классы С++ и т. п.)?

Можно использовать картографический компонент фирмы ИНГИТ 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: Moscow, Russia
Registered: 2010-03-18
Posts: 2,962

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,025
Website

Re: форматы векторных карт и как с ними работать?

QLandkarte GT ( http://www.qlandkarte.org )

1) OpenSource
2) программа на C++
3) под линукс/макос/винду
4) бинарный формат стандартный, гарминовский
5) проект быстро развивается

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

Offline

Board footer

Powered by FluxBB