EnvelopeAngle()
の結果かどうかを確認できます 地理のメソッドは180でした。次に、ReorientObject()
を使用します。 それを修正する機能。
サンプルは次のとおりです:
--A CW polygon
DECLARE @G3 GEOGRAPHY = 'POLYGON ((45 45, 44 45, 44 46, 45 46, 45 45))';
SELECT @G3.EnvelopeAngle(); --180
SELECT @G3.ReorientObject().STAsText(); --POLYGON ((44 46, 44 45, 45 45, 45 46, 44 46))
編集 コメントに記載されているように、簡単な更新コマンドを使用して、現在のジオメトリを修正できます(正しくないことが確実な場合):
UPDATE foo_table SET bar_column = bar_column.ReorientObject()
WHERE bar_column.EnvelopeAngle() > 90