<div dir="ltr">
<p class="MsoNormal" style="margin-bottom:12pt">Hello.<u></u><u></u></p><p class="MsoNormal">My
name is Jerry Faust, and I'm a recent contributor to MapWinGIS. We
provide GDAL/OGR layer support, and we use the embedded ShapeLib calls
to work with Shapefiles as our primary data source. Specifically, we
make direct DBF calls into dbfopen.c through gdal2xx.dll, bypassing the
OGRDatasource/OGRLayer wrappers.<br><br>We are looking to add support
for Date and Boolean field types, and while I had thought that perhaps I
could add support without having to change anything within ShapeLib or
OGR, alas, I could not. Inevitably, since the dates are stored as
Integers, having the 'N' field descriptor rather than the 'D' field
descriptor, our code had no way to determine that the field was a Date
as opposed to an Integer.<br clear="all"><u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal" style="margin-bottom:12pt">I
believe that the OGR constructs handle these issues through the OGR
Field Definition, but since we bypass those constructs, we get the data
back in a more 'raw' form. There are similar issues with the Logical
field type (not with ShapeLib, but with OGR).<u></u><u></u></p><p class="MsoNormal" style="margin-bottom:12pt">Interestingly,
is appears that ShapeLib is very close to supporting Dates altogether,
with various 'if' and 'switch' statements checking for the 'D'
descriptor. I presume this is because you have to be able to read
Shapefiles created externally, which would have the 'D' descriptor, but
you don't save them that way.<u></u><u></u></p><p class="MsoNormal" style="margin-bottom:12pt">I
have made minimal changes to ShapeLib files (Shapefil.h and dbfopen.c)
in an effort to add raw Date and Logical support, and had to make a
couple small changes to the OGR code as well (making sure that
Shapefiles saved through the modified ShapeLib are still readable with
OGR).<u></u><u></u></p><p class="MsoNormal" style="margin-bottom:12pt">I
would like to submit these changes for review, in hopes that something
along these lines could be integrated into the official release. I
acknowledge that there may be things I don't yet understand, and that
perhaps there are better ways to do what I have done, but it's a
starting point.<u></u><u></u></p><p class="MsoNormal" style="margin-bottom:12pt">How would I go about submitting these changes for consideration?</p><p class="MsoNormal">Thank you.<u></u><u></u></p><p class="MsoNormal"><br>Kind Regards.<br>Jerry Faust.</p>
<br></div>