aspose.info
AZ

E57 - Lidar Point Cloud Data Format

Yeniləndi

E57 faylı nədir?

.e57 uzantısı olan fayl, nöqtə buludları, şəkillər və metadata kimi üçölçülü (3D) təsvir məlumatlarının saxlanması və mübadiləsi üçün istifadə olunan kompakt, satıcı üçün neytral fayl formatıdır. Bu cür məlumatlar çox vaxt lazer skanerləri kimi sistemlərlə yaradılır. O, ATSM E57 3D Görüntüləmə Sistemləri Komitəsinin Data Interoperability alt komitəsi tərəfindən hazırlanmışdır. E57 açıq mənbədir və 3D nöqtə məlumatlarını, onun atributlarını (rəng və intensivlik kimi) və 3D təsvir sistemi tərəfindən çəkilmiş 2D təsvirləri saxlayır.

E57 Fayl Format

E57 fayl formatının spesifikasiyası ATSM saytında mövcuddur və tərtibatçının arayışı üçün istinad edilə bilər. E57 fayl formatının konseptual sənədi və texniki detalları Daniel Huber tərəfindən istinad materialı kimi mövcuddur. E57 faylındakı məlumatlar aşağıdakı şəkildə göstərildiyi kimi XML əsaslı iyerarxik ağac strukturunda saxlanılır. Aşağı səviyyədə, E57 faylları fayl ölçüsünü yığcam etmək üçün sıxılmış ikili fayllar kimi saxlanılır.

E57 Fayl strukturu

E57 faylının strukturu aşağıdakı cədvəldə göstərildiyi kimidir.

Fayl strukturu
Başlıq
İkili bölmə (nöqtələr)
İkili bölmə (nöqtələr)
…
…
İkili bölmə (şəkil)
XML bölməsi

E57 Başlığı

E57 başlığı kiçik, 48 baytlıq ikili strukturdur və versiya nömrəsi və XML bölməsinin yeri kimi kritik fayl səviyyəli məlumatları ehtiva edir. Proqamatik olaraq aşağıdakı kimi təqdim edilə bilər.

struct E57FileHeader {
    char        fileSignature[8];
    uint32_t    majorVersion;
    uint32_t    minorVersion;
    uint64_t    filePhysicalLength;
    uint64_t    xmlPhysicalOffset;
    uint64_t    xmlLogicalLength;
    uint64_t    pageSize;
}

XML iyerarxiyası

E57 faylının XML bölməsi standart XML alt dəstindən istifadə edərək ağac iyerarxiyasını təsvir edir. Bu, hər bir elementin bir sıra əsas tikinti bloklarından istifadə etməklə qurulduğu səkkiz E57 element növünə əsaslanır. Bu E57 elementlərindən beşi terminal tipləridir, üçü isə qeyri-terminaldır.

Terminal növləri

Integer - ölçüsü 63 bitə qədər olan işarəli tam ədəd

Float - IEEE 754-1985 formatında tək və ya ikiqat dəqiqlikli üzən nöqtə nömrəsini saxlayır

ScaledInteger - Kəsr hissəsi olan ədədi miqyas və ofsetlə birlikdə tam ədəd kimi saxlayır

String - Mətn məlumatlarını UTF-8 kodlu şəkildə saxlayır və beynəlxalq simvolları dəstəkləyir

Blob - Kontekstdən asılı olaraq oxucu tərəfindən şərh edilən ikili məlumatların qeyri-şəffaf blokunu saxlayır.

Qeyri-terminal növləri

Struktur - İstənilən növ E57 elementlərinin nizamsız dəstini ehtiva edir. E57 strukturu C proqramlaşdırma dilində olan strukturun analoqudur.

Vektor - Əsasən eyni tipli elementlərin sıralanmış siyahısını ehtiva edir. Elementdəki bayraq, istədiyiniz halda elementlərin tam olaraq eyni şəkildə yazılması üçün məhdudlaşdırılmasına imkan verir.

CompressedVector - İkili formatda sıxılmış eyni tipli elementlərin sıralanmış siyahısını ehtiva edir. Blob məlumat tipində olduğu kimi, CompressedVector-un təsviri XML hissəsinə və ikili hissəyə bölünür.

İstinad

Həmçinin bax