Задание ширины линии для создания многоугольника
У меня есть линейная строка WKT, и я хочу использовать ее для поиска пересечений в postgis, но линейная строка имеет некоторый уровень ошибки и не будет идеально пересекать вещи, хранящиеся в postgis, поэтому я хочу преобразовать ее в многоугольник и выдать ее n
метров, чтобы он пересекался с вещами рядом с ним.
Пример того, что я хочу сделать. Зеленый - многоугольник, созданный из линии
Язык решения не имеет большого значения. Я могу адаптировать решение для работы, поэтому я просто ищу какой-то общий алгоритм, который может создать многоугольник. Линейная строка содержит географические координаты, поэтому я думаю, насколько далеко n
метров может быть сложно.
Я думаю, что лучший способ добиться этого - отрисовать нормали от линии и отметить точку, которая находится достаточно далеко
1 ответ
Похоже, это можно сделать с помощью postgis. http://www.postgis.org/docs/ST_Buffer.html
SELECT ST_Buffer(
ST_GeomFromText(
'LINESTRING(50 50,150 150,150 50)'
), 10, 'endcap=round join=round');