Я новичок здесь, и у меня плохие баллы, поэтому я могу предложить только 50 баллов.
Предположим, у меня есть приложение для поиска всех автозаправочных станций в радиусе 10 миль от определенного местоположения.,Однако одна сторона этого места окружена горным хребтом, который вы должны проехать 50 миль, чтобы обойти.Вы не хотели бы возвращать результаты с другой стороны горы.Какие есть хорошие алгоритмы / методы для решения такой проблемы?Я знаю, что при поиске «точка-точка» вы можете использовать стоимость пути, но я не уверен, что это за метод поиска радиуса.
Вот пример:
Красная линия - это аккорд на радиусном круге от 40, -74 до 41, -72 лат в длину (не совсем точно). Пользователь в 40, -73 выполняет поиск географического радиуса для чего-то, что также охватывает области через LIзвук в Коннектикуте, к которому непрактично добираться.Алгоритм должен знать, что существует аккорд, полностью пересекающий круг поиска, и не возвращать результаты, которые находятся на другой стороне этого аккорда.Таким образом, только точки в зеленой зоне будут возвращены.
Это можно сделать без анализа дорожной сети, если программист определяет эти ограничивающие линии.Например, в какой-то стране может быть область, через которую опасно проходить, и вы хотели бы, чтобы люди по обе стороны этой области были ограничены этой стороной.Или международная граница и т. Д. Я просто спрашиваю об этом, потому что я уверен, что люди делают это.