Это называется построение траектории с буфером. Для этого, на основе траектории и буфера строится полигон, а затем уже стандартный алгоритм вхождения точки в полигон.
Самому писать трансформацию линии в полигон - это гемор еще тот, я пытался). По точкам строятся окружности, потом прямоугольники по линиям, потом делается триангуляция, потом удаляются все внутренние треугольники. Но это еще пол беды, потому что есть разница в расстоянии на градус на севере и юге и учитывать в каждой точке полигона этот коэффициент у меня не получилось, в общем кривой полигон получался. Писал я на C# и я не нашел библиотеки, которая бы это делала. Зато я нашел такую на js
turf . Когда клиент строит траекторию, указывает буфер, то при сохранении полигон строится на клиенте и уже трансформированный geojson отправляется на сервер.
Полигон из траектории с буфером я делал
такvar lineWithBuffer = turf.buffer(line, buffer, 'meters');
geo.features[i].geometry = lineWithBuffer.geometry;