kiwi-postgis  Version 0.1.0.0
TWKBReader.PrecisionReader Class Reference
Inheritance diagram for TWKBReader.PrecisionReader:
Collaboration diagram for TWKBReader.PrecisionReader:

Public Member Functions

 PrecisionReader (final int precision)
 
Coordinate readPoint (final DataInput input) throws IOException
 
Coordinate [] readPointArray (final DataInput input) throws IOException
 

Protected Attributes

double precisionMultiplier
 

Constructor & Destructor Documentation

◆ PrecisionReader()

PrecisionReader ( final int  precision)
234  {
235  precisionMultiplier = Math.pow(10, precision);
236  }

Member Function Documentation

◆ readPoint()

Coordinate readPoint ( final DataInput  input) throws IOException
238  {
239  return new Coordinate(
240  (Varint.readSignedVarLong(input)) / precisionMultiplier,
241  (Varint.readSignedVarLong(input)) / precisionMultiplier);
242  }

◆ readPointArray()

Coordinate [] readPointArray ( final DataInput  input) throws IOException
244  {
245  final int numCoordinates = Varint.readUnsignedVarInt(input);
246  final Coordinate[] coordinates = new Coordinate[numCoordinates];
247  long lastX = 0;
248  long lastY = 0;
249  for (int i = 0; i < numCoordinates; i++) {
250  lastX = Varint.readSignedVarLong(input) + lastX;
251  lastY = Varint.readSignedVarLong(input) + lastY;
252  coordinates[i] =
253  new Coordinate((lastX) / precisionMultiplier, (lastY) / precisionMultiplier);
254  }
255  return coordinates;
256  }

Member Data Documentation

◆ precisionMultiplier

double precisionMultiplier
protected