Я хочу создать функцию в SQL 2008 R2, которая при заданных 3 параметрах (@path geography, @start_pct float, @end_pct float
) будет возвращать линейную строку на основе процента длины @path
.
Например,
, когда@start_pct = 0
и @end_pct = 0.5
, он вернет первую половину @path
, когда @start_pct = 0.5
и @end_pct = 1
, он вернет последнюю половину @path
, когда @start_pct = 0.25
и @end_pct = 0.75
, он будетвернуть среднее 50% от @path
, но - @start_pct
и @end_pct
может быть любым (между 0 и 1)
Я пробовал: я перебрал каждый набор точек, используя STPointN
и вычислиллежали ли мои достопримечательности в этом разделе.В моей голове логика казалась здравой, но она не возвращает ожидаемых результатов (из которых я знаю результат)
У меня есть следующие точки прилипания:
- Расчет точкикоторый лежит между 2 точками на
@path
- Я хранил свою результирующую строку в виде строки (nvarchar (max)), но я думаю, что может не хватить места (некоторые пути, которые я использую, имеют многоочков).Я хотел использовать
STLineFromText
в конце, чтобы преобразовать его обратно в географию.
Прежде, чем я отправлю свой неловко любительский код, у меня есть ощущение, что это должно быть несколько легко, и, возможно, ячрезмерно усложняя это.
Кто-нибудь делал это раньше и мог ли он протянуть руку?
Редактировать: На самом деле - просто решил, но все же кажется гораздо сложнее, чем этодолжно быть.Разместим код, когда вернемся в офис.