diff --git a/src/vector-extractor/NativeLayer.cpp b/src/vector-extractor/NativeLayer.cpp index 4334fba..5941e3a 100644 --- a/src/vector-extractor/NativeLayer.cpp +++ b/src/vector-extractor/NativeLayer.cpp @@ -85,6 +85,8 @@ void NativeLayer::save_modified_layer(std::string path) { OGRErr error; + auto id_before = feature->GetFID(); + // First try updating the feature, then create it if unsuccessful error = out_layer->SetFeature(feature); @@ -92,6 +94,8 @@ void NativeLayer::save_modified_layer(std::string path) { error = out_layer->CreateFeature(feature); } + feature->SetFID(id_before); + if (error > 0) std::cout << "Error saving feature: " << error << std::endl; }