E57 फ़ाइल क्या है?
.e57 एक्सटेंशन वाली फ़ाइल एक कॉम्पैक्ट, विक्रेता-तटस्थ फ़ाइल स्वरूप है जिसका उपयोग तीन-आयामी (3D) इमेजिंग डेटा जैसे पॉइंट क्लाउड, इमेज और मेटाडेटा के भंडारण और विनिमय के लिए किया जाता है। इस तरह के डेटा को अक्सर लेजर स्कैनर जैसे सिस्टम के साथ बनाया जाता है। इसे 3D इमेजिंग सिस्टम पर ATSM E57 समिति की डेटा इंटरऑपरेबिलिटी उप-समिति द्वारा विकसित किया गया था। E57 खुला स्रोत है और 3D बिंदु डेटा, इसकी विशेषताओं (जैसे रंग और तीव्रता), और 3D इमेजिंग सिस्टम द्वारा कैप्चर की गई 2D इमेजरी को संग्रहीत करता है।
E57 फ़ाइल स्वरूप
E57 फ़ाइल प्रारूप विनिर्देश ATSM वेबसाइट पर उपलब्ध हैं और इसे डेवलपर के संदर्भ के लिए संदर्भित किया जा सकता है। E57 फ़ाइल प्रारूप का अवधारणा पत्र और तकनीकी विवरण डैनियल ह्यूबर द्वारा संदर्भ सामग्री के रूप में उपलब्ध हैं। एक E57 फ़ाइल में डेटा एक XML आधारित पदानुक्रमित ट्री संरचना में सहेजा गया है जैसा कि निम्नलिखित छवि में दिखाया गया है। निम्न स्तर पर, फ़ाइल आकार को कॉम्पैक्ट बनाने के लिए E57 फ़ाइलों को संपीड़ित बाइनरी फ़ाइलों के रूप में सहेजा जाता है।
E57 फ़ाइल संरचना
E57 फ़ाइल की संरचना निम्न तालिका में दिखाई गई है।
फ़ाइल संरचना |
---|
हेडर |
बाइनरी सेक्शन (अंक) |
बाइनरी सेक्शन (अंक) |
… |
… |
बाइनरी सेक्शन (छवि) |
एक्सएमएल अनुभाग |
E57 हैडर
E57 हेडर एक छोटी, 48-बाइट बाइनरी संरचना है जिसमें महत्वपूर्ण फ़ाइल-स्तर की जानकारी होती है, जैसे कि संस्करण संख्या और XML अनुभाग का स्थान। इसे प्रोगामैटिक रूप से निम्नानुसार दर्शाया जा सकता है।
struct E57FileHeader {
char fileSignature[8];
uint32_t majorVersion;
uint32_t minorVersion;
uint64_t filePhysicalLength;
uint64_t xmlPhysicalOffset;
uint64_t xmlLogicalLength;
uint64_t pageSize;
}
एक्सएमएल पदानुक्रम
E57 फ़ाइल का XML खंड मानक XML के सबसेट का उपयोग करके ट्री पदानुक्रम का वर्णन करता है। यह आठ E57 तत्व प्रकारों पर आधारित है जहां प्रत्येक तत्व को कोर बिल्डिंग ब्लॉक्स के एक सेट का उपयोग करके बनाया गया है। इन E57 तत्वों में से पांच टर्मिनल प्रकार हैं और इनमें से तीन गैर-टर्मिनल हैं।
टर्मिनल प्रकार
पूर्णांक
- आकार में 63 बिट तक हस्ताक्षरित पूर्णांक
फ्लोट
- IEEE 754-1985format में एकल या डबल सटीक फ़्लोटिंग पॉइंट नंबर संग्रहीत करता है
ScaledInteger
- स्केल और ऑफ़सेट के साथ एक पूर्णांक के रूप में एक भिन्नात्मक भाग के साथ एक संख्या को स्टोर करता है
स्ट्रिंग
- टेक्स्ट डेटा को यूटीएफ -8 एन्कोडेड के रूप में संग्रहीत करता है और अंतरराष्ट्रीय वर्णों का समर्थन करता है
ब्लॉब
- संदर्भ के आधार पर पाठक द्वारा व्याख्या किए गए बाइनरी डेटा का एक अपारदर्शी ब्लॉक संग्रहीत करता है।
गैर-टर्मिनल प्रकार
संरचना
- इसमें किसी भी प्रकार के E57 तत्वों का एक अनियंत्रित सेट होता है। एक E57 संरचना C प्रोग्रामिंग भाषा में एक संरचना के अनुरूप है।
वेक्टर
- काफी हद तक समान रूप से टाइप की गई वस्तुओं की एक आदेशित सूची है। तत्व में एक ध्वज वस्तुओं को प्रतिबंधित करने की अनुमति देता है यदि वांछित हो तो बिल्कुल समान रूप से टाइप किया जा सकता है।
संपीड़ित वेक्टर
- समान रूप से टाइप की गई वस्तुओं की एक क्रमबद्ध सूची होती है, जो बाइनरी प्रारूप में संकुचित होती है। ब्लॉब डेटा प्रकार के साथ, एक संपीड़ित वेक्टर का प्रतिनिधित्व एक्सएमएल भाग और बाइनरी भाग में विभाजित होता है।