2

我想在 SQL 2008 R2 中创建一个函数,给定 3 个参数 ( @path geography, @start_pct float, @end_pct float),它将根据长度的百分比返回一个线串@path

例如
when @start_pct = 0and @end_pct = 0.5,它将返回 的前半部分@path,当@start_pct = 0.5and时@end_pct = 1,它将返回 的后半部分@path,当@start_pct = 0.25and时@end_pct = 0.75,它将返回 50% 的中间部分@path,但是 - @start_pctand@end_pct可以是任何东西(介于 0 和 1 之间)

STPointN我尝试过:我使用并计算我的兴趣点是否位于该部分内,遍历每组点。在我看来,逻辑似乎是合理的,但它没有返回预期的结果(我知道结果)

我有以下症结:

  1. 计算位于 2 点之间的点@path
  2. 我将生成的线串存储为字符串 (nvarchar(max)),但我认为它可能会用完空间(我使用的一些路径有很多点)。我想STLineFromText在最后使用将其转换回地理。

在我发布我令人尴尬的业余代码之前,我有一种感觉,这应该有点容易,也许我把它复杂化了。

有没有人这样做过,他们可以伸出援助之手吗?

编辑: 实际上 - 刚刚解决了它,但似乎仍然比它应该的复杂得多。回到办公室后将发布代码。

4

0 回答 0