Недавно я работал над небольшим проектом по услугам, основанным на местоположении, и моей целью было найти ближайшее такси (со встроенным GPS) в заданном радиусе от запрашивающего пассажира (телефон Android с поддержкой GPS). Я хотел использовать геопространственные индексы MongoDB, но оказалось, что геопространственные индексы работают с широтой и долготой и вычисляют смещение между двумя точками, а не расстояние. В моем случае поиск был ограничен городом, и мне пришлось использовать службу маршрутов GoogleMaps, потому что она показывает расстояние как по дороге, расчетное время, затраченное на поиск, и т. д.
Означает ли это, что геопространственные индексы имеют смысл только тогда, когда смещение достаточно велико, так что расстояние и смещение становятся практически одним и тем же?