वहाँ एक मानकीकृत या "सबसे अधिक इस्तेमाल किया" डमी जेड मूल्य है?


10

2D और 3D डेटा दोनों को बनाना और आयात करना, मैंने कई बार उस स्थिति का सामना किया है जहाँ मेरे पास एक निर्देशांक सेट के लिए कोई Z मान नहीं है, कि Z निर्देशांक का मान श्रेणी से बाहर लगता है (जैसे -99, -9999, -inf या समान ) या कि मुझे एक डमी जेड समन्वय बनाने की आवश्यकता है ।

मुझे पता है कि मेरे प्रश्न का उत्तर है:

"बस एक मूल्य का उपयोग करें जो निश्चित रूप से आपके मामले में सीमा से बाहर है।"

लेकिन यह जवाब अलग है मुझे आश्चर्य है कि अगर जीआईएस समुदाय ने डमी जेड समन्वय के लिए एक मानकीकृत या सबसे अधिक बार इस्तेमाल किया मूल्य है ?

जवाबों:


5

वर्तमान उत्तर सभी अच्छी सलाह देते हैं। एक सामान्य नियम (वैज्ञानिक कंप्यूटिंग समुदाय से) उन मामलों में अच्छी तरह से काम करता है जहां आप सच्चे नल को स्टोर नहीं कर सकते हैं या NaNs फ़ील्ड (वैध रूप से) के सबसे छोटे (सबसे नकारात्मक) मान का उपयोग करते हैं।

उदाहरण:

  • 7.2 दशमलव फ़ील्ड का मान -9999.99 से कम हो सकता है।

  • एक पूर्णांक रेखापुंज संख्या -32768 के रूप में छोटी संख्या में पकड़ सकता है, लेकिन अक्सर (द्विआधारी और आधार 10 के लिए एक आकर्षण के कारण) के बजाय मूल्य -9999 का उपयोग किया जाता है।

  • एक फ्लोट -10 ^ (38) के क्रम पर संख्याओं को पकड़ सकता है। यदि आप क्षेत्र में एक NaN नहीं डाल सकते हैं, तो या तो सबसे छोटी नाव को खोजें जो फिट होगी (जो एक दर्द है) या बस -10 ^ (38) जैसे कुछ का उपयोग करें। युगल के लिए, -10 ^ (303) ठीक काम करता है, लेकिन ऐसा करता है -10 ^ (38): यह एक अशक्त मूल्य के स्पष्ट मार्कर के रूप में सेवा करने के लिए पर्याप्त रूप से विशाल और नकारात्मक है।

यह नियम याद रखने में सरल, सुसंगत, लागू करने में आसान, बॉयलरप्लेट फैशन में दस्तावेज़ के लिए आसान (आपके मेटाडेटा के लिए) है, और शायद ही कभी अनजाने में त्रुटियां होती हैं (क्योंकि सबसे नकारात्मक संख्या आमतौर पर डेटा से इतनी भिन्न होती है कि इसका दुरुपयोग के रूप में वास्तविक मान के बजाय, एक अशक्त के बजाय, सांख्यिकीय सारांश को भ्रष्ट करता है और एक झंडा उठाने के लिए पर्याप्त गणना करता है कि कोई समस्या है)।


5

यदि आपका डेटा किसी डेटाबेस में है तो आदर्श रूप से आप एक NULL मान का उपयोग करेंगे :

"गुम सूचना और अनुपयुक्त सूचना" का प्रतिनिधित्व

हालाँकि यह क्लाइंट एप्लिकेशन और कोड के साथ समस्याएँ पैदा कर सकता है, और मुझे विश्वास नहीं है कि DBF में NULL का समर्थन किया गया है। उस मूल्य को क्या होना चाहिए मुझे लगता है कि विभिन्न संगठनात्मक सम्मेलनों के लिए अलग है। आप जो भी डमी मूल्य लेते हैं, सुनिश्चित करें कि यह डेटासेट के मेटाडेटा में दर्ज है।

यदि किसी डेटासेट के किसी भी अंक का Z मान नहीं है, तो मैं यह नहीं देखता कि 0 का उपयोग क्यों नहीं किया जा सकता है, हालांकि उस स्थिति में शायद भ्रम से बचने के लिए डेटासेट की Z- जागरूकता को पूरी तरह से हटा दिया जाए।


2
+1 अधिकांश ESRI उत्पाद, साथ ही साथ अधिकांश अन्य सॉफ़्टवेयर, शून्य dBase फ़ील्ड में शून्य को शून्य के रूप में पढ़ेंगे। यह घातक है, इसलिए आमतौर पर .dbf फ़ाइलों (जिसमें शेपफाइल्स शामिल हैं) में एक स्पष्ट अशक्त कोडिंग का उपयोग करना महत्वपूर्ण है।
whuber

4

अधिवेशन के रूप में फ़्लोटिंग पॉइंट डेटा के लिए मैं उपयोग किए जाने वाले अधिकांश रिस्टेट्स -9999.0, और GDAL का उपयोग तब करेगा जब आप एक छवि के लिए कोड लिख रहे हैं जिसमें nodata / dummy मान नहीं है। 8-बिट आरजीबी आमतौर पर 0 0 0 या 255 255 255 का उपयोग करेगा, या एक अल्फा या मुखौटा चैनल होगा।

जीएमएल 3 कवरेज (जिसके लिए इस समय बहुत बड़ा समर्थन नहीं है, लेकिन जब डब्ल्यूसीएस 2 कल्पना की पुष्टि की जाती है तो यह बदल जाएगा) में कई डमी मूल्य हैं जो "लापता" और "रोक" जैसे पाठ के रूप में दर्शाए गए हैं।

मेरा अनुभव किसी भी डिफ़ॉल्ट डोमेन-विशिष्ट या विक्रेता-विशिष्ट हो जाता है। यदि आप उपभोक्ता के बजाय डेटा के निर्माता हैं, तो एक संख्या चुनें और उसके साथ रहें और सुनिश्चित करें कि आपके उपभोक्ताओं को इसके बारे में पता हो।


2

मैं NaN का उपयोग करता हूँ क्योंकि गणितीय संक्रियाएँ अन्य NaN का उत्पादन करेंगी या अपवाद छोड़ देंगी। इस तरह से आप पता लगा सकते हैं कि आप गड़बड़ कर रहे हैं क्योंकि आप एक फर्जी मूल्य का उपयोग कर रहे हैं


2
NaN गणना के लिए ठीक होगा (फ्लोटिंग पॉइंट वैल्यू के साथ), लेकिन आप NaN को कई डेटाबेस या GIS डेटा फॉर्मेट में स्टोर नहीं कर सकते हैं
Geographika

2
+1 @ पत्रिका सही है। फिर भी, एक मूल्य का उपयोग करने के बारे में बिंदु जो गणना में गड़बड़ करेगा, एक उत्कृष्ट है।
whuber

पूर्णांकों के लिए आपके पास NaN हो सकते हैं: num_limits <int> :: शांत_NaN ()
रागी यासर बुरहुम

इसके अलावा, मेरी सिफारिश NaN के उपयोग के लिए थी क्योंकि यह ज्यामिति के अंदर Z मान से संबंधित था । इस बात की परवाह किए बिना कि मान किसी डेटाबेस में है या नहीं, IMHO इसे ज्यामिति के साथ क्रमबद्ध किया जाना चाहिए - इसलिए इसे बस काम करना चाहिए ...
रागी यासर बुरहुम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.