You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#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: Russia, mapping Kazakhstan
Registered: 2010-03-18
Posts: 3,294

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

Board footer

Powered by FluxBB