आप देख सकते हैं, अगर 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