Я бы начал с абсолютного начала, выяснив, как вы собираетесь получать данные, которые соответствуют адресу улицы с геокодом. Либо Google заставлял людей ходить с единицами GPS, либо они получали информацию из какого-то существующего источника. Этот существующий источник мог быть ... (все догадки)
- Почтовая служба
- Некоторые существующие карты (напечатанные)
- Группа пользователей-энтузиастов, которые были первыми, кто внедрил технологию GPS и которые более чем готовы вводить адреса улиц и координаты GPS
- Некоторая государственная организация (или организации)
- свои спутники
- и т.д.
Полагаю, я понимаю, что информация была либо импортирована откуда-то, либо введена кем-то через какой-то интерфейс. В качестве отправной точки я бы посмотрел, как получить эту информацию. В ситуации с открытым исходным кодом вы можете получить кучу увлеченных людей для ввода информации.
Так что для моего первого прототипа, каким бы скучным он ни был, я бы создал форму для ввода информации.
Тогда вам нужно знать математику для определения ближайшего расстояния (по прямой линии). Оттуда попытайтесь выяснить, как включить дороги. (Полагаю, у вас должна быть точка данных для каждой кривой, где вы храните геокодированное местоположение кривой и угол дороги на векторе север / юг и восток / запад. принять во внимание уклон, чтобы получить точные дорожные измерения.)
Именно с этого я и начну.
Но, честно говоря, я бы даже не начал с этого. Другие программисты уже сделали это, меня больше интересует то, что еще не было сделано.