package com.revolsys.record.io.format.openstreetmap.pbf; import java.util.Collections; import java.util.Set; import com.revolsys.geometry.cs.CoordinateSystem; import com.revolsys.geometry.cs.GeographicCoordinateSystem; import com.revolsys.geometry.cs.epsg.EpsgCoordinateSystems; import com.revolsys.record.Record; import com.revolsys.record.RecordFactory; import com.revolsys.record.io.AbstractRecordIoFactory; import com.revolsys.record.io.RecordReader; import com.revolsys.spring.resource.Resource; public class OsmPbf extends AbstractRecordIoFactory { public OsmPbf() { super("Open Street Map PBF"); addMediaTypeAndFileExtension("application/x-pbf+osm", "osm.pbf"); } @Override public Set<CoordinateSystem> getCoordinateSystems() { return Collections.singleton(EpsgCoordinateSystems.wgs84()); } @Override public boolean isBinary() { return true; } @Override public boolean isCoordinateSystemSupported(final CoordinateSystem coordinateSystem) { return coordinateSystem instanceof GeographicCoordinateSystem; } @Override public RecordReader newRecordReader(final Resource resource, final RecordFactory<? extends Record> recordFactory) { return new OsmPbfRecordIterator(resource); } }