我正在尝试找出如何从HDF5文件(一个测深属性网格/包)中转储文本块。当我执行h5dump -d /BAG_root/metadata H11703_Office_5m.bag以及我尝试过的任何其他操作时,我总是会得到引用了XML的每个字符的数据。有没有一个“简单”的选项,让它将原始数据内容转储到一个文件或终端?
DATASET "/BAG_root/metadata" {
DATATYPE H5T_STRING {
STRSIZE 1;
STRPAD H5T_STR_NULLTERM;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
}
DATASPACE SIMPLE { ( 5097 ) / ( H5S_UNLIMITED ) }
DATA {
(0): "<", "?", "x", "m", "l", " ", "v", "e", "r", "s", "i", "o", "n", "=",
(14): """, "1", ".", "0", """, "?", ">", "
", "<", "s", "m",
(25): "X", "M", "L", ":", "M", "D", "_", "M", "e", "t", "a", "d", "a",发布于 2011-11-02 22:01:08
在我在OpenNavSurf邮件列表上提出这个主题后,Marcus Cole通过电子邮件给我发了这个解决方案:
h5dump -b FILE -o H12279_VB_4m_MLLW_1of1.xml -d BAG_root/metadata H12279_VB_4m_MLLW_1of1.bag这将写出一个干净的XML文件。
发布于 2011-11-02 22:38:46
Re: Python & BAG,GDAL 1.7.0+ supports the BAG format;例如:
from osgeo import gdal
bag = gdal.OpenShared(r"C:\DATA\NGDC\H11555_2m_1.bag")
bagmetadata = bag.GetMetadata("xml:BAG")[0]发布于 2011-11-02 11:37:25
数据存储为5097个单字符字符串(STRSIZE 1)的数组。要转储文本,应该将其存储为实际字符串(例如,在标量数据空间中)。
因此,我认为您不能单独使用h5dump,您可能需要使用sed或您最喜欢的regexp工具来处理转储。
https://stackoverflow.com/questions/7966747
复制相似问题