【问题标题】:How to install python pdal on Mac?如何在 Mac 上安装 python pdal?
【发布时间】:2019-05-28 07:41:39
【问题描述】:

我正在我的新 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 来处理它,但我还没有尝试过。我不想让我的电脑环境一团糟。

所以我只是在这里等待,看看是否有人有处理它的好主意。或者有人可以告诉我如何正确地做到这一点? python代码为:

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()

【问题讨论】:

  • 您能发布conda infoconda list 的输出吗?这将有助于为 conda 尝试提供答案。

标签: python-3.x point-clouds pdal las


【解决方案1】:

您应该查看输入点云中的返回信息。 SMRF 的默认行为是处理最后一个 (ReturnNumber == NumberOfReturns > 1) 并且仅 (NumberOfReturns == 1) 返回。如果它没有找到满足这些标准的点,那么它就没有什么要处理的了。

您可以将"returns":"first,last,intermediate,only" 作为filters.smrf 阶段的附加选项传递,以指示它处理所有点。

【讨论】:

  • 是的,我已经考虑过这个问题。但这看起来很奇怪,因为我的旧电脑可以流畅地工作,而新的 mac 没有任何返回,输入的 las 数据和 python 程序相同。
  • 我怀疑您在两个实例之间运行不同版本的 PDAL。如果您可以提供工作和非工作实例的更多详细信息(例如,pdal --versionconda list),它可以帮助我们进一步排除故障。
【解决方案2】:

最后,我通过将旧 Mac 克隆到新 Mac 解决了我的问题。无论如何,我可以在我的新 Mac 上工作,并且可以导入 PDAL 包并且运行顺利。

感谢所有查看我的问题并做出回应的人。

最好, 赵云

【讨论】:

    猜你喜欢
    • 2019-11-16
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 2014-06-14
    • 2016-04-09
    • 2013-07-30
    • 2014-01-09
    相关资源
    最近更新 更多