<br><font size=2 face="sans-serif">ESRI does, in fact, state that the organization
of the 100-byte header in the index file is identical to the main file
header -- presumably this means the contents are identical, as well; although
that is not stated explicitly.  This raises the obvious question then:
 what is the history of your shapefile?  What might have caused
its shx header to become different from its shp header?</font>
<br>
<br><font size=2 face="sans-serif">Dave Gancarz</font>
<br>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>Stephane Routelous <route@CAE.COM></b>
</font>
<br><font size=1 face="sans-serif">Sent by: shapelib-bounces@lists.maptools.org</font>
<p><font size=1 face="sans-serif">05/19/2004 02:53 PM</font>
<table border>
<tr valign=top>
<td bgcolor=white>
<div align=center><font size=1 face="sans-serif">Please respond to<br>
Shapelib Development <shapelib@lists.maptools.org></font></div></table>
<br>
<td width=59%>
<table width=100%>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td valign=top><font size=1 face="sans-serif">"'Frank Warmerdam'"
<warmerdam@pobox.com>, Shapelib Development <shapelib@lists.maptools.org></font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td valign=top>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td valign=top><font size=1 face="sans-serif">RE: [Shapelib] possible bug
when reading the boundaries ?</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2><tt>Hi Frank,<br>
<br>
Yes, I have a shape file where your code give me wrong results for the<br>
boundaries (<br>
xmin == ymin == 999999999<br>
xmax == ymax == -999999999 ) where min > max<br>
<br>
If you want, I can send you the files.<br>
<br>
what about <br>
if ( boundaries in shx are not valid )<br>
 readBoundariesFronShp();<br>
 ?<br>
<br>
Stephane Routelous<br>
http://www.exotk.org<br>
<br>
<br>
<br>
<br>
<br>
-----Original Message-----<br>
From: Frank Warmerdam [mailto:warmerdam@pobox.com]<br>
Sent: Wednesday, May 19, 2004 12:42 PM<br>
To: Shapelib Development; route@cae.com<br>
Subject: Re: [Shapelib] possible bug when reading the boundaries ?<br>
<br>
<br>
Stephane Routelous wrote:<br>
> Hi,<br>
> <br>
> I'm investigating using ShapeLib instead of our own library because
of<br>
> performace issues.<br>
> <br>
> I think I found a bug in the code for reading the bounds of a shape
file<br>
in<br>
> SHPOpen<br>
> at line 448, you have :<br>
>     fread( pabyBuf, 100, 1, psSHP->fpSHX );<br>
> meaning that you are reading informations from the shx file.<br>
> <br>
> But after, you are reading the bounds with :<br>
>     if( bBigEndian ) SwapWord( 8, pabyBuf+36 ); //line 480<br>
>     memcpy( &dValue, pabyBuf+36, 8 );<br>
>     psSHP->adBoundsMin[0] = dValue;<br>
> <br>
> it means that the bounds are read from the SHX file, but according
to the<br>
> specifications, the bounds are in the SHP file.<br>
> So, I think you should move the reading of the boundaries before the
line<br>
> 448.<br>
<br>
Stephane,<br>
<br>
Generally speaking the first 100 byte header of the SHP and SHX files are<br>
the same.  One could argue about which should be consider "more<br>
authoritative"<br>
if they differ but I haven't really run into a problem with this so I am
not<br>
inclined to change it for hypothetical reasons.<br>
<br>
Have you actually encountered a problem with this code?<br>
<br>
Best regards,<br>
-- <br>
---------------------------------------+------------------------------------<br>
--<br>
I set the clouds in motion - turn up   | Frank Warmerdam,<br>
warmerdam@pobox.com<br>
light and sound - activate the windows | http://pobox.com/~warmerdam<br>
and watch the world go round - Rush    | Geospatial Programmer
for Rent<br>
_______________________________________________<br>
Shapelib mailing list<br>
Shapelib@lists.maptools.org<br>
http://lists.maptools.org/mailman/listinfo/shapelib<br>
</tt></font>
<br>