मैं कुछ सौ आकार (है polygon
और multipolygon
रों) अंक है कि मैं एसक्यूएल 2008 में प्राप्त करने के लिए कोशिश कर रहा हूँ की हजारों से मिलकर प्रत्येक।
दुर्भाग्य से, जिन आकृतियों को मैंने आयात करने की कोशिश की है, वे "राइट-हैंडेड" हैं (प्रत्येक की परिधि इसमें शामिल बिंदुओं के आसपास दक्षिणावर्त खींची गई है)। SQL सर्वर "बाएं-हाथ" आकृतियों (इंटीरियर के चारों ओर एंटी-क्लॉकवाइज़) को मानता है, कम से कम geography
प्रकारों के लिए। इसका मतलब है कि एसक्यूएल मानता है कि मैं अपने आकार को छोड़कर पूरी पृथ्वी का चयन करने की कोशिश कर रहा हूं । कुछ लोग इसे "अंदर-बाहर" आकृतियों के रूप में वर्णित करते हैं।
से MSDN , जो frustratingly कहना नहीं है जो अंगूठी उन्मुखीकरण से एक का उपयोग करने के लिए है:
यदि हम
geography
स्थानिक उदाहरण को संग्रहीत करने के लिए डेटा प्रकार का उपयोग करते हैं , तो हमें रिंग के उन्मुखीकरण को निर्दिष्ट करना चाहिए और उदाहरण के स्थान का सटीक वर्णन करना चाहिए।
यदि आप SQL 2008 में गलत रिंग ओरिएंटेशन का उपयोग करते हैं, तो यह निम्न त्रुटि के साथ क्रैश होता है (जोर मेरा):
उपयोगकर्ता परिभाषित रूटीन या "भूगोल" को निष्पादित करने के दौरान .NET .NET त्रुटि हुई: Microsoft.SqlServer.Types.GLArgumentException: 24205: निर्दिष्ट इनपुट एक मान्य भूगोल उदाहरण का प्रतिनिधित्व नहीं करता है क्योंकि यह एक गोलार्ध से अधिक है। प्रत्येक भूगोल उदाहरण एक गोलार्द्ध के अंदर फिट होना चाहिए। इस त्रुटि का एक सामान्य कारण यह है कि बहुभुज में गलत रिंग ओरिएंटेशन है।
ठीक काम geometry
करने के बजाय आकृतियों को आयात करना geography
, लेकिन geography
अगर मैं कर सकता हूं तो मैं इसका उपयोग करना चाहूंगा ।
SQL 2012 में, इस समस्या को ठीक करने के लिए यह काफी तुच्छ प्रतीत होता है, लेकिन मैं 2008 से बंधा हुआ हूं।
मुझे आकृतियों को कैसे बदलना चाहिए?