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);
両方のオプションを使用することは可能ですか? ありがとう。
(下手な英語でごめんなさい、私はフランス系カナダ人です)