我想知道为什么我的3D数据在加载到另一个软件后变成2D数据

时间:2017-01-16 05:11:27

标签: python python-2.7 paraview

我的档案> https://drive.google.com/open?id=0BzmZiSDoM7l3U2poYWNTbUhBWVU

问题在于我从一个名为Geomodeller的软件中获取了这些数据,并希望将其加载到另一个名为REDBACK的软件中。

在gemododeller中,我创建了一个3D立方体并用数据加载它(这个数据有像蛋糕一样的层),并且在REDBACK中,显示的数据只是2D中各层的交集。

我已阅读帖子Python base64 data decode

通过https://stackoverflow.com/users/194586/nick-t实施代码 我得到了:

dtgt=base64.b64decode(target)
format=">ff"
for i in range(100):
print struct.unpack_from(format,dtgt,8*i)

(2.350988701644575e-38,1.1754943508222875e-38) (1.7826336565709476e + 29,6.64613997892458e + 35) Traceback(最近一次调用最后一次):   文件“”,第2行,in 错误:unpack_from需要至少8字节的缓冲区

我可以帮忙解决这个问题吗?

我的主管认为问题在于附加的数据,因此他希望首先获取附加数据中的所有内容,然后进一步分析问题。

1 个答案:

答案 0 :(得分:1)

您文件中的附加数据似乎不是有效的Base64数据 - 除非可能在最后,否则应该没有等号。如果它真的应该由多个单独的编码数据块组成,那么你必须继续在连续的块上调用解码器,直到整个数据部分被处理完毕。 (你只获得两个数据点,因为你的解码器放弃了第一个" =="在文件中。)

基于文件头中的压缩器=" vtkZLibDataCompressor" ,数据可能采用压缩格式(这可以解释为什么您设法提取的两个数据点具有此类荒谬的大/小值)。希望Python的zlib模块与此压缩兼容。