如何通过 class 获取多边形的比例

How to get proportions of polygons by class

我在 class 化我的图像以获得比例时遇到 2 个问题

1:我已经 class 将我的图像分成三个 classes (1,2,3),我正在尝试使用 pktools 中的 pkextractogr 来获取每个 class 使用矢量多边形。下面的代码将 运行 但只会输出 class 3 的比例。它将输出一个新文件,并且在属性 table 中会有一列 class 1 和class 2 但它们将是空白的。如果我尝试将它用于一个 class,则指定的 class 的输出将是 100% 或 0%。我已经尝试在命令行和 qgis 中执行此操作(使用 pktools 作为插件)。

2: 当我使用 qgis 时,ogr 告诉我数据源无效,但我不知道为什么,因为两个文件都在同一个投影中。

数据源无效

pkextractogr -i classified_image.tif -s polygon.shp -o classified_proportion.shp -polygon -r proportion -c 1 -c 2 -c 3

有人能解决这两个问题吗?我正在使用 fedora 26 和 qgis 2.18.14

我使用的 pktools 版本 2.8.7 有一个错误,我下载了 2.8.7.3 已经解决了问题