IShapeReader
Description
- Derived from
-
IDisposableGeneric<IShapeReader>
IShapeReaderInfo
IValidatable - Extended by
-
ShapeReader abstract
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 shape geo-reference is the same (see IEquatable.Equals of CoordinateSystem).
-
The shape metadata is the same (see IEquatable.Equals of IJsonValue).
-
The shape type is the same (see ShapeType). For ShapeType.Polygon, shape data will only be merged if ReadShapeFlags.HintMergePolygons has been specified.
-
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.
Public / Methods
Modifier
Specifies a IShapeReader object to use for modifying the original shape data before building IShape objects.
Extensions
ReadAll
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.
- IOException
-
If an I/O error has occurred.
ReadList
Reads all remaining shapes and returns them as a list.
- IOException
-
If an I/O error has occurred.