Search in sources :

Example 6 with OsmIterator

use of de.topobyte.osm4j.core.access.OsmIterator in project osm4j-pbf by topobyte.

the class Util method copyAndRead.

public static void copyAndRead(String resource, boolean readMetadata, boolean writeMetadata) throws IOException {
    InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream(resource);
    OsmIterator iterator = new PbfIterator(input, readMetadata);
    File file = File.createTempFile("osm4j-test", "pbf");
    OutputStream output = new FileOutputStream(file);
    OsmOutputStream osmOutput = new PbfWriter(output, writeMetadata);
    for (EntityContainer container : iterator) {
        switch(container.getType()) {
            default:
            case Node:
                osmOutput.write((OsmNode) container.getEntity());
                break;
            case Way:
                osmOutput.write((OsmWay) container.getEntity());
                break;
            case Relation:
                osmOutput.write((OsmRelation) container.getEntity());
                break;
        }
    }
    osmOutput.complete();
    output.close();
    Util.iterate(file, true);
    Util.iterate(file, false);
    file.delete();
}
Also used : FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) OsmOutputStream(de.topobyte.osm4j.core.access.OsmOutputStream) FileOutputStream(java.io.FileOutputStream) PbfWriter(de.topobyte.osm4j.pbf.seq.PbfWriter) EntityContainer(de.topobyte.osm4j.core.model.iface.EntityContainer) OsmIterator(de.topobyte.osm4j.core.access.OsmIterator) PbfIterator(de.topobyte.osm4j.pbf.seq.PbfIterator) File(java.io.File) OsmOutputStream(de.topobyte.osm4j.core.access.OsmOutputStream)

Example 7 with OsmIterator

use of de.topobyte.osm4j.core.access.OsmIterator in project osm4j-pbf by topobyte.

the class Util method iterate.

public static void iterate(String resource, boolean fetchMetadata) throws IOException {
    InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream(resource);
    OsmIterator iterator = new PbfIterator(input, fetchMetadata);
    while (iterator.hasNext()) {
        iterator.next();
    }
    input.close();
}
Also used : FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) OsmIterator(de.topobyte.osm4j.core.access.OsmIterator) PbfIterator(de.topobyte.osm4j.pbf.seq.PbfIterator)

Aggregations

OsmIterator (de.topobyte.osm4j.core.access.OsmIterator)7 InputStream (java.io.InputStream)5 FileInputStream (java.io.FileInputStream)4 PbfIterator (de.topobyte.osm4j.pbf.seq.PbfIterator)3 InMemoryMapDataSet (de.topobyte.osm4j.core.dataset.InMemoryMapDataSet)2 OsmRelation (de.topobyte.osm4j.core.model.iface.OsmRelation)2 File (java.io.File)2 Geometry (com.vividsolutions.jts.geom.Geometry)1 WKTWriter (com.vividsolutions.jts.io.WKTWriter)1 OsmOutputStream (de.topobyte.osm4j.core.access.OsmOutputStream)1 EntityContainer (de.topobyte.osm4j.core.model.iface.EntityContainer)1 GeometryBuilder (de.topobyte.osm4j.geometry.GeometryBuilder)1 LineworkBuilder (de.topobyte.osm4j.geometry.LineworkBuilder)1 RegionBuilder (de.topobyte.osm4j.geometry.RegionBuilder)1 PbfWriter (de.topobyte.osm4j.pbf.seq.PbfWriter)1 TboIterator (de.topobyte.osm4j.tbo.access.TboIterator)1 OsmXmlIterator (de.topobyte.osm4j.xml.dynsax.OsmXmlIterator)1 FileOutputStream (java.io.FileOutputStream)1 FileWriter (java.io.FileWriter)1 OutputStream (java.io.OutputStream)1