По собственному опыту:
Около 15 месяцев наза поставил перед собой как раз сходную задачу.
Векторных форматов - море, но, увы, значительная часть из них либо закрытая либо полностью отсутствует документация.
Согласен с liosha, что, скорее всего, формат под свою задачу придется разрабатывать собственный.
Рекомендую ознакомиться с двумя форматами: польским (.MP), являющимся общепринятым и открытым “общим знаменателем”, применяемым в качестве промежуточного формата и формата обмена данными, но непригодным для использования в качестве внутреннего формата, и с форматом карт Garmin (.IMG), по которому существует хоть какая-то документация - на этом примере можно понять, исходя из каких соображений и как именно следует делать формат, ориентированный на реальную работу программы.
В принципе, можно воспользоваться и форматом shape, но там присутствуют разнородные файлы, как собственно *.shp, так и файлы базы данных, которые нужно обрабатывать синхронно.
Начинать с *.osm не рекомендую: формат не слишком удобен даже для тех задач, для которых был создан - чрезмерная свобода приводит к тому, что каждый “рисует” кто во что горазд, и очень сложно потом свести это во что-то единообразное.
Собственно, из упомянутых 15 месяцев у меня 3 ушло на создание первой версии программы, после этого около 8-10 месяцев эксплуатации и выяснение ошибок проектирование (связанных с отсутствием опыта в данной области), и сечас уже месяца 2 делаю вторую версию.
Работаю, правда, только в свободное от основной работы время.
Но в целом следует быть готовым к тому, что первый блин выйдет комом.