1

GDALRasterizeLayers を使用して、川と湖のネットワークをラスタライズしています。ALL_TOUCHED オプションを使用すると、すべてのピクセルが焼き付きます。ただし、ATTRIBUTE オプション (各フィーチャの ID を焼き付ける) を使用すると、川の一部のピクセルが失われます。両方のオプションを使用しようとしましたが、ATTRIBUTE と同じ結果になりました。

vector<OGRLayer*> layers;
layers.push_back(rivieres_datasource->GetLayer(0));
layers.push_back(lacs_datasource->GetLayer(0));

char** options = nullptr;

options = CSLSetNameValue(options, "ALL_TOUCHED", "TRUE");
options = CSLSetNameValue(options, "ATTRIBUTE", "ID");

GDALRasterizeLayers(dst_dataset, 1, &band_list[0], 2, (OGRLayerH*)&layers[0], NULL, NULL, NULL, options, NULL, NULL);

CSLDestroy(options);

両方のオプションを使用することは可能ですか? ありがとう。

(下手な英語でごめんなさい、私はフランス系カナダ人です)

4

0 に答える 0