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

BinaryParser()

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