问题标签 [laspy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - ndarray 条件选择内存不足
我读过 python 能够使用机器上可用的全部物理内存,因此在实际填满我笔记本电脑的所有可用 9+GB 之前,它不应该耗尽内存。
但是,使用 laspy 解析一个 10M 的点云(200MB)并以以下方式选择点会产生内存不足的错误:
最后一个条件选择触发内存错误。实际上满足第一个条件的点有2M,总共有10M个点,所以8M点应该满足第二个条件。
如果我将 upper_points 更改为普通列表(as:[] )并 .append 每个 z 大于 1 的点,它就可以正常工作。
8M 点应该是大约 200MB 或更多,所以我不太明白这个问题。我错过了什么?
python - 检测numpy数组中的树高和树冠宽度
我有一个 3D-LiDAR pointcoud 表示使用 laspy 包加载到 python 中的树。它现在存储为一个 numpy 数组。我的目的是通过找到具有最高 z 值的点来计算树的高度,并计算到其下方最低 z 值的距离。所以我通过以下方式导入数据:
目前,我通过以下方式计算高度:
问题是这样,我没有考虑地形的坡度。我如何索引恰好低于最高点的点?
python - 查找落在另一个 ndarray 内的 ndarray 的点
我arr
用模块创建了一个 NumPy 结构化数组(称为 )arcpy
:
数组看起来像(仅显示第一行):
它表示取自'MPtest'
ArcGIS 中构建的 3d 对象 ( ) 的顶点的 XYZ 坐标(multipatch
几何)。
我有另一个 NumPy 数组(通过使用模块读取.las
文件生成laspy
),名为point_cloud
. 这个数组看起来像:
我希望能够获得point cloud
属于arr
. 这甚至可能吗?
我一直在尝试使用诸如np.where
、np.intersect1d
、np.logical_and
和 finally之类的功能np.vstack
,但到目前为止,我无法做到这一点。此外,我在 Python 方面有相当扎实的背景,但 NumPy 对我来说仍然是一种新的和非常复杂的东西(至少乍一看......)。
python - 对 laspy 创建的 numpy 数组进行排序
我知道这听起来像是一个简单的解决方案的简单问题,但我就是无法理解它。
的文档laspy
有点稀疏,但到目前为止我做得很好。我认为这里的问题现在只是对 numpy 不够熟悉。
我想根据 GPS 时间对一个 numpy 数组进行排序。
这是我的立场:
我正在使用 laspy 附带的 sample.las 进行测试。
我试图做的是按 gps_time 列对数组进行排序。
给我
和
给我
要访问 gps_time 我可以运行
将“gps_time”替换为 9 会得到相同的结果。
现在,当我尝试对数据进行排序时,它实际上似乎并没有对任何内容进行排序:
该数组未排序并按原样打印出来,
结果 gps_time 被排序如下:
我在哪里错了?
python - 使用延迟加载将 LAZ 读取到 Dask 数据帧
操作 将多个 LAZ 点云文件读取到 Dask DataFrame。
问题
将 LAZ(压缩)解压缩为 LAS(未压缩)需要大量内存。Dask 创建的不同文件大小和多个进程会导致MemoryError
's.
尝试
我尝试限制遵循指南的工人数量,但似乎不起作用。
问题 如何以非标准格式加载如此大量的数据?
例子
以下示例是我当前的实现。它每 5 个对所有输入文件进行分组,以限制最多 5 个并行解压缩进程。然后重新分区并写入 Parquet 以启用进一步处理。对我来说,这个实现似乎完全错过了 Dask 的重点。
python - TypeError:需要一个类似字节的对象,而不是'str',laspy
我是编程新手,想使用laspy将 Las 文件转换为网格文件。一直报错
我知道fmt
给出了一个字符串,所以我尝试fmt = '%1.2f'.encode()
更改为二进制,但得到了同样的错误。
有人可以帮我整理一下。
python - laspy cannot find laszip when is installed from source. laszip is in path
I am working on a HPC environment and do not have root access. I installed laszip from source.
Install laszip from source
Make files in the build directory.
Add paths
Make sure it works locally
Go to a new directory to test linking
Test from python
How can I tell laspy where to look for laszip? Is this a pythonpath issue?
python - 将索引附加到 laspy 文件 (.las)
我有两个文件,一个是 esri shapefile (.shp),另一个是点云 (.las)。
使用 laspy 和 shapefile 模块,我设法找到 .las 文件的哪些点属于 shapefile 的特定多边形。我现在想做的是添加一个索引号,以便在两个数据集之间进行识别。因此,例如,落在多边形 231 内的所有点都应该得到数字 231。
问题是,到目前为止,在编写 .las 文件时,我还无法将任何内容附加到点列表中。我正在尝试执行的代码如下:
我现在得到的错误是:AttributeError:'numpy.ndarray'对象没有属性'append'。我已经尝试了多种方法,包括 np.append ,但是对于如何将任何内容添加到 las 文件中,我真的很茫然。
任何帮助深表感谢!
python-3.x - 通过坐标在 LAS 文件中查找点
我正在尝试在 LAS 文件(激光雷达格式)中查找点:
现在我正在以非常缓慢的方式进行操作:
然后我调用它:
这当然需要一些时间,尤其是当文件中有很多点时。
有没有更好/更快的方法?coords
是类型numpy.ndarray
python - 在python中使用liblas和laspy读取las文件的问题
我 pip 安装了 liblas,它安装得很好,但是,当我尝试导入 liblas 时,它会引发一个错误,显示在第一个错误中。
然后我 pip 安装了 laspy,它安装得很好,并尝试使用 laspy.file.File 从该文件中读取我的 las 文件,但它再次向我提出了一个错误,显示在第二个错误中