Attribute att = dataset.findGlobalAttributeIgnoreCase("datasetId"); if (att != null && att.getStringValue().contains("DMSP")) { // LOOK!! writeSwathGrid(gridDataset_filename, gridName, time, level, greyScale, pt); return; } else { data = geoShiftDataAtLon(data, lon); lon = geoShiftLon(lon); x1 = getXIndex(lon, pjp0.getX(), 0); y1 = getYIndex(lat, pjp0.getY(), 0); yStart = pjp0.getY() * 1000.0; //latArray[y1]; xStart = pjp0.getX() * 1000.0; //lonArray[x1]; ProjectionPoint pjpn = proj.latLonToProj(minLat, maxLon); x2 = getXIndex(lon, pjpn.getX(), 1); y2 = getYIndex(lat, pjpn.getY(), 1); x1 = getLonIndex(lon, minLon, 0); y1 = getLatIndex(lat, maxLat, 0); x2 = getLonIndex(lon, maxLon, 1); y2 = getLatIndex(lat, minLat, 1); Array data1 = getYXDataInBox(data, x1, x2, y1, y2); writeGrid(grid, data1, greyScale, xStart, yStart, xInc, yInc, pageNumber); pageNumber++;
Array lat = yaxis.read(); double[] swathInfo = getSwathLatLonInformation(lat, lon); data = geoShiftDataAtLon(data, lon); lon = geoShiftLon(lon); x1 = getXIndex(lon, pjp0.getX(), 0); y1 = getYIndex(lat, pjp0.getY(), 0); x2 = getXIndex(lon, pjpn.getX(), 1); y2 = getYIndex(lat, pjpn.getY(), 1); } else { Array targetImage = getTargetImagerFromSwath(lat, lon, data, swathInfo); Array interpolatedImage = interpolation(targetImage); Array clippedImage = getClippedImageFromInterpolation(interpolatedImage, x1, x2, y1, y2); writeGrid(grid, clippedImage, greyScale, xStart, yStart, xInc, yInc, pageNumber); pageNumber++;
public static void main(String args[]) throws IOException { String fileOut = "/home/yuanho/Download/F15_s.tmp_new.tif"; //String fileOut = "/home/yuanho/tmp/tmbF.tif"; //LatLonPointImpl p1 = new LatLonPointImpl(38.0625, -80.6875); //LatLonPointImpl p2 = new LatLonPointImpl(47.8125, -67.0625); LatLonPointImpl p1 = new LatLonPointImpl(-5, -52.0); LatLonPointImpl p2 = new LatLonPointImpl(25, -20.0); LatLonRect llr = new LatLonRect(p1, p2); GeoTiffWriter2 writer = new GeoTiffWriter2(fileOut); //writer.writeGrid("radar.nc", "noice_wat", 0, 0, true); //writer.writeGrid("dods://www.cdc.noaa.gov/cgi-bin/nph-nc/Datasets/coads/2degree/enh/cldc.mean.nc?lat[40:1:50],lon[70:1:110],time[2370:1:2375],cldc[2370:1:2375][40:1:50][70:1:110]", "cldc", 0, 0,true); //writer.writeGrid("dods://www.cdc.noaa.gov/cgi-bin/nph-nc/Datasets/noaa.oisst.v2/sst.mnmean.nc", "sst", 0, 0,false); //writer.writeGrid("2003091116_ruc2.nc", "P_sfc", 0, 0, false); //writer.writeGrid("/home/yuanho/dev/netcdf-java/geotiff/2003072918_avn-x.nc", "P_sfc", 0, 0, false,llr); //writer.writeGrid("/home/yuanho/tmp/NE_1961-1990_Yearly_Max_Temp.nc", "tmax", 0, 0, false, llr); // writer.writeGrid("/home/yuanho/tmp/TMB.nc", "MBchla", 0, 0, false, llr); writer.writeGrid("/home/yuanho/GIS/DataAndCode/F15_s.tmp", "infraredImagery", 0, 0, true, llr); writer.close(); // read it back in GeoTiff geotiff = new GeoTiff(fileOut); geotiff.read(); System.out.println("geotiff read in = " + geotiff.showInfo()); //geotiff.testReadData(); geotiff.close(); } }
@Test public void testWrite() throws IOException { String fileOut = tempFolder.newFile().getAbsolutePath(); try (GeoTiffWriter2 writer = new GeoTiffWriter2(fileOut)) { writer.writeGrid(filename, field, 0, 0, true, llbb); } // read it back in try (GeoTiff geotiff = new GeoTiff(fileOut)) { geotiff.read(); System.out.println("geotiff read in = " + geotiff.showInfo()); //geotiff.testReadData(); } } }
float alreadyValue; int curPixelInBBoxIndex = getIndexOfBBFromLatlonOfOri(startLat, startLon, swathInfo[1], swathInfo[0], curLat, curLon, BBoxHeight, BBoxWidth);
float alreadyValue; int curPixelInBBoxIndex = getIndexOfBBFromLatlonOfOri(startLat, startLon, swathInfo[1], swathInfo[0], curLat, curLon, BBoxHeight, BBoxWidth);
Attribute att = dataset.findGlobalAttributeIgnoreCase("datasetId"); if (att != null && att.getStringValue().contains("DMSP")) { // LOOK!! writeSwathGrid(gridDataset_filename, gridName, time, level, greyScale, pt); return; } else { data = geoShiftDataAtLon(data, lon); lon = geoShiftLon(lon); x1 = getXIndex(lon, pjp0.getX(), 0); y1 = getYIndex(lat, pjp0.getY(), 0); yStart = pjp0.getY() * 1000.0; //latArray[y1]; xStart = pjp0.getX() * 1000.0; //lonArray[x1]; ProjectionPoint pjpn = proj.latLonToProj(minLat, maxLon); x2 = getXIndex(lon, pjpn.getX(), 1); y2 = getYIndex(lat, pjpn.getY(), 1); x1 = getLonIndex(lon, minLon, 0); y1 = getLatIndex(lat, maxLat, 0); x2 = getLonIndex(lon, maxLon, 1); y2 = getLatIndex(lat, minLat, 1); Array data1 = getYXDataInBox(data, x1, x2, y1, y2); writeGrid(grid, data1, greyScale, xStart, yStart, xInc, yInc, pageNumber); pageNumber++;
Array lat = yaxis.read(); double[] swathInfo = getSwathLatLonInformation(lat, lon); data = geoShiftDataAtLon(data, lon); lon = geoShiftLon(lon); x1 = getXIndex(lon, pjp0.getX(), 0); y1 = getYIndex(lat, pjp0.getY(), 0); yStart = pjp0.getY() * 1000.0; //latArray[y1]; xStart = pjp0.getX() * 1000.0; //lonArray[x1]; ProjectionPoint pjpn = proj.latLonToProj(minLat, maxLon); x2 = getXIndex(lon, pjpn.getX(), 1); y2 = getYIndex(lat, pjpn.getY(), 1); } else { Array targetImage = getTargetImagerFromSwath(lat, lon, data, swathInfo); Array interpolatedImage = interpolation(targetImage); Array clippedImage = getClippedImageFromInterpolation(interpolatedImage, x1, x2, y1, y2); writeGrid(grid, clippedImage, greyScale, xStart, yStart, xInc, yInc, pageNumber); pageNumber++;
float alreadyValue = 0; int curPixelInBBoxIndex = getIndexOfBBFromLatlonOfOri(startLat, startLon, swathInfo[1], swathInfo[0], curLat, curLon, BBoxHeight, BBoxWidth);
Attribute att = dataset.findGlobalAttributeIgnoreCase("datasetId"); if (att != null && att.getStringValue().contains("DMSP")) { // LOOK!! writeSwathGrid(fileName, gridName, time, level, greyScale, pt); return; } else { data = geoShiftDataAtLon(data, lon); lon = geoShiftLon(lon); double[] lonArray = (double[]) lon.copyTo1DJavaArray(); double[] latArray = (double[]) lat.copyTo1DJavaArray(); x1 = getXIndex(lon, pjp0.getX(), 0); y1 = getYIndex(lat, pjp0.getY(), 0); yStart = pjp0.getY() * 1000.0; //latArray[y1]; xStart = pjp0.getX() * 1000.0; //lonArray[x1]; ProjectionPoint pjpn = proj.latLonToProj(minLat, maxLon); x2 = getXIndex(lon, pjpn.getX(), 1); y2 = getYIndex(lat, pjpn.getY(), 1); x1 = getLonIndex(lon, minLon, 0); y1 = getLatIndex(lat, maxLat, 0); x2 = getLonIndex(lon, maxLon, 1); y2 = getLatIndex(lat, minLat, 1); Array data1 = getYXDataInBox(data, x1, x2, y1, y2); writeGrid(grid, data1, greyScale, xStart, yStart, xInc, yInc, pageNumber); pageNumber++;
Array lat = yaxis.read(); double[] swathInfo = getSwathLatLonInformation(lat, lon); data = geoShiftDataAtLon(data, lon); lon = geoShiftLon(lon); x1 = getXIndex(lon, pjp0.getX(), 0); y1 = getYIndex(lat, pjp0.getY(), 0); yStart = pjp0.getY() * 1000.0; //latArray[y1]; xStart = pjp0.getX() * 1000.0; //lonArray[x1]; ProjectionPoint pjpn = proj.latLonToProj(minLat, maxLon); x2 = getXIndex(lon, pjpn.getX(), 1); y2 = getYIndex(lat, pjpn.getY(), 1); } else { Array targetImage = getTargetImagerFromSwath(lat, lon, data, swathInfo); Array interpolatedImage = interpolation(targetImage); Array clippedImage = getClippedImageFromInterpolation(interpolatedImage, x1, x2, y1, y2); writeGrid(grid, clippedImage, greyScale, xStart, yStart, xInc, yInc, pageNumber); pageNumber++;