[Shapelib] Delete or hide Shape from Shapefile
Baas at speerit.nl
Tue May 12 09:49:52 EST 2009
> > Hello,
> > I'm looking for a way to remove or hide a shape in a shape file. I'm
> > using MapServer to draw it, so it needs to be supported by
> > too.
> > The PDF found on the shapelib page shows there's a shapetype 0 (Null
> > Shape), can't that somehow be used? Otherwise overwrite the style to
> > have a width of 0, something like that? I find it hard to
> believe that
> > ESRI apps rewrite the entire file when a single object is
> The normal approach to this is to call DBFMarkRecordDeleted()
> which flips
> the bit in the DBF file marking a record as deleted.
> However, I see no
> evidence that the MapServer native shapefile code checks the deleted
> marker so this isn't likely to help you with MapServer.
> I think replacing the shape with a SHPT_NULL shape is the next best
Thank you for your quick reply. I tried setting the shpType to
NullShape, but this somehow doesn't seem to affect MapServer... I
verified the results and my modified shapefile is indeed different than
the original, and after re-loading the shpType is still 0. Setting the
vertices coordinates to zero *DID* have a result.
Seems like the only way to somehow mark an item for deletion is to move
it to 0,0 and every now and then build a new shapefile with these shapes
If you have any other ideas, please let me know.
I'm happy at least the shapelib works in read/write mode. Thanks for all
your hard work.
More information about the Shapelib