使用PDAL的filters.crop结合Shapefile多边形裁剪点云时语法报错求助
问题:如何使用Shapefile中的多边形,通过PDAL的filters.crop来裁剪点云?
我尝试了以下语法:
[ "input.laz", { "type":"filters.crop", { "type":"ogr", "datasource": "Buffers.shp", "drivers":"ESRI Shapefile" } }, [...] ]
但出现语法错误:
PDAL: Pipeline: parse error at line 5, column 3: syntax error while parsing object key - unexpected '{'; expected string literal
第5行是"type":"filters.crop"行之后的开头{。我未找到相关示例,文档仅提及"ogr"是JSON对象,无法确定正确编写格式,恳请帮助!
你的JSON语法错误在于filters.crop对象内部直接嵌套OGR对象却缺少对应键名,同时存在参数名拼写错误。PDAL的filters.crop要求将OGR几何配置放在polygon字段下,正确的管道格式如下:
[ "input.laz", { "type": "filters.crop", "polygon": { "type": "ogr", "datasource": "Buffers.shp", "driver": "ESRI Shapefile" } }, "output_cropped.laz" ]
核心修正点:
- 用
polygon作为键名,将OGR配置对象作为其值,解决JSON结构解析错误 - 将原配置中的
drivers改为driver(单数形式),匹配PDAL的参数命名规范
修改后PDAL即可正确读取Shapefile中的多边形,完成点云裁剪操作。
内容的提问来源于stack exchange,提问作者roland
相关产品推荐
相关产品推荐

