VTK XML 檔案格式

2021-06-25 12:47:53 字數 3517 閱讀 4573

vtk 提供 xml 資料格式, 比前述資料格式複雜,故也支援更多特徵,主要是方便流管理和並行i/o,也有些特徵,比如支援檔案壓縮,二進位制解碼,任意訪問點,big/little 位元組順序,資料分塊,支援非vtk副檔名等。xml不僅提供上述特徵,也提供針對具體應用問題的特徵標籤支援。

vtk xml 資料檔案包括兩類:並行格式 和序列格式。

xml格式包括兩類: 結構化,非結構化。

結構化格式,即資料集是單元的拓撲規則排序,比如影象的畫素,體素,結構網格中使用的四面體,六面體。vtk中結構化資料集型別包括: vtkimagedata, vtkrectilineargrid, vtkstructuredgrid

非結構化格式:資料集不能由單元規則拓撲表示。資料集子塊用pieces描述。包括:vtkpolydata, vtkunstructuredgrid

常見資料型別和檔案型別:

imagedata(.vti) -> vtkimagedata(結構化)

polydata(.vtp) ->  vtkpolydata(非結構化)

rectilineargrid(.vtr) -> vtkrectilineargrid(結構化)

structuredgrid(.vts) -> vtkstructuredgrid(結構化)

unstructuredgrid(.vtu)-> vtkunstructuredgrid(非結構化)

上述型別加p- 字首,即對應型別的並行型別。

所有 vtk xml 檔案都是合法的xml檔案, 形式如下;

其中, type 表示該檔案型別; version表示檔案版本號(major.minor);byte_order表示位元組碼儲存順序(bigendian,littleendian), compressor, 有些資料支援壓縮。

序列xml檔案格式:

上述vtkfile之間巢狀的內容,稱為資料集單元,為上述五類資料型別之一。每個資料集單元又包含若干piece單元。每個piece描述自己的幾何屬性(節點,單元),不同資料集型別的幾何屬性不同,但是任何資料集型別的piece都包含 pointdata 和 celldata,用來指明該piece中的節點和單元。

舉例1: 結構化網格, 其中節點由points單元顯示描述,單元由內容隱式描述。

...

...

...

舉例2: 非結構化網格, 各piece的節點,單元都需要顯示表示。

...

...

....

...

資料集合(的屬性值)由其節點,單元表示,如下

...

...

vtk允許使用任意數目的 dataarray 來描述與之關聯資料集的節點,單元。 dataarray 的名稱包括:

scalars, vectors, normals, tensors, tcoords

vtk也允許安如下方式定義/描述資料集的節點,單元:

points, 顯式定義各個節點的座標。 

....

coordinates,顯式定義座標,並為每個方向的座標值給出乙個dataarray

verts, lines, strips, ploys: 顯式定義個節點的連線關係,單元型別也可由此連線關係隱式推導了。此類描述需要兩個dataarray。第乙個定義節點連線關係,所有cell裡面的節點全部連線起來,第二個dataarray用來定義兩個cell之間的offset(偏量)

cells, 顯式定義節點連線和單元型別。包括三個dataarray。第乙個定義節點連線關係,包含所有節點;第二個定義cell之間的偏量,第三個定義每個cell的型別。

上述所有由dataarray定義的資料,幾何,其中具體內容如下:

scalars" format="binary">

int32" name="offsets" format="ascii" >

各屬性值如下:

type, array中元素的資料型別, 如 int8, uint8, int16, uint16, int32 .. float32, float64

name, array的名稱

最後舉例cfd後處理vtk資料格式:

1 <?xml version=

"1.0"

?>

2 type

="unstructuredgrid"

version

="0.1"

byte_order

="littleendian">

3 4 numberofpoints=

"3"numberofcells=

"1">

5 scalars

="pressure"

vectors

="velocity">

6 type=

"float32"

name=

"pressures"

numberofcomponents

="3"

format=

"ascii"

>

10 11 

12 type

="float32"

name

="density"

format

="ascii">

13                 ...

14 15 

16 type=

"float32"

name=

"velocity"

numberofcomponents=

"2" format=

"ascii"

>

17                 ...

18 19

20 21

22 23 type=

"float32"

numberofcomponents=

"3"format=

"ascii"

>

24               0.01 0.01 0.02

25 26

27 28 type=

"int32"

name=

"connectivity"

numberofcomponents=

"1"format=

"ascii"

>

29         0 1 2

30 31 

32 type=

"int32"

name=

"offsets"

numberofcomponents=

"1"format=

"ascii"

>

33         3

34 35 

36 type=

"int32"

name=

"types"

numberofcomponents=

"1"format=

"ascii"

>

37         5

38 39 

40 41

47 48 49

Oracle 控制檔案格式ctl檔案格式

options skip 1,errors 10 load data characterset zhs16gbk infile into table table name truncate fields terminated by optionally enclosed by trailing nu...

檔案格式 gff格式

gff檔案格式 gff格式是 sanger 研究所定義,是一種簡單的 方便的對於 dna rna以及蛋白質序列的特徵進行描述的一種資料格式,已經成為序列注釋的通用格式,比如基因組的基因 許多軟體都支援輸入或者輸出gff格式。前格式定義的最新版本是版本3。原始定義見 song websitegff是存...

DOS檔案格式 與 UNIX檔案格式 轉換

這裡闡述兩種方法 1.使用vim的方法 在vim下 使用如下命令 set fileformat unix 就可轉換成 unix 檔案格式,也可使用其縮寫形式命令 set ff unix 直接輸入命令 set fileformat 或 set ff 還可查詢當前的命令格式。2.使用linux命令工具 ...