## com.vividsolutions.jts.io
Class WKBWriter

    java.lang.Object
      com.vividsolutions.jts.io.WKBWriter

public class WKBWriter
extends java.lang.Object

Writes a `Geometry` into Well-Known Binary format. Supports use of an `OutStream`, which allows easy use with arbitary byte stream sinks.

The WKB format is specified in the OGC Simple Features for SQL specification. This implementation supports the extended WKB standard for representing 3-dimensional coordinates. The presence of 3D coordinates is signified by setting the high bit of the wkbType word.

Empty Points cannot be represented in WKB; an `IllegalArgumentException` will be thrown if one is written. The WKB specification does not support representing `LinearRing`s; they will be written as `LineString`s.

This class is designed to support reuse of a single instance to read multiple geometries. This class is not thread-safe; each thread should create its own instance.

See Also:
  `WKBReader`

Constructor Summary
`WKBWriter()` Creates a writer that writes `Geometry`s with output dimension = 2 and BIG_ENDIAN byte order
`WKBWriter(int outputDimension)` Creates a writer that writes `Geometry`s with the given output dimension (2 or 3) and BIG_ENDIAN byte order
`WKBWriter(int outputDimension, int byteOrder)` Creates a writer that writes `Geometry`s with the given output dimension (2 or 3) and byte order

Method Summary
`static java.lang.String` `bytesToHex(byte[] bytes)`
`byte[]` `write(Geometry geom)` Writes a `Geometry` into a byte array.
`void` `write(Geometry geom, OutStream os)` Writes a `Geometry` to an `OutStream`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### WKBWriter

    public WKBWriter()

  Creates a writer that writes `Geometry`s with output dimension = 2 and BIG_ENDIAN byte order

### WKBWriter

    public WKBWriter(int outputDimension)

  Creates a writer that writes `Geometry`s with the given output dimension (2 or 3) and BIG_ENDIAN byte order

Parameters:
  `outputDimension` - the dimension to output (2 or 3)

### WKBWriter

    public WKBWriter(int outputDimension,
                     int byteOrder)

  Creates a writer that writes `Geometry`s with the given output dimension (2 or 3) and byte order

Parameters:
  `outputDimension` - the dimension to output (2 or 3)
  `byteOrder` - the byte ordering to use

Method Detail

### bytesToHex

    public static java.lang.String bytesToHex(byte[] bytes)

### write

    public byte[] write(Geometry geom)

  Writes a `Geometry` into a byte array.

  Parameters:
    `geom` - the geometry to write
  Returns:
    the byte array containing the WKB

### write

    public void write(Geometry geom,
                      OutStream os)
               throws java.io.IOException

  Writes a `Geometry` to an `OutStream`.

  Parameters:
    `geom` - the geometry to write
    `os` - the out stream to write to
  Throws:
    `java.io.IOException` - if an I/O error occurs