aspose.info
TH

E57 - รูปแบบข้อมูล Lidar Point Cloud

อัปเดตเมื่อ

ไฟล์ E57 คืออะไร??

ไฟล์ที่มีนามสกุล .e57 เป็นรูปแบบไฟล์ที่มีขนาดกะทัดรัดและเป็นกลางสำหรับผู้ขาย ซึ่งใช้สำหรับจัดเก็บและแลกเปลี่ยนข้อมูลภาพสามมิติ (3D) เช่น พอยต์คลาวด์ รูปภาพ และข้อมูลเมตา ข้อมูลดังกล่าวมักถูกสร้างขึ้นด้วยระบบต่างๆ เช่น เลเซอร์สแกนเนอร์ ได้รับการพัฒนาโดยคณะอนุกรรมการด้านการทำงานร่วมกันของข้อมูลของคณะกรรมการ ATSM E57 เกี่ยวกับระบบภาพ 3 มิติ E57 เป็นโอเพ่นซอร์สและเก็บข้อมูลจุด 3 มิติ คุณลักษณะของมัน (เช่น สีและความเข้ม) และภาพ 2 มิติที่บันทึกโดยระบบภาพ 3 มิติ

รูปแบบไฟล์ E57

ข้อกำหนดรูปแบบไฟล์ E57 มีอยู่ในเว็บไซต์ ATSM และสามารถอ้างอิงสำหรับการอ้างอิงของนักพัฒนา กระดาษแนวคิดและรายละเอียดทางเทคนิคของรูปแบบไฟล์ E57 มีให้ใช้เป็นเอกสารอ้างอิงโดย Daniel Huber ข้อมูลในไฟล์ 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 - จัดเก็บตัวเลขที่มีเศษส่วนเป็นจำนวนเต็มพร้อมกับมาตราส่วนและค่าชดเชย

String - เก็บข้อมูลข้อความในรูปแบบ UTF-8 ที่เข้ารหัสและรองรับอักขระสากล

Blob - จัดเก็บบล็อกทึบของข้อมูลไบนารีที่ผู้อ่านตีความโดยขึ้นอยู่กับบริบท

ประเภทที่ไม่ใช่เทอร์มินัล

Structure - ประกอบด้วยชุดองค์ประกอบ E57 ที่ไม่มีลำดับของประเภทใดก็ได้ โครงสร้าง E57 นั้นคล้ายคลึงกับโครงสร้างในภาษาโปรแกรม C

Vector - ประกอบด้วยรายการสั่งซื้อของรายการที่พิมพ์เหมือนกันอย่างมาก แฟล็กในองค์ประกอบอนุญาตให้จำกัดรายการให้พิมพ์เหมือนกันทั้งหมดหากต้องการ

CompressedVector - ประกอบด้วยรายการลำดับของรายการที่พิมพ์เหมือนกัน ซึ่งถูกบีบอัดในรูปแบบไบนารี เช่นเดียวกับประเภทข้อมูล Blob การแสดง CompressedVector จะแบ่งออกเป็นส่วน XML และส่วนไบนารี

อ้างอิง

ดูเพิ่มเติม