• laspy读取laz点云文件--TypeError: a bytes-like object is required, not 'FakeMmap'


    1.缘由

      在使用python结合laspy读取laz格式的点云的时候,突然发现之前正常运行的代码出现了错误。搜索后发现此问题,解答甚少,仅在GitHub对应laspy的issues下有解答,故而记录之。

    2.问题描述

      在运行下面代码时出错,具体错误为TypeError: a bytes-like object is required, not 'FakeMmap'。看大家的解释是说不适应numpy 1.17版本,可适应numpy 1.16,改后可行。

    inFile = File('C:/data/lidar.laz', mode='r')

    3.解决办法

      查看numpy版本,发现为1.17.4。

    import numpy
    numpy.__version__

      将numpy版本降到1.16.1。

    pip3 uninstall numpy
    pip3 install numpy==1.16.1
    

      正文已完!

      看Github上说,可修改报错指向的base.py的部分代码也可以实现,我试后均未成功(同样的改动方式,修改地方不同)。

      1)第一种改动

    143              _pmap = np.frombuffer(self._mmap, self.pointfmt,
    to 
    143              _pmap = np.frombuffer(self._mmap.__buffer__, self.pointfmt,

      2)第二种改动

    163              _pmap = np.frombuffer(self._mmap, self.pointfmt,
    to 
    163              _pmap = np.frombuffer(self._mmap.__buffer__, self.pointfmt,

    4.解决办法

    参考链接:https://github.com/laspy/laspy/issues/112

  • 相关阅读:
    维控PLC与电流变送器modbus通讯获取电流变送器数据
    openmv第一次调试
    电流变送器(互感器)
    物联网数据采集
    STM32编程环境配置(kile5)
    开发日记9
    开发日记8
    开发日记7
    开发日记6
    开发日记5
  • 原文地址:https://www.cnblogs.com/waterbbro/p/14039222.html
Copyright © 2020-2023  润新知