जो संरचना आप चुनते हैं, और अपनी पसंद अच्छी तरह से अपनी पसंद के कार्यान्वयन द्वारा निर्देशित किया जा सकता है (?? OO कार्यात्मक डीबीएमएस तालिका) मुझे लगता है कि आप खुद को इकाइयों की संरचना को पहचानने की जरूरत है।
उदाहरण के लिए 1000 किमी/घंटा की माप कई घटक हैं:
- एक अदिश परिमाण, 1000;
- एक उपसर्ग, इस मामले में किलो; और
- एक आयाम, इस मामले में एलटी^(- 1), यानी, लंबाई के अनुसार लंबाई विभाजित है।
इकाइयों के साथ माप के आपके मॉडलिंग को कम से कम इस जटिलता को पकड़ने की आवश्यकता है।
जैसा कि पहले से ही सुझाव दिया गया है, आपको यह निर्धारित करना चाहिए कि आप किस इकाई का उपयोग करने जा रहे हैं, और एसआई बेस इकाइयां तुरंत खुद को सुझाती हैं। मॉडलिंग इकाइयों के लिए आपकी डेटा संरचना को तब उन बेस इकाइयों के संदर्भ में परिभाषित किया जाएगा। इसलिए आपको एक तालिका परिभाषित कर सकता है (RDBMS सोच यहाँ है, लेकिन आसानी से अपना पसंदीदा कार्यान्वयन में अनुवाद) जैसे प्रविष्टियों के साथ:
unit name dimension conversion to base
foot Length 0.3048
gallon(UK) Length^3 4.546092 x 10^(-3)
kilowatt-hour Mass.Length^2.Time^(-2) 3.6 x 10^6
और इसके आगे। आपको उपसर्गों (किलो-, नैनो-, मेगा-, मिबी- आदि) को गुणा करने के लिए एक तालिका की आवश्यकता होगी, और प्रत्येक आयाम के लिए आधार इकाइयों की एक तालिका (यानी लंबाई लंबाई के लिए आधार इकाई है, दूसरा समय के लिए, आदि)। आपको feet
जैसी इकाइयों से निपटना होगा जो कि अन्य इकाइयों के लिए समानार्थी शब्द हैं।
आयाम का उद्देश्य निश्चित रूप से यह सुनिश्चित करने के लिए है कि आपके रूपांतरण और अन्य संचालन (जैसे 2 feet
3.5 metres
जोड़ना) अनुरूप हैं।
और, आगे पढ़ने के लिए, मैं this book by Cardarelli का सुझाव देता हूं।
संपादित टिप्पणियों के जवाब में ...
मैं सुझाव दे (कार्यान्वयन-विशिष्ट) समाधान से दूर नकल की तो मैं थोड़ा और वफ़ल जाएगा कोशिश कर रहा हूँ। कंपाउंड इकाइयां, जैसे किलोवाट-घंटे, एक समस्या उत्पन्न करते हैं। एक दृष्टिकोण कई यूनिट-एक्सप्रेशन, जैसे कि kilowatt
और hour
के साथ माप टैग करना होगा, और इस मामले में multiplication
में उन्हें जोड़ने के लिए एक नियम होगा, मैं इसे बहुत तेज़ी से बालों वाली देख सकता था। आवेदन के डोमेन में इकाइयों के वैध सेट को सबसे आम लोगों तक सीमित करना बेहतर हो सकता है।
मिश्रित इकाइयों में माप से निपटने के लिए, एक इकाई के आयाम को परिभाषित करने का उद्देश्य यह सुनिश्चित करने के लिए कुछ साधन प्रदान करना है कि माप-इकाइयों के लिए केवल समझदार संचालन लागू किए जा सकें। तो, दो लंबाई (एल + एल) को एक साथ जोड़ना समझदार है, लेकिन लंबाई (एल) और वॉल्यूम (एल^3) नहीं। दूसरी ओर वॉल्यूम को लंबाई से विभाजित करना समझदारी है (एक क्षेत्र (एल^2) प्राप्त करने के लिए)। और यह निर्धारित करने के लिए आवेदन की तरह है कि प्रति वर्ग मीटर किलोवाट-घंटे जैसे अजीब इकाइयां वैध हैं या नहीं।
अंत में, जिस पुस्तक से मैं लिंक करता हूं, वह सभी संभावनाओं का आकलन करता है, मुझे लगता है कि इकाइयों के साथ सबसे समझदार अनुप्रयोग केवल एक चयन लागू करेंगे।
क्या आपको एकीकृत करने के लिए कुछ चाहिए? यदि आपको केवल डेटा की आवश्यकता है, तो 'इकाइयों (1) ' – Daenyth
देखें, इसे किसी अन्य एप्लिकेशन में एकीकृत करने की आवश्यकता है, लेकिन मैंने कभी उस प्रोग्राम को नहीं देखा था। शायद मैं यह देख सकता हूं कि उन्होंने इसे पूरा करने के लिए क्या किया ... – riwalk
कनवर्ट ("एकड़ पैर", "मीटर^3") के परिणाम क्या हैं? – Codism