| | |
| | | |
| | | import com.se.nsl.domain.dto.*; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.gdal.gdal.Band; |
| | | import org.gdal.gdal.Dataset; |
| | | import org.gdal.gdal.WarpOptions; |
| | | import org.gdal.gdal.gdal; |
| | | import org.gdal.gdal.*; |
| | | import org.gdal.gdalconst.gdalconst; |
| | | import org.gdal.ogr.Geometry; |
| | | import org.gdal.ogr.ogr; |
| | |
| | | destDs.delete(); |
| | | } |
| | | |
| | | public static void Resample(Dataset ds, Integer targetEpsg, String dest, Double destNoData, String wkt, Integer width, Integer height) { |
| | | Vector<String> vector = new Vector<>(); |
| | | if (targetEpsg != null) { |
| | | //vector.add("-s_srs"); |
| | | //vector.add("EPSG:" + 4548); |
| | | vector.add("-t_srs"); |
| | | vector.add("EPSG:" + targetEpsg); |
| | | } |
| | | //if (destNoData != null) { |
| | | // vector.add("-dstnodata"); |
| | | // vector.add("" + destNoData); |
| | | //} |
| | | if (wkt != null) { |
| | | vector.add("-cutline"); |
| | | vector.add(wkt); |
| | | vector.add("-crop_to_cutline"); |
| | | } |
| | | if (width != null && height != null) { |
| | | vector.add("-ts"); |
| | | vector.add("" + width); |
| | | vector.add("" + height); |
| | | } |
| | | vector.add("-r"); |
| | | vector.add("bilinear"); // 双线性插值 |
| | | vector.add("-of"); |
| | | vector.add("GTiff"); |
| | | |
| | | Dataset destDs = gdal.Warp(dest, new Dataset[]{ds}, new WarpOptions(vector)); |
| | | if (null != destDs) destDs.delete(); |
| | | } |
| | | |
| | | public static void Resample2(Dataset ds, String dest, int width, int height, LayerDto layer) { |
| | | Vector<String> vector = new Vector<>(); |
| | | vector.add("-s_srs"); |
| | |
| | | //vector.add("-te_srs"); |
| | | //vector.add("EPSG:" + 4326); |
| | | vector.add("-r"); |
| | | vector.add("average"); |
| | | // vector.add("average"); |
| | | vector.add("cubic"); |
| | | vector.add("-of"); |
| | | vector.add("GTiff"); |
| | | WarpOptions warpOptions = new WarpOptions(vector); |