ArcMap परिभाषा प्रश्नों में NaN या ± ∞ (विशेष अस्थायी बिंदु मान) का जिक्र है?


10

मैंने संयोग से पता लगाया है कि कैसे आर्कपैक उपयोगकर्ता के लिए विशेष फ्लोटिंग पॉइंट वैल्यू प्रदर्शित करता है।

  • + + (सकारात्मक अनंत) के रूप में प्रदर्शित किया जाता है 1.#INF
  • -) (नकारात्मक अनन्तता) माना जाता है कि -1.#INF- मैंने इसे सत्यापित नहीं किया है।
  • NaN (संख्या नहीं) को दाएं-संरेखित के रूप में प्रदर्शित किया जाता है <Null>- बाएं-संरेखित के साथ भ्रमित नहीं होने के लिए <Null>, जो NULL (अनुपलब्ध मान) को दर्शाता है:

    ArcMap में देखी गई एक तालिका का स्क्रीनशॉट जो दो अलग प्रकार के NULL दिखाता है

    ( क्षेत्र कैलकुलेटर में अद्वितीय मान प्राप्त करें NaN को सूची में बिल्कुल भी सूचीबद्ध नहीं करता है।)

लेकिन मुझे पता नहीं चला कि इन विशेष मूल्यों के आधार पर पंक्तियों का चयन करने के लिए परत परिभाषा प्रश्नों को कैसे लिखा जाए:

  • ColumnName IS NULL केवल नियमित NULL मान का चयन करेगा, लेकिन गैर NaN।
  • ColumnName = 1.#INF अमान्य सिंटैक्स के रूप में अस्वीकार कर दिया गया है।

क्या किसी को भी यह करना आता है?


C # ArcObjects कोड स्निपेट को स्टोर करने के लिए 1. टेबल फ़ील्ड (मूल अवधारणा) के लिए # INF मान:

के रूप में अनुरोध किया। चूँकि मैं अब काम पर नहीं हूं, निम्नलिखित मैं इस्तेमाल किया गया वास्तविक कोड नहीं है और मैं अभी इसका परीक्षण नहीं कर सकता, लेकिन यह ऊपर दिए गए स्क्रीनशॉट में दिखाए गए प्रभाव का उत्पादन करना चाहिए:

ITable table = …;
int doubleFieldIndex = table.FindField(…);
IRow row = table.CreateRow(); 
row.Value[doubleFieldIndex] = double.PositiveInfinity;
row.Store();

बहुत बढ़िया सवाल। मुझे इस बात की जानकारी नहीं थी कि NaN को एक सही गठबंधन <Null> के रूप में दर्शाया गया है। मैं भी जवाबों का इंतजार कर रहा हूं। btw, क्या सही संरेखित करता है <null> विशेषता विंडो द्वारा खोज में देखें (जब आपको उस फ़ील्ड के लिए सभी अलग-अलग मिलते हैं?)
Devdatta Tengshe

@Dddatta, जहां तक ​​मैं बता सकता हूं, अद्वितीय मान प्राप्त करें NaN को बिल्कुल भी सूचीबद्ध नहीं करता है।
stakx

यह किस प्रकार का डेटा है? क्या यह ग्रिड की एक विशेषता तालिका है? क्या आपने इस डेटा को गैर-आर्कगिस स्रोत से आयात किया है?
जैकब सिसक जियोग्राफिक्स

@ जैकब: यह एक फाइल जियोडेटाबेस के अंदर एक टेबल है, और स्क्रीनशॉट में दिखाए गए फ़ील्ड में टाइप डबल है। और नहीं, तालिका एक आर्कोबजेक्ट्स और आर्कमैप के साथ बनाई और संपादित की गई है।
स्टेक्स

हां, लेकिन आपको खेतों में ऐसे मूल्य कैसे मिले?
whuber

जवाबों:


2

आर्कजीआईएस में एकल-सटीक फ्लोटिंग-पॉइंट संख्या की सीमा लगभग -3.4E38 से 1.2E38 तक है।

