Как установить python pdal на Mac?

Я устанавливаю python pdal на мой новый Mac. Этот Mac работает на Python 3.6, и Anaconda уже установлена. При попытке установить pdal с помощью командной строки "pip install pdal", которая рекомендована документацией pdal, я получил сообщение об ошибке msg: Нет такого файла или каталога: 'pdal-config': 'pdal-config'

Затем я пытаюсь создать новую среду в Anaconda и скачать pdal, что предложено пользователем форума. Поэтому я использовал команду "conda create -n pdalenv -c conda-forge python-pdal". Все идет хорошо и pdal можно импортировать в блокнот Jupyter. Тем не менее, я получил сообщение об ошибке при использовании pdal для обработки файла LAS:RuntimeError: filters.smrf: нет возврата к процессу.

На самом деле, у меня есть еще один старый компьютер, на котором правильно установлен 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()

2 ответа

Наконец, я решил свою проблему, клонировав старый Mac на мой новый Mac. В любом случае, я могу работать над моим новым Mac, а пакет PDAL можно импортировать и работает без сбоев.

Спасибо всем, кто просматривает мой вопрос и отвечает на него.

Best, YUN ZHAO

Вы должны взглянуть на возвращаемую информацию в вашем облаке точек ввода. Поведение SMRF по умолчанию заключается в обработке последних из многих (ReturnNumber == NumberOfReturns > 1) и только (NumberOfReturns == 1) возвратов. Если он не находит точек, соответствующих этим критериям, то ему нечего обрабатывать.

Вы могли бы пройти "returns":"first,last,intermediate,only" в качестве дополнительной опции на filters.smrf этап, чтобы проинструктировать его для обработки всех точек.

Другие вопросы по тегам