package com.revolsys.elevation.gridded.esriascii;
import java.util.Map;
import com.revolsys.elevation.gridded.GriddedElevationModel;
import com.revolsys.elevation.gridded.GriddedElevationModelReadFactory;
import com.revolsys.elevation.gridded.GriddedElevationModelWriter;
import com.revolsys.elevation.gridded.GriddedElevationModelWriterFactory;
import com.revolsys.io.AbstractIoFactoryWithCoordinateSystem;
import com.revolsys.spring.resource.Resource;
public class EsriAsciiGriddedElevation extends AbstractIoFactoryWithCoordinateSystem
implements GriddedElevationModelReadFactory, GriddedElevationModelWriterFactory {
public static final String FILE_EXTENSION = "asc";
public static final String FILE_EXTENSION_ZIP = FILE_EXTENSION + ".zip";
public static final String FILE_EXTENSION_GZ = FILE_EXTENSION + ".gz";
public static final String PROPERTY_READ_DATA = "readData";
public EsriAsciiGriddedElevation() {
super("ESRI ASCII Grid");
addMediaTypeAndFileExtension("image/x-esri-ascii-grid", FILE_EXTENSION);
addFileExtension(FILE_EXTENSION_ZIP);
addFileExtension(FILE_EXTENSION_GZ);
}
@Override
public GriddedElevationModel newGriddedElevationModel(final Resource resource,
final Map<String, ? extends Object> properties) {
try (
EsriAsciiGriddedElevationModelReader reader = new EsriAsciiGriddedElevationModelReader(
resource, properties)) {
return reader.read();
}
}
@Override
public GriddedElevationModelWriter newGriddedElevationModelWriter(final Resource resource) {
return new EsriAsciiGriddedElevationModelWriter(resource);
}
}