Как установить 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
этап, чтобы проинструктировать его для обработки всех точек.