<div dir="ltr"><div class="gmail_extra">all, <br></div><div class="gmail_extra"><br></div><div class="gmail_extra">If
 i want to update every time the layer every time how can it be done? I 
want to do undo redo operations on adding and deleting features .<br><br></div><div class="gmail_extra">thanks,<br></div>hema</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 16, 2015 at 2:47 PM, Even Rouault <span dir="ltr"><<a href="mailto:even.rouault@spatialys.com" target="_blank">even.rouault@spatialys.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Le lundi 16 février 2015 10:07:35, Hema Yeedunuri a écrit :<br>
<span class="">> hi all,<br>
><br>
> I am trying to delete feature from shape layer using feature id.the feature<br>
> id is deleted when deleted in order descending order.When trying to delete<br>
> randomly it is giving error message<br>
<br>
</span>Hema,<br>
<br>
REPACK will remove destroyed features, so it will modify the feature ids of<br>
the features after the deleted one(s). This might explain that you get<br>
failures if you REPACK after each deletion (wich will be inefficient, you should<br>
do it just after having deleted all features) if you've determined the feature<br>
ids before.<br>
Note: the below code is more complicated than necessary: you just need to call<br>
DeleteFeature(actualIndex), no need to NULLify its geometry before.<br>
<br>
Even<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
> if i delete fid = 1, the below error is shown.<br>
><br>
> ERROR 1: Attempt to read shape with feature id (2) out of available range.<br>
><br>
> this is what i am doing<br>
><br>
>  OGRFeature *delFeatur = poLayer->GetFeature(actualIndex);<br>
><br>
>  delFeatur->SetGeometryDirectly(NULL);<br>
>   poLayer->SetFeature(delFeatur);<br>
>   poLayer->DeleteFeature(actualIndex);<br>
><br>
>   OGRFeature::DestroyFeature( delFeatur );<br>
><br>
>  QString sql = QString( "REPACK %1" ).arg( poLayer->GetName() );<br>
>  reader->ExecuteSQL(sql.toLatin1().data(),NULL,NULL);<br>
><br>
> poLayer->SyncToDisk();<br>
><br>
> reader->SyncToDisk();<br>
><br>
><br>
><br>
> thanks,<br>
><br>
> hema<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Spatialys - Geospatial professional services<br>
<a href="http://www.spatialys.com" target="_blank">http://www.spatialys.com</a><br>
</font></span></blockquote></div><br></div>