问题标签 [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.

0 投票
0 回答
102 浏览

python - ndarray 条件选择内存不足

我读过 python 能够使用机器上可用的全部物理内存,因此在实际填满我笔记本电脑的所有可用 9+GB 之前,它不应该耗尽内存。

但是,使用 laspy 解析一个 10M 的点云(200MB)并以以下方式选择点会产生内存不足的错误:

最后一个条件选择触发内存错误。实际上满足第一个条件的点有2M,总共有10M个点,所以8M点应该满足第二个条件。

如果我将 upper_points 更改为普通列表(as:[] )并 .append 每个 z 大于 1 的点,它就可以正常工作。

8M 点应该是大约 200MB 或更多,所以我不太明白这个问题。我错过了什么?

0 投票
1 回答
539 浏览

python - 检测numpy数组中的树高和树冠宽度

我有一个 3D-LiDAR pointcoud 表示使用 laspy 包加载到 python 中的树。它现在存储为一个 numpy 数组。我的目的是通过找到具有最高 z 值的点来计算树的高度,并计算到其下方最低 z 值的距离。所以我通过以下方式导入数据:

目前,我通过以下方式计算高度:

问题是这样,我没有考虑地形的坡度。我如何索引恰好低于最高点的点?

0 投票
1 回答
97 浏览

python - 查找落在另一个 ndarray 内的 ndarray 的点

arr用模块创建了一个 NumPy 结构化数组(称为 )arcpy

数组看起来像(仅显示第一行):

它表示取自'MPtest'ArcGIS 中构建的 3d 对象 ( ) 的顶点的 XYZ 坐标(multipatch几何)。

我有另一个 NumPy 数组(通过使用模块读取.las文件生成laspy),名为point_cloud. 这个数组看起来像:

我希望能够获得point cloud属于arr. 这甚至可能吗?

我一直在尝试使用诸如np.wherenp.intersect1dnp.logical_and和 finally之类的功能np.vstack,但到目前为止,我无法做到这一点。此外,我在 Python 方面有相当扎实的背景,但 NumPy 对我来说仍然是一种新的和非常复杂的东西(至少乍一看......)。

0 投票
2 回答
732 浏览

python - 对 laspy 创建的 numpy 数组进行排序

我知道这听起来像是一个简单的解决方案的简单问题,但我就是无法理解它。

的文档laspy有点稀疏,但到目前为止我做得很好。我认为这里的问题现在只是对 numpy 不够熟悉。

我想根据 GPS 时间对一个 numpy 数组进行排序。

这是我的立场:

我正在使用 laspy 附带的 sample.las 进行测试。

我试图做的是按 gps_time 列对数组进行排序。

给我

给我

要访问 gps_time 我可以运行

将“gps_time”替换为 9 会得到相同的结果。

现在,当我尝试对数据进行排序时,它实际上似乎并没有对任何内容进行排序:

该数组未排序并按原样打印出来,

结果 gps_time 被排序如下:

我在哪里错了?

0 投票
1 回答
488 浏览

python - 使用延迟加载将 LAZ 读取到 Dask 数据帧

操作 将多个 LAZ 点云文件读取到 Dask DataFrame。

问题 将 LAZ(压缩)解压缩为 LAS(未压缩)需要大量内存。Dask 创建的不同文件大小和多个进程会导致MemoryError's.

尝试

我尝试限制遵循指南的工人数量,但似乎不起作用。

问题 如何以非标准格式加载如此大量的数据?

例子

以下示例是我当前的实现。它每 5 个对所有输入文件进行分组,以限制最多 5 个并行解压缩进程。然后重新分区并写入 Parquet 以启用进一步处理。对我来说,这个实现似乎完全错过了 Dask 的重点。

0 投票
2 回答
656 浏览

python - TypeError:需要一个类似字节的对象,而不是'str',laspy

我是编程新手,想使用将 Las 文件转换为网格文件。一直报错

我知道fmt给出了一个字符串,所以我尝试fmt = '%1.2f'.encode()更改为二进制,但得到了同样的错误。

有人可以帮我整理一下。

0 投票
2 回答
3526 浏览

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?

0 投票
1 回答
757 浏览

python - 将索引附加到 laspy 文件 (.las)

我有两个文件,一个是 esri shapefile (.shp),另一个是点云 (.las)。

使用 laspy 和 shapefile 模块,我设法找到 .las 文件的哪些点属于 shapefile 的特定多边形。我现在想做的是添加一个索引号,以便在两个数据集之间进行识别。因此,例如,落在多边形 231 内的所有点都应该得到数字 231。

问题是,到目前为止,在编写 .las 文件时,我还无法将任何内容附加到点列表中。我正在尝试执行的代码如下:

我现在得到的错误是:AttributeError:'numpy.ndarray'对象没有属性'append'。我已经尝试了多种方法,包括 np.append ,但是对于如何将任何内容添加到 las 文件中,我真的很茫然。

任何帮助深表感谢!

0 投票
1 回答
547 浏览

python-3.x - 通过坐标在 LAS 文件中查找点

我正在尝试在 LAS 文件(激光雷达格式)中查找点:

现在我正在以非常缓慢的方式进行操作:

然后我调用它:

这当然需要一些时间,尤其是当文件中有很多点时。

有没有更好/更快的方法?coords是类型numpy.ndarray

0 投票
1 回答
648 浏览

python - 在python中使用liblas和laspy读取las文件的问题

我 pip 安装了 liblas,它安装得很好,但是,当我尝试导入 liblas 时,它会引发一个错误,显示在第一个错误中。

然后我 pip 安装了 laspy,它安装得很好,并尝试使用 laspy.file.File 从该文件中读取我的 las 文件,但它再次向我提出了一个错误,显示在第二个错误中