Base interface for classes that read vector shapes.
After creating a IShapeReader object, individual shapes may be read sequentially by calling the ReadShape method. Before actually reading a shape, the following methods may be used to peek at the data of the next shape:
The SkipShape method may be used to skip the next shape, instead of reading it. The decision whether to read or skip a shape is usually made after peeking at the shape data.
A shape reader will merge subsequent compatible shape data into IShape objects. Shape data compatibility is defined as follows:
The set of custom shape values is the same (see ShapeValue).
When reading shape data, it is often the case that not all information is of interest. For example, only specific metadata information is required or some custom shape values are not needed. By specifying a modifier via Modifier, the shape reader can be told to modify the original shape data, before creating IShape objects. Merging of compatible shape data is performed on the modified shape data.
Reads the next shape.
Reads all remaining shapes and returns them in a single aggregated shape.
This method will use the geo-reference of the first shape to build a shape group if the reader returns two or more shapes.
Reads all remaining shapes and returns them as a a list.