Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एसक्यूएल स्थानिक बहुभुज अंदर बाहर

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर त्रुटि 1934 INSERT पर गणना कॉलम PHP/PDO के साथ तालिका में होती है

  2. SQL सर्वर में संख्यात्मक, फ्लोट और दशमलव के बीच अंतर

  3. सीलिंग () SQL सर्वर में उदाहरण

  4. SQL सर्वर TempDB मॉनिटरिंग डायनेमिक मैनेजमेंट व्यू (DMV) का उपयोग करके

  5. SQL क्वेरी अनुकूलन