Wikipedia, of all things, has the ESRI shape file spec:
http://en.wikipedia.org/wiki/Shapefile#Shapefile_shape_format_.28.shp.29
According to that there should be *four* values for POINTZ types -- not
three nor two.
So, try splicing in this code round line 448 and see if it gets you any joy:
else if (recordType == POINTZ)
{
Coordinate pt = new Coordinate(byteBuf.getDouble(),
byteBuf.getDouble(), byteBuf.getDouble());
// The next byte is the "measure" value which we don't
use;
// but read in anyway to check with debugger.
double measure = byteBuf.getDouble();
geom = geomFactory.createPoint(pt);
} // ... rest of else if block
You might have to update isSupported() to let it know that POINTZ types are
OK.
--
[log in to unmask]