ГОСТ Р ИСОГГС 10303-26—2015
vler._of_vlen_double_tid - define_r.ested_real_aggr {);
if(rstat - define_aggr_reference<group_id, vlen_of_vler._double_tid,
’’2", &aggr2_ref_tid)) goto err;
aggr_ref_tid_size - H5Tget_size(aggrl_ref_tid);
/ /
// Create named compound type for LAN1>_SURVEY
/ /
mysize - 2*sizeof(long) * string_tid_size + 2*aggr_ref_tid_size;
offset - 0;
ls_tid - H5Tcreate (H5T_COMPOUND, mysize);
if(rstat - H5Tinsert(ls_tid, "set_unset_bitmap", offset,
H5T_NATIVE_LONG)) goto err;
offset +- sizeof(long);
if(rstat - H5Tinsert(ls_tid, "Entity-Ir.stance-Identifier",
offset, H5T_NATIVE_LONG)) goto err;
offset +*■ sizeof(long);
"country", offset, string_tid))
"properties", offset, aggrl_ref_tid)>
if(rstat - H5Tinsert(Is_tid,
goto err;
offset +«• string_tid_size;
if(rstat - HSTinsert(ls_tid,
goto err;
offset +- aggr_ref_tid_size;
if(rstat - HSTinsert(ls_tid,
"altitudes", offset, aggr2_ref_tid ))
goto err;
if(rstat - H5Tcommit2(group_id, "Land_survey", l3_tid,H5P_DEFA(JLT,
H5P_DEFAULT,H5P_DEFAULT)) goto err;
*lls_tid - ls_tid;
err:
return (rstat);
)
Следующий фрагмент кода демонстрирует создание и наполнение составного типа данных HDF5, соответ
ствующего объекту ’Land_survey" языка EXPRESS с использованием API HDF5.
♦include <stdlib.h>
♦include <strir.g.h>
♦include
♦include
"hdf5.h"
"examples.h"
//............—
..........
.
// Create Survey
/ / .................................
herr_t createsurvey(hid_t group_id, hid_t ls_tid,hid_t p tid)
<
herr_t
hid_t
hid_t
hid_t
hobj_ref_t
hid_t
hid_t
long
long
char
hsize_t
char
char
char
rstat;
ls_dataset;
rayspace;
obj_group;
objref;
vlen_of_vlen_double_tid;
vlen_of_vlen_ref_tid;
mysize;
myinteger;
raychar;
mydimjl);
*norway - "Norway";
*vlen_data;
‘buffer;
38