Я использую GDALRasterizeLayers для растеризации сети рек и озер. Когда я использую опцию ALL_TOUCHED, каждый пиксель прожигается. Но с опцией ATTRIBUTE (для записи идентификатора каждой функции) некоторые пиксели реки отсутствуют. Я пытаюсь использовать оба варианта, но это дало мне тот же результат, что и 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);
Можно ли использовать оба варианта? Благодарю.
(извините за мой плохой английский, я французский канадец)
Задача ещё не решена.
Других решений пока нет …