/** * @see #writeSignedVarLong(long, DataOutput) */ public static void writeSignedVarInt(int value, DataOutput out) throws IOException { // Great trick from http://code.google.com/apis/protocolbuffers/docs/encoding.html#types writeUnsignedVarInt((value << 1) ^ (value >> 31), out); }
public static byte[] writeSignedVarInt(int value) { // Great trick from http://code.google.com/apis/protocolbuffers/docs/encoding.html#types return writeUnsignedVarInt((value << 1) ^ (value >> 31)); }
Varint.writeUnsignedVarInt(p, dos); Varint.writeUnsignedVarInt(sp, dos); if (format == Format.SPARSE) { mergeTempList(); Varint.writeUnsignedVarInt(0, dos); Varint.writeUnsignedVarInt(registerSet.size * 4, dos); for (int x : registerSet.readOnlyBits()) { dos.writeInt(x); Varint.writeUnsignedVarInt(1, dos); Varint.writeUnsignedVarInt(sparseSet.length, dos); int prevMergedDelta = 0; for (int k : sparseSet) { Varint.writeUnsignedVarInt(k - prevMergedDelta, dos); prevMergedDelta = k;
sparseBytes.add(Varint.writeUnsignedVarInt(k - prevDelta)); prevDelta = k;
/** * @see #writeSignedVarLong(long, DataOutput) */ public static void writeSignedVarInt(int value, DataOutput out) throws IOException { // Great trick from http://code.google.com/apis/protocolbuffers/docs/encoding.html#types writeUnsignedVarInt((value << 1) ^ (value >> 31), out); }
public static byte[] writeSignedVarInt(int value) { // Great trick from http://code.google.com/apis/protocolbuffers/docs/encoding.html#types return writeUnsignedVarInt((value << 1) ^ (value >> 31)); }
Varint.writeUnsignedVarInt(p, dos); Varint.writeUnsignedVarInt(sp, dos); if (format == Format.SPARSE) { mergeTempList(); Varint.writeUnsignedVarInt(0, dos); Varint.writeUnsignedVarInt(registerSet.size * 4, dos); for (int x : registerSet.readOnlyBits()) { dos.writeInt(x); Varint.writeUnsignedVarInt(1, dos); Varint.writeUnsignedVarInt(sparseSet.length, dos); int prevMergedDelta = 0; for (int k : sparseSet) { Varint.writeUnsignedVarInt(k - prevMergedDelta, dos); prevMergedDelta = k;
Varint.writeUnsignedVarInt(p, dos); Varint.writeUnsignedVarInt(sp, dos); if (format == Format.SPARSE) { mergeTempList(); Varint.writeUnsignedVarInt(0, dos); Varint.writeUnsignedVarInt(registerSet.size * 4, dos); for (int x : registerSet.readOnlyBits()) { dos.writeInt(x); Varint.writeUnsignedVarInt(1, dos); Varint.writeUnsignedVarInt(sparseSet.length, dos); int prevMergedDelta = 0; for (int k : sparseSet) { Varint.writeUnsignedVarInt(k - prevMergedDelta, dos); prevMergedDelta = k;
@Override public void write(final DataOutput output) throws IOException { final byte[] rasterTileBinary = rasterTile.toBinary(); Varint.writeUnsignedVarInt(rasterTileBinary.length, output); output.write(rasterTileBinary); output.writeDouble(minX); output.writeDouble(maxX); output.writeDouble(minY); output.writeDouble(maxY); String crsStr = crs == null || GeometryUtils.getDefaultCRS().equals(crs) ? "" : CRS.toSRS(crs); Varint.writeUnsignedVarInt(crsStr.length(), output); output.write(StringUtils.stringToBinary(crsStr)); } }
public void writePointArray(Coordinate[] coordinates, DataOutput output) throws IOException { long lastX = 0; long lastY = 0; Varint.writeUnsignedVarInt(coordinates.length, output); for (Coordinate c : coordinates) { long x = Math.round(c.getX() * precisionMultiplier); long y = Math.round(c.getY() * precisionMultiplier); Varint.writeSignedVarLong(x - lastX, output); Varint.writeSignedVarLong(y - lastY, output); lastX = x; lastY = y; } } }
final TWKBWriter writer = new TWKBWriter(); final byte[] buffer = writer.write((Geometry) value); Varint.writeUnsignedVarInt(buffer.length, output); output.write(buffer); } else { oos.flush(); final byte[] bytes = bos.toByteArray(); Varint.writeUnsignedVarInt(bytes.length, output); output.write(bytes);
private void writeGeometryCollection( GeometryCollection geoms, PrecisionWriter precision, DataOutput output) throws IOException { Varint.writeUnsignedVarInt(geoms.getNumGeometries(), output); for (int i = 0; i < geoms.getNumGeometries(); i++) { Geometry geom = geoms.getGeometryN(i); write(geom, output); } }
@Override public void writePointArray(Coordinate[] coordinates, DataOutput output) throws IOException { long lastX = 0; long lastY = 0; long lastZ = 0; long lastM = 0; Varint.writeUnsignedVarInt(coordinates.length, output); for (Coordinate c : coordinates) { long x = Math.round(c.getX() * precisionMultiplier); long y = Math.round(c.getY() * precisionMultiplier); Varint.writeSignedVarLong(x - lastX, output); Varint.writeSignedVarLong(y - lastY, output); lastX = x; lastY = y; if (hasZ) { long z = Math.round(c.getZ() * zPrecisionMultiplier); Varint.writeSignedVarLong(z - lastZ, output); lastZ = z; } if (hasM) { long m = Math.round(c.getZ() * mPrecisionMultiplier); Varint.writeSignedVarLong(m - lastM, output); lastM = m; } } } }
private void writeMultiPolygon( MultiPolygon multiPolygon, PrecisionWriter precision, DataOutput output) throws IOException { Varint.writeUnsignedVarInt(multiPolygon.getNumGeometries(), output); for (int i = 0; i < multiPolygon.getNumGeometries(); i++) { Polygon polygon = (Polygon) multiPolygon.getGeometryN(i); if (polygon.isEmpty()) { Varint.writeUnsignedVarInt(0, output); continue; } Varint.writeUnsignedVarInt(polygon.getNumInteriorRing() + 1, output); precision.writePointArray(polygon.getExteriorRing().getCoordinates(), output); for (int j = 0; j < polygon.getNumInteriorRing(); j++) { precision.writePointArray(polygon.getInteriorRingN(j).getCoordinates(), output); } } }
private void writeMultiLineString( MultiLineString multiLine, PrecisionWriter precision, DataOutput output) throws IOException { Varint.writeUnsignedVarInt(multiLine.getNumGeometries(), output); for (int i = 0; i < multiLine.getNumGeometries(); i++) { precision.writePointArray(multiLine.getGeometryN(i).getCoordinates(), output); } }
private void writePolygon(Polygon polygon, PrecisionWriter precision, DataOutput output) throws IOException { Varint.writeUnsignedVarInt(polygon.getNumInteriorRing() + 1, output); precision.writePointArray(polygon.getExteriorRing().getCoordinates(), output); for (int i = 0; i < polygon.getNumInteriorRing(); i++) { precision.writePointArray(polygon.getInteriorRingN(i).getCoordinates(), output); } }
protected static void encodeRow( final ByteBufOutputStream out, final GeoWaveRedisPersistedRow row, final boolean visibilityEnabled) throws IOException { out.writeByte(row.getDataId().length); out.writeByte(row.getFieldMask().length); if (visibilityEnabled) { out.writeByte(row.getVisibility().length); } Varint.writeUnsignedVarInt(row.getValue().length, out); out.writeByte(row.getNumDuplicates()); out.write(row.getDataId()); out.write(row.getFieldMask()); if (visibilityEnabled) { out.write(row.getVisibility()); } out.write(row.getValue()); }