我想在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
时,它会返回@path
的中间50%,但是 - @start_pct
和@end_pct
可以是任何内容(0到1之间)
我试过:我使用STPointN
循环遍历每组点,并计算我的兴趣点是否在该部分内。在我看来,逻辑似乎是合理的,但它没有返回预期的结果(我知道结果)
我有以下几点:
@path
STLineFromText
将其转换回地理位置。在我发布令人尴尬的业余代码之前,我觉得这应该有点容易,也许我已经过度复杂了。
以前是否有人这样做过,他们可以伸出援手吗?
编辑:实际上 - 刚刚解决了它,但似乎仍然比它应该复杂得多。将在回到办公室时发布代码。