то есть. комбинация полигонов Вороного с изохронами, так что полигоны Вороного основаны на расстоянии пробега, а не на евклидовом расстоянии. Есть ли имя или описанный метод для этого?
то есть. комбинация полигонов Вороного с изохронами, так что полигоны Вороного основаны на расстоянии пробега, а не на евклидовом расстоянии. Есть ли имя или описанный метод для этого?
Ответы:
Я не думаю, что есть название для этой точной техники, но, надеюсь, некоторые из следующих предложат некоторые варианты:
В общем, существует много методов интерполяции для перемещения между точечным представлением и непрерывной поверхностью, как это продемонстрировал метод интерполяции TIN . Затем непрерывная поверхность может быть классифицирована по значению для получения изохрон.
В сети, такой как дороги, если расстояния вдоль краев известны, вы можете вычислить расстояния до любого местоположения, используя что-то вроде алгоритма A * - снова эти данные могут быть разделены по расстоянию на изохроны.
Я мог видеть два пути решения этой проблемы. Один довольно прост. Другой требует большого количества подтверждающих данных.
Простой алгоритм будет опираться на выпуклые оболочки, а не на вороной многоугольники. Создайте выпуклую оболочку векторных конечных точек и вершин для сегментов улиц, которые попадают в границы вашего времени вождения. Затем используйте эту выпуклую оболочку, чтобы выбрать подключенные сети внутри вашей выпуклой оболочки, которые находятся за пределами вашего времени на диске. Это карманы внутри вашей общей области, которые недоступны во время езды (например, односторонние отключения, сложные внутренние части и т. Д.). Создайте выпуклый корпус для каждой из этих изолированных карманных сетей и используйте эти корпуса в качестве внутренних колец для вашего исходного выпуклого корпуса.
Обратите внимание, что этот конкретный алгоритм становится намного сложнее, если вы используете истинные кривые, поскольку истинная кривая может выпасть за пределы вашей вершины, построенной выпуклой оболочкой.
Для вспомогательного алгоритма данных вы используете разделение земель. Участки являются наиболее очевидным разделением земель, но не обязательно эффективны для каждого сценария. В зависимости от сети вашего решения каждая посылка определяется как доступная или недоступная для сети решения. Если посылка доступна, поместите ее в зону обслуживания. Если нет, то снаружи. В области с развитой планиметрикой это может быть довольно легко; Просто включите дороги и частные дороги в качестве компонентов дорожной сети. Если раздел касается сети решений, он доступен. Одна из трудностей заключается в том, что все потенциально доступные разделы касаются сети. Например, если у вас есть внутренняя общая земля в подразделении, вам нужно каким-то образом объединить ее с участком или участками, которые касаются сети. Но у вас могут быть регионы, такие как внутренние тропы в большом парке, которые вообще недоступны и которые просто не касаются сети. Как я уже сказал, много вспомогательных данных, но очень эффективный алгоритм, когда у вас есть данные.