2009-08-12 4 views
1

Я хочу составить программу карты, которая дает указания вокруг кампуса (общежития, футбольное поле и т. Д.), А также внутри зданий (в офисы, кафетерий и т. Д.). Есть ли что-то существующее, которое могло бы помочь этому?Пользовательские карты с направлениями

Альтернатива, похоже, заключается в том, что мне нужно будет создать свою собственную карту точек и дорожек вокруг кампуса и найти путь к направлениям.

EDIT: Чтобы уточнить, я хочу узнать о том, как добавить пространственное осознание в программу поиска пути, чтобы генерировать направления движения по пути. Пример: для прихожей, полной офисов, которые имеют два узла, которые позволяют пройти путь в коридор, откуда вы знаете, находится ли какой-то офис слева от одного узла и справа от другого?

ответ

1

Если я использую многоугольники для узлов вместо путевых точек, я могу создать навигационную сетку, которая может использоваться для поиска путей и направлений. Для направлений и использования узла прямоугольника, если я дам номера прямоугольников для его сторон от 1 до 4, идущих по часовой стрелке сверху, я знаю, что если я войду в сторону 2 и оставлю сторону 1, это будет правый поворот. Или, если я войду в сторону 3 (скажем, внизу) и оставьте сторону 4, это левая.

0

Это довольно сложно ответить, не зная, какого интерфейса вы хотите. Предполагается, что это приложение типа Google Maps? Или что-то проще? Независимо от того, что вам, вероятно, придется определять пути - какие вещи непроходимы.

Вы можете выполнить большую работу и определить, что непроходимо, а затем использовать алгоритм поиска пути, чтобы пройти через газоны; но это было бы больше работы, чем простой подход:

  1. Сделать карту университетского городка со всеми маршрутами неактивны
  2. Определение точки и пути в PHP/Perl/Ruby/Python/ColdFusion/ASP. Net/Безотносительно
  3. Получить Start и назначения от пользователя
  4. Run Дейкстры Алгоритм
  5. Показать карту кампуса с накладками, освещающих сегменты маршрута, чтобы осветить их путь.
+0

Предполагается, что он будет функционировать подобно Google Maps, но в пределах области, которую в настоящее время не охватывают GoogleMaps (офисы, классы и т. Д.). Прохождение кампуса от здания к зданию выглядит не так сложно (используя A *); даже найти классные комнаты выглядит не так уж плохо. Комплексная часть, для меня, создает маршруты для маршрута. Я не уверен, как передать пространственную осведомленность о программе («Идите на 100 футов. Комната 2467B находится на * слева». Если в коридоре есть два узла, из которых может войти путь, как вы определяете левое и правое? –