Как вставить значение переменной в строку JSON для использования с PDAL
Я пытаюсь использовать расширение Python для PDAL для чтения в файле laz.
Для этого я использую простую структуру конвейера, как показано здесь: https://gis.stackexchange.com/questions/303334/accessing-raw-data-from-laz-file-in-python-with-open-source-software. Однако для меня было бы полезно вставить значение, содержащееся в переменной, в поле "filename:". Для этого я попробовал следующее, где fullFileName - это переменная str, содержащая имя (полный путь) файла, но я получаю сообщение об ошибке, что такого файла не существует. Я предполагаю, что мой синтаксис JSON немного выключен или что-то; кто-нибудь может помочь?
pipeline="""{
"pipeline": [
{
"type": "readers.las",
"filename": "{fullFileName}"
}
]
}"""
1 ответ
Решение
Вы можете следовать этому коду:
import json
import pdal
file = "D:/Lidar data/input.laz"
pipeline={
"pipeline": [
{
"type": "readers.las",
"filename": file
},
{
"type": "filters.sort",
"dimension": "Z"
}
]
}
r = pdal.Pipeline(json.dumps(pipeline))
r.validate()
points = r.execute()
print(points)