У меня есть шейп-файл, содержащий дуги, представляющие путь, по которому грузовик разбрасывает удобрения на ферму.
Допустим, я знаю, что ширина разбрасывания составляет 30 м, то есть грузовик может разбрасывать удобрения на 15 м с каждой стороны транспортного средства.
Я хочу создать набор полигонов, которые показывают:
1) общую площадь, на которой получено удобрение
2) области перекрытия, т. Е. Где два отдельных прохода были слишком близко друг к другу, так что некоторые части фермы получали вдвое правильную «дозу» «Удобрений.
Наивным подходом является создание полигонов покрытия в виде буферов вокруг дуг. Это работает в особом случае, когда линии спреда отличаются друг от друга. Тем не менее, грузовик мог предположительно перемещаться по ферме в постоянно уменьшающейся спирали, и простой буфер не смог бы показать перекрытия, когда два прохода спирали были слишком близко друг к другу (если бы спираль представляла собой одну дугу, я бы в итоге получил один многоугольник без перекрывающихся частей).
Если это уместно, я использую TatukGIS VCL DK, но я действительно ищу алгоритм, а не конкретное решение.
Некоторые пояснения в ответ на обсуждение до сих пор:
1) Я не могу полагаться на векторные данные, имеющие какие-либо конкретные метаданные (например, журналы GPS или скорость распространения). Я разрешаю пользователю выбрать слой и указать ширину разворота, после чего отчет запускается.
2) Цель отчета - показать пользователю, насколько «опытным» был оператор транспортного средства, где «опытный» означает «достиг самого высокого охвата с наименьшим перекрытием».
3) Я чувствую себя более комфортно на векторной земле, чем на растровой, поэтому предпочитаю векторные решения.
Спасибо,
Даррен.