2

@path geography, @start_pct float, @end_pct floatSQL 2008 R2で、3つのパラメーター( )を指定すると、の長さのパーセンテージに基づいて行文字列を返す関数を作成したいと思います@path

たとえば
@start_pct = 0@end_pct = 0.5の場合は、の前半を返し、との@path場合は、の後半を返します。との場合は、の中間の50%を返しますが、-であり、任意の値(0から1の間)である可能性があります。@start_pct = 0.5@end_pct = 1@path@start_pct = 0.25@end_pct = 0.75@path@start_pct@end_pct

私は試しました:ポイントの各セットをループしてSTPointN、関心のあるポイントがそのセクション内にあるかどうかを計算しました。私の頭の中では、ロジックは健全に見えましたが、期待される結果が返されていません(結果はわかっています)。

私には次のようなこだわりがあります。

  1. 上の2点の間にある点を計算する@path
  2. 結果の線文字列を文字列(nvarchar(max))として保存していましたが、スペースが不足している可能性があります(使用しているパスの一部に多くのポイントがあります)。STLineFromText最後に、それを地理に戻すために使用したかったのです。

恥ずかしいほどアマチュアなコードを投稿する前に、これはやや簡単なはずだと感じており、おそらくそれを複雑にしすぎているのかもしれません。

誰かが以前にこれをしたことがあり、彼らは手を貸すことができますか?

編集: 実際には-それを解決しただけですが、それでも本来よりもはるかに複雑に見えます。オフィスに戻ったときにコードを投稿します。

4

0 に答える 0