aspose.info
HE

E57 - Lidar Point Cloud Data Format

עודכן

מהו קובץ E57?

קובץ עם סיומת .e57 הוא פורמט קובץ קומפקטי, נייטרלי מספק, המשמש לאחסון והחלפה של נתוני הדמיה תלת מימדיים (3D) כגון ענני נקודות, תמונות ומטא נתונים. נתונים כאלה נוצרים לעתים קרובות עם מערכות כגון סורקי לייזר. הוא פותח על ידי ועדת המשנה ליכולת הדדית של נתונים של ועדת ATSM E57 למערכות הדמיה תלת-ממדיות. E57 הוא קוד פתוח ומאחסן נתוני נקודות תלת מימדיים, תכונותיו (כגון צבע ועוצמה), ותמונות דו מימדיות כפי שנלכדו על ידי מערכת ההדמיה התלת מימדית.

פורמט קובץ E57

מפרטי פורמט הקובץ E57 זמינים באתר ATSM וניתן להתייחס אליהם לעיון המפתחים. נייר הרעיון והפרטים הטכניים של פורמט הקובץ E57 זמינים כחומר עזר על ידי דניאל הובר. הנתונים בקובץ E57 נשמרים במבנה עץ היררכי מבוסס XML כפי שמוצג בתמונה הבאה. ברמה נמוכה, קבצי E57 נשמרים כקבצים בינאריים דחוסים כדי להפוך את גודל הקובץ לקומפקטי.

E57 מבנה הקובץ

המבנה של קובץ E57 הוא כפי שמוצג בטבלה הבאה.

מבנה הקובץ
כותרת
קטע בינארי (נקודות)
קטע בינארי (נקודות)
…
…
קטע בינארי (תמונה)
קטע XML

כותרת 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;
}

היררכיית XML

קטע ה-XML של קובץ E57 מתאר את היררכיית העץ באמצעות קבוצת משנה של XML סטנדרטית. זה מבוסס על שמונה סוגי אלמנטים מסוג E57 כאשר כל אלמנט נבנה באמצעות קבוצה של אבני בניין ליבה. חמישה מאלמנטים אלה של E57 הם סוגי טרמינלים ושלושה מהם אינם טרמינלים.

סוגי טרמינלים

Integer - מספר שלם עם סימן בגודל של עד 63 סיביות

Float - מאחסן מספר נקודה צפה דיוק יחידה או כפולה בפורמט IEEE 754-1985

ScaledInteger - מאחסן מספר עם חלק חלקי כמספר שלם יחד עם סולם והיסט

מחרוזת - מאחסן נתוני טקסט כמקודדים UTF-8 ותומך בתווים בינלאומיים

בלוב - מאחסן בלוק אטום של נתונים בינאריים המתפרשים על ידי הקורא בהתאם להקשר.

סוגי לא טרמינלים

מבנה - מכיל סט לא מסודר של אלמנטים E57 מכל סוג שהוא. מבנה E57 מקביל למבנה בשפת התכנות C.

וקטור - מכיל רשימה מסודרת של פריטים בעלי הקלדה זהה. דגל באלמנט מאפשר להגביל את הפריטים להקלדה זהה בדיוק אם תרצה.

CompressedVector - מכיל רשימה מסודרת של פריטים המוקלדים באופן זהה, הנדחסים בפורמט בינארי. כמו בסוג הנתונים Blob, הייצוג של CompressedVector מחולק לחלק XML וחלק בינארי.

התייחסות

ראו גם