python-3.x - 如何在 Mac 上安装 python pdal?
问题描述
我正在我的新 Mac 上安装 python pdal。这台 Mac 运行 python 3.6 并且已经安装了 anaconda。在尝试使用 pdal 文档推荐的命令行“pip install pdal”安装 pdal 时,我收到错误消息: 没有这样的文件或目录:'pdal-config':'pdal-config'
然后我尝试在 Anaconda 中建立一个新环境并下载论坛用户建议的 pdal。所以我使用了命令“conda create -n pdalenv -c conda-forge python-pdal”。一切顺利,可以在 Jupyter notebook 中导入 pdal。但是,我在使用 pdal 处理 LAS 文件时收到错误消息: RuntimeError: filters.smrf: No return to process。
事实上,我有另一台正确安装 pdal 的旧电脑,运行 python 代码时没有出现错误。
我见过其他人建议使用 brew install 来处理它,但我还没有尝试过。我不想让我的电脑环境一团糟。
所以我只是在这里等着看是否有人有一个好主意来处理它。或者有人可以告诉我如何正确地做到这一点?蟒蛇代码是:
pip = json.dumps(
{
"pipeline": [
"../data/p2.las",
{
"type":"filters.smrf"
},
{
"type":"filters.hag"
},
{ "type":"filters.eigenvalues",
"knn":16},
{ "type":"filters.normal",
"knn":16}
]})
pipeline = pdal.Pipeline(pip)
pipeline.validate()
p = pipeline.execute()
解决方案
您应该查看输入点云中的返回信息。SMRF 的默认行为是处理最后一个 (ReturnNumber == NumberOfReturns > 1) 并且仅 (NumberOfReturns == 1) 返回。如果它没有发现符合这些标准的点,那么它就没有什么要处理的了。
您可以"returns":"first,last,intermediate,only"
在舞台上作为附加选项传递,filters.smrf
以指示它处理所有点。
推荐阅读
- javascript - nuxt.js 中反应性的奇怪问题
- swift - 使用集群缩小时,mkmapView 变得非常慢
- python-3.x - 如何在演示文稿中共享交互式 pyplot 图表 [已解决]
- ios - 为什么从搜索栏退出键盘后会留下 UIToolbar?
- python - 打印一个 Python 数组,每个元素保留 12 位小数
- twitter-bootstrap - Bootstrap SCSS: $color: theme-color("primary") 不是颜色
- typescript - 如何在 NGRX 中创建非记忆选择器。不想要以前的数据
- r - 当第 2 列达到每个组中的最大值时,如何添加新列以从第 1 列中提取数字/字符?
- java - 在新版本中实现 'com.android.support:design:29.0.3'
- javascript - 如何在一段时间后停止 setInterval