<div dir="ltr">Also out of curiosity,<div>Are you willing to share the shapefile, preferably at least shp and dbf, but probably .shp alone will do and .prj helps for checking conversion results.</div><div>Also, to be sure, the expected number of rows is relevant so as not to call victory too soon.</div><div>Jan</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, May 16, 2023 at 1:41 PM Andrea Giudiceandrea via gdal-dev <<a href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Il 15/05/2023 15:34, Andrea Giudiceandrea ha scritto:<br>
> it seems to me ogr fails to properly create the .idx [EDIT: .shx] file: <br>
> it incorrectly stores, in the index file header, the total length in <br>
> 16-bit words of the .shp file instead of the total length in 16-bit <br>
> words of the .idx [EDIT: .shx] file itself.<br>
<br>
Looking at the code, SHPRestoreSHX initially copies the SHP header <br>
(including the SHP content length) to the SHX file and then it doesn't <br>
updates the SHX content length in the SHX header when an error occurred <br>
during the reading of the SHP file.<br>
<br>
I propose the PR <a href="https://github.com/OSGeo/gdal/pull/7774" rel="noreferrer" target="_blank">https://github.com/OSGeo/gdal/pull/7774</a> in order to <br>
update the SHX content length even if an error occurred.<br>
<br>
Maybe would it be better to let SHPRestoreSHX modify the SHX file (when <br>
already present) only at the end of the SHP reading procedure and only <br>
if no error occurred?<br>
<br>
Best regards.<br>
<br>
Andrea Giudiceandrea<br>
_______________________________________________<br>
gdal-dev mailing list<br>
<a href="mailto:gdal-dev@lists.osgeo.org" target="_blank">gdal-dev@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/gdal-dev" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a><br>
</blockquote></div>