@Override public void writeBegin() throws IOException { LOG.info("Writing PBF format..."); // Write out a header block Osmformat.HeaderBlock.Builder builder = Osmformat.HeaderBlock.newBuilder(); builder.addRequiredFeatures("DenseNodes").setWritingprogram("Vanilla Extract").build(); if (timestamp > 0) { builder.setOsmosisReplicationTimestamp(timestamp); } writeOneBlob(builder.build()); // Start another thread that will handle compression and writing in parallel. writerThread = new Thread(this); writerThread.start(); }
BuildTestFile(String name, String compress) throws IOException { output = new BlockOutputStream(new FileOutputStream(name)); output.setCompress(compress); HeaderBlock.Builder b = HeaderBlock.newBuilder(); b.addRequiredFeatures("OsmSchema-V0.6").addRequiredFeatures("DenseNodes").setSource("QuickBrownFox"); output.write(FileBlock.newInstance("OSMHeader",b.build().toByteString(),null)); }
private void processBounds(Bound entity) { Osmformat.HeaderBlock.Builder headerblock = Osmformat.HeaderBlock .newBuilder(); Osmformat.HeaderBBox.Builder bbox = Osmformat.HeaderBBox.newBuilder(); bbox.setLeft(mapRawDegrees(entity.getLeft())); bbox.setBottom(mapRawDegrees(entity.getBottom())); bbox.setRight(mapRawDegrees(entity.getRight())); bbox.setTop(mapRawDegrees(entity.getTop())); headerblock.setBbox(bbox); if (entity.getOrigin() != null) { headerblock.setSource(entity.getOrigin()); } finishHeader(headerblock); }
/** Write empty header block when there's no bounds entity. */ public void writeEmptyHeaderIfNeeded() { if (headerWritten) { return; } Osmformat.HeaderBlock.Builder headerblock = Osmformat.HeaderBlock.newBuilder(); finishHeader(headerblock); }