protected final OutputStream getPrimaryOutputStream() {
    /*
     * the outputstream of the first writer must be closed by the archive and not the tile writer
     * since the primary stream can be used to send meta data, as well
     */
    return new CloseShieldOutputStream(primaryOutputStream);
  }
Base archive for all kinds of simple file streams. This is primarily useful when the file is a named pipe. In that
case data can directly be transformed and consumed by other programs.
<p>
Writing can be parallelized across multiple files (tile_write_threads). For the first file the base path is used. For
consecutive files 1, 2, ... is appended to the base bath.

<pre>
# create the pipes
mkfifo /tmp/data/output.csv
mkfifo /tmp/data/output.csv1
mkfifo /tmp/data/output.csv2
# start the consumers
consumer_program < /tmp/data/output.csv
consumer_program < /tmp/data/output.csv1
consumer_program < /tmp/data/output.csv2

# now run planetiler with the options --append --output=/tmp/data/output.csv --tile_write_threads=3
</pre>
planetiler-core/src/main/java/com/onthegomap/planetiler/stream/WriteableStreamArchive.java