यदि आप वास्तव में 1. # INF -1। # जानकारी मान अपनी विशेषता तालिका में प्रदर्शित कर रहे हैं (या विशेषताओं का विश्लेषण करते समय एमएस एक्सेस के माध्यम से) या ग्रिड आँकड़े तो ये संख्याएँ हो सकती हैं जो ESRI द्वारा समर्थित सीमा के बाहर होती हैं। और अगर ये संख्या वास्तव में समर्थित सीमा के बाहर आती है, तो यह कहना सुरक्षित है कि आप इन मूल्यों के लिए क्वेरी नहीं कर पाएंगे। आप अधिक से अधिक और फिर अधिकतम और न्यूनतम (-3.4E38 से 1.2E38) की कोशिश कर सकते हैं और देख सकते हैं कि यह क्या रिटर्न देता है, लेकिन मुझे संदेह है कि यदि तालिका / फ़ील्ड में मानों की अनारक्षित श्रेणी है तो क्वेरी बिल्कुल काम करेगी।

यह स्रोत बताता है कि इस तरह के मूल्यों को 3-आरडी पार्टी गैर-ईएसआरआई आवेदन से आयात किया जा सकता है । आपको ESRI उत्पाद को आयात करने से पहले मूल्यों को समर्थित रेंज में बदलने की आवश्यकता हो सकती है।

NULL / NuN मानों के लिए, यह जानना उपयोगी होगा कि हम आपके उदाहरण में क्या देख रहे हैं; ग्रिड, शेपफाइल, जियोडेटाबेस फीचर क्लास आदि की एक अट्रैब्यूट टेबल, उदाहरण के लिए, शेपफाइल्स NULL वैल्यूज को स्टोर नहीं कर सकते हैं , यदि किसी फीचर क्लास थान्ट में NULL वैल्यू एक ऐसे शेफाइल में बदल जाते हैं, जो विभिन्न वैल्यू ("", 0, 0) के रूप में स्टोर होते हैं। NuN ?, आदि) लेकिन जब एक आर्कपॉइंट विशेषता तालिका में प्रदर्शित किया जाता है तो वे अभी भी नेत्रहीन रूप में प्रतिनिधित्व करते हैं "<Null>"यह संभव है कि आपकी विशेषता तालिका में NULLs का संरेखण एक ऐसी स्थिति है। मैं केवल इस बारे में अटकलें लगा रहा हूं कि आप बाएं संरेखित NULLs को क्वेरी करने में सक्षम क्यों हैं, लेकिन दाएं-संरेखित NULLs नहीं, लेकिन यदि यह एक आकृति है, तो आयात करने का प्रयास करें। फिर एक geodatabase में फिर से क्वेरी चलाएँ। संभावना है कि ये सभी उचित NULL मानों में परिवर्तित हो जाएंगे।


@stakx - मैंने अभी आपकी टिप्पणियों पर ध्यान दिया है। जब मैं अपना उत्तर तैयार कर रहा था, तब मैंने टिप्पणियाँ नहीं देखीं। मैं इसे वैसे भी यहां छोड़ रहा हूं।
जकुब सिसक जियोग्राफिक्स

वास्तव में, एक आकार-निर्धारण एक प्रशंसनीय तरीका है जिसमें ऐसे मूल्य हो सकते हैं। एक आकृति के साथ, संख्याओं को आधार -10 ASCII चरित्र प्रारूप में बनाए रखा जाता है, न कि बाइनरी फ्लोट्स या डबल्स के रूप में। यदि संग्रहीत मूल्य एक अनन्तता या NaN में परिवर्तित हो जाता है, तो ArcGIS इसकी व्याख्या कैसे करेगा? शायद जिस किसी ने भी शेपफाइल रीडर (जिसका अर्थ है कि आर्कजीआईएस व्यवहार किसी भी समय बदल सकता है, को संस्करण, रिलीज़, और बग फिक्स के साथ बदल सकता है) वर्तमान में प्रभाव :-)।
व्हीबर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.