У мене є аркуш форми, що містить дуги, що представляють шлях, проїжджаний вантажівкою, що розкидає добрива на ферму.
Скажімо, я знаю, що ширина розкиду становить 30м, тобто вантажівка може розкидати добрива на 15м з будь-якої сторони транспортного засобу.
Я хочу створити набір багатокутників, на яких видно:
1) Загальна площа, яка отримала добриво
2) Площі перекриття, тобто там, де два окремі проходи були занадто близько один від одного, так що деякі частини ферми отримували вдвічі більше правильної "дози" "добрив.
Наївний підхід - просто створити полігони покриття як буфери навколо дуг. Це працює в особливому випадку, коли лінії розтікання відрізняються одна від одної. Однак вантажівка могла б подорожувати навколо ферми у постійно зменшується спіралі, і простий буфер не показав би перекриттів, де два проходи спіралі були занадто близько один до одного (якщо спіраль - це одна дуга, я б закінчився єдиний багатокутник без перекриваючих частин).
Якщо це актуально, я використовую TatukGIS VCL DK, але я дійсно шукаю алгоритм, а не конкретне рішення.
Деякі роз’яснення у відповідь на дискусію до цих пір:
1) Я не можу покластися на векторні дані, що мають якісь конкретні метадані (наприклад, журнали GPS або швидкість поширення). Я дозволяю користувачеві вибрати шар і вказати ширину розвороту, після чого звіт запускається.
2) Мета звіту - показати користувача, наскільки «кваліфікованим» був оператор транспортного засобу, де «кваліфікований» означає «досягнуте найвищого покриття з найменшим перекриттям».
3) Мені зручніше у векторній землі, ніж растровій, тому я віддаю перевагу векторним рішенням.
Дякую,
Даррен.