Как вставить значение переменной в строку JSON для использования с PDAL - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь использовать расширение Python для PDAL для чтения в файле laz.

Для этого я использую простую структуру конвейера, как показано здесь: https://gis.stackexchange.com/questions/303334/accessing-raw-data-from-laz-file-in-python-with-open-source-software. Однако мне было бы полезно вставить значение, содержащееся в переменной для имени файла:"поле.Для этого я попробовал следующее, где fullFileName - это переменная str, содержащая имя (полный путь) файла, но я получаю сообщение об ошибке, что такого файла не существует.Я предполагаю, что мой синтаксис JSON немного выключен или что-то;кто-нибудь может помочь?

    pipeline="""{
    "pipeline": [
            {
                    "type": "readers.las",
                    "filename": "{fullFileName}"
                    }
            ]
    }"""

1 Ответ

0 голосов
/ 15 мая 2019

Вы можете следовать этому коду:

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