BinaryParser class
Parse binary representation of geometries.
It should be easy to add char[] and CharSequence ByteGetter instances, although the latter one is not compatible with older jdks.
I did not implement real unsigned 32-bit integers or emulate them with long, as both java Arrays and Strings currently can have only 2^31-1 elements (bytes), so we cannot even get or build Geometries with more than approx. 2^28 coordinates (8 bytes each).
@author {@literal Markus Schaber markus.schaber@logix-tt.com}
Constructors
Properties
- gf ↔ GeometryFactory
-
getter/setter pair
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
parse(
List< int> value) → Geometry - Parse a hex encoded geometry
-
parseCollection(
ValueGetter data) → GeometryCollection -
parseGeometry(
ValueGetter data) → Geometry - Parse a geometry starting at offset.
-
parseGeometryArrayWithGetInt(
ValueGetter data, List< Geometry> container) → void - Parse an Array of "full" Geometries */
-
parseLinearRing(
ValueGetter data, bool haveZ, bool haveM) → LinearRing -
parseLineString(
ValueGetter data, bool haveZ, bool haveM) → LineString -
parseMultiLineString(
ValueGetter data) → MultiLineString -
parseMultiPoint(
ValueGetter data) → MultiPoint -
parseMultiPolygon(
ValueGetter data) → MultiPolygon -
parsePoint(
ValueGetter data, bool haveZ, bool haveM) → Coordinate -
parsePointArray(
ValueGetter data, bool haveZ, bool haveM) → List< Coordinate> - Parse an Array of "slim" Points (without endianness and type, part of LinearRing and Linestring, but not MultiPoint!
-
parsePolygon(
ValueGetter data, bool haveZ, bool haveM) → Polygon -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- UNKNOWN_SRID → int
-
final
Static Methods
-
valueGetterForEndian(
ByteGetter bytes) → ValueGetter - Get the appropriate ValueGetter for my endianness