You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取.vtp文件中AppendedData部分的Label标签内容?

提取VTP文件AppendedData中Label标签的方法

关键信息梳理

从你提供的VTP片段可知:

  • Label数据属于CellData下的DataArray,格式为appended,偏移量(offset)为0,数据类型是Float32,标签范围0-2
  • 文件使用vtkZLibDataCompressor压缩数据,AppendedData内容为base64编码格式

具体提取步骤

1. 提取base64编码内容

先把<AppendedData>标签内的字符串提取,去除多余空格:

_DwAAAACAAAAwawAANAAAADQA

2. 解码并解压数据

用Python完成base64解码和zlib解压:

import base64
import zlib

# 提取的base64字符串
base64_content = "_DwAAAACAAAAwawAANAAAADQA"
# 解码base64得到压缩二进制数据
compressed_bin = base64.b64decode(base64_content)
# 解压zlib压缩数据
decompressed_bin = zlib.decompress(compressed_bin)

3. 解析Label标签

Label对应解压后数据的起始部分,共NumberOfPolys=121548个单元(每个单元对应一个Float32类型标签):

import struct

# 计算标签总字节数:121548个Float32 × 4字节/个
label_byte_length = 121548 * 4
# 截取Label对应的二进制片段
label_bin = decompressed_bin[:label_byte_length]
# 解析为Float32数组
labels = struct.unpack(f"{121548}f", label_bin)
# 解析后的labels数组可直接用于模型训练

注意点

  • 若zlib解压报错,可尝试跳过前4字节(vtk压缩数据可能包含长度头部)后再解压
  • 验证解压后总字节数:需匹配所有AppendedData的总数据长度(各DataArray的offset+对应数据字节数之和)

内容的提问来源于stack exchange,提问作者lyb92nlf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 20:21:42