2012-09-12 43 views
6

का उपयोग करके पॉलीगॉन रिंग अभिविन्यास को सही करने के लिए कैसे करें मैं एक उदाहरण, एक POINT और दूसरे में संग्रहीत करने के लिए अपने मॉडल के हिस्से के रूप में स्थानिक डेटा प्रकार डीबीजीगोग्राफी का उपयोग कर नई इकाई-फ्रेमवर्क 5 के साथ काम कर रहा हूं। उदाहरण के लिए एक पॉलीगॉन।सी # एंटिटी फ्रेमवर्क 5 डीबीजीओग्राफी स्थानिक डेटा

मेरे पॉलीगॉन के मूल्य को सेट करते समय सभी कोई त्रुटि नहीं बचाते हैं, हालांकि यह केवल तभी होता है जब मैं नक्शे पर पॉलीगॉन को घड़ी के क्रम में खींचता हूं। यदि मैं घड़ी के विपरीत दिशा में पोलॉग खींचता हूं तो मुझे एसक्यूएल स्तर में एक त्रुटि मिलती है जो दर्शाती है कि डेटा एक अवैध भूगोल प्रकार है।

अब समस्या में अपना स्वयं का शोध करने के बाद, ऐसा लगता है कि यह पॉलीगॉन रिंग अभिविन्यास के संदर्भ में भूगोल डेटा प्रकार से काफी सख्त है। सबसे आम समाधान पॉलीगॉन को ज्यामिति के रूप में बना रहा है और फिर इसे भूगोल प्रकार में परिवर्तित कर रहा है।

मैं सी # में एक समाधान की तलाश में हूं जिसे एसक्यूएल में भेजे जाने से पहले डेटा पर लागू किया जा सकता है। असल में ऐसा कुछ जो निर्देशांक की सरणी के अंगूठी अभिविन्यास को स्वतः सही करेगा।

मैंने त्रुटि को पकड़ने और फिर सरणी को उलटकर स्ट्रिंग को पुनर्निर्माण करने का प्रयास किया है। यह कुछ मामलों में काम करता है लेकिन सबसे पहले यह विश्वसनीय नहीं है और दूसरी बार त्रुटि को पकड़ना एक प्रदर्शन हिट बड़ा है।

धन्यवाद क्रिस

उत्तर

0

ही यहाँ समस्या, बिंग नक्शे v7 और बहुभुज बनाते हुए के लिए उनके आकार टूलकिट यहां पाया का उपयोग कर: http://bingmapsv7modules.codeplex.com/wikipage?title=Shape%20Toolbox%20Module

+0

हाय एडम के लिए द्वारा इसे हल, यह एक टिप्पणी है जो प्रश्न के लिए एक टिप्पणी के रूप में शामिल किया जाना चाहिए की तरह लगता है , एक उत्तर के रूप में पोस्ट नहीं किया गया। चूंकि आप यहां नए हैं, इसलिए आपको थोड़ा अधिक प्रतिष्ठा अर्जित करने के लिए सक्रिय होना है, इसलिए आप एक टिप्पणी पोस्ट कर सकते हैं। – VKen

2

मैं आदेश मेरा आत्म जारी किया है, और मैं का उपयोग कर इसे हल SQLSpatialTools से MakeValidGeographyFromText समारोह मैं इसे अंदर एक सपा निम्नलिखित तरीके से इस्तेमाल किया:

SET @ge = dbo.MakeValidGeographyFromText(
    'POLYGON((' + @pois + '))', 4326); 

कहाँ @pois एक स्ट्रिंग निर्देशांक युक्त एक वैध प्रारूप में, लेकिन गलत रोटेशन।

मुझे यकीन है कि यह कितना आसान एफई-5 के साथ एकीकृत करने के लिए है नहीं कर रहा हूँ, लेकिन मैं दो तरीकों से देखें:

  1. सही बहुभुज के साथ एफई कॉल करने से पहले, से सीधे सी # समारोह का उपयोग करें।
  2. SQL सर्वर पर sqlspatialtools इंस्टॉल करें, और वहां प्रसंस्करण करें।
3

हाय मैं एक ही समस्या थी और

var sqlGeography = SqlGeography.STGeomFromText().MakeValid() 
var invertedSqlGeography = sqlGeography.ReorientObject(); 

का उपयोग कर अधिक विवरण देखने के here