本文整理了Java中javax.media.jai.iterator.RectIter
类的一些代码示例,展示了RectIter
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RectIter
类的具体详情如下:
包路径:javax.media.jai.iterator.RectIter
类名称:RectIter
暂无
代码示例来源:origin: geotools/geotools
@SuppressWarnings("PMD.SystemPrintln")
public static void printImage(RenderedImage renderedImage) {
RectIter rectIter = RectIterFactory.create(renderedImage, null);
do {
do {
double value = rectIter.getSampleDouble();
System.out.print(value + " ");
} while (!rectIter.nextPixelDone());
rectIter.startPixels();
} while (!rectIter.nextLineDone());
}
}
代码示例来源:origin: geotools/geotools
if (iterator.finishedPixels()) {
throw new NoSuchElementException("Index beyond size:" + index + ">" + size);
if (iterator.finishedLines()) {
throw new NoSuchElementException("Index beyond size:" + index + ">" + size);
iterator.getPixel(temp);
for (double d : temp) {
if (iterator.nextPixelDone()) {
if (!iterator.nextLineDone()) iterator.startPixels();
代码示例来源:origin: geotools/geotools
public RasterAsPointFeatureIterator(final RasterAsPointFeatureCollection fc) {
// checks
Utilities.ensureNonNull("fc", fc);
// get elements
this.fc = fc;
this.fb = new SimpleFeatureBuilder(fc.getSchema());
this.size = fc.size;
// create an iterator that only goes forward, it is the fastest one
iterator = RectIterFactory.create(fc.gc2d.getRenderedImage(), null);
//
// start the iterator
//
iterator.startLines();
if (iterator.finishedLines()) {
throw new NoSuchElementException("Index beyond size:" + index + ">" + size);
}
iterator.startPixels();
if (iterator.finishedPixels()) {
throw new NoSuchElementException("Index beyond size:" + index + ">" + size);
}
// appo
temp = new double[fc.numBands];
// grid convergence angle manager
if (fc.gridConvergenceAngleCorrectionNeeded) {
sourceCRSPosition = new DirectPosition2D();
targetCRSPosition = new DirectPosition2D(fc.targetCRS);
}
}
代码示例来源:origin: mapplus/spatial_statistics_for_geotools_udig
public void visit(GridCoverage2D inputCoverage, Integer bandIndex) {
reset();
PlanarImage inputImage = (PlanarImage) inputCoverage.getRenderedImage();
RectIter readIter = RectIterFactory.create(inputImage, inputImage.getBounds());
readIter.startLines();
while (!readIter.finishedLines()) {
readIter.startPixels();
while (!readIter.finishedPixels()) {
double sampleValue = readIter.getSampleDouble(bandIndex);
visit(Double.valueOf(sampleValue));
readIter.nextPixel();
}
readIter.nextLine();
}
}
代码示例来源:origin: org.geotools/gt2-coverage
final WritableRectIter iTarget = RectIterFactory.createWritable(dest, destRect);
int band = 0;
iSrc0 .startBands();
iSrc1 .startBands();
iTarget.startBands();
if (!iTarget.finishedBands() &&
!iSrc0 .finishedBands() &&
!iSrc1 .finishedBands())
final double offset = offsets[Math.min(band, offsets.length-1)];
do {
iSrc0 .startLines();
iSrc1 .startLines();
iTarget.startLines();
if (!iTarget.finishedLines() &&
!iSrc0 .finishedLines() &&
!iSrc1 .finishedLines())
iSrc0 .startPixels();
iSrc1 .startPixels();
iTarget.startPixels();
if (!iTarget.finishedPixels() &&
!iSrc0 .finishedPixels() &&
!iSrc1 .finishedPixels())
iTarget.setSample(iSrc0.getSampleDouble() * scale0 +
iSrc1.getSampleDouble() * scale1 + offset);
} while (!iSrc0.nextPixelDone() &&
!iSrc1.nextPixelDone() &&
代码示例来源:origin: Geomatys/geotoolkit
final RectIter e = RectIterFactory.create(expected, null);
final RectIter a = RectIterFactory.create(actual, null);
if (!e.finishedLines()) do {
assertFalse(a.finishedLines());
if (!e.finishedPixels()) do {
assertFalse(a.finishedPixels());
if (!e.finishedBands()) do {
assertFalse(a.finishedBands());
final float pe = e.getSampleFloat();
final float pa = a.getSampleFloat();
assertEquals(pe, pa, SAMPLE_TOLERANCE);
a.nextBand();
} while (!e.nextBandDone());
assertTrue(a.finishedBands());
a.nextPixel();
a.startBands();
e.startBands();
} while (!e.nextPixelDone());
assertTrue(a.finishedPixels());
a.nextLine();
a.startPixels();
e.startPixels();
} while (!e.nextLineDone());
assertTrue(a.finishedLines());
代码示例来源:origin: org.geoserver/gs-wcs2_0
raster, PlanarImage.wrapRenderedImage(raster).getBounds());
iterator.startLines();
while (!iterator.finishedLines()) {
iterator.startPixels();
while (!iterator.finishedPixels()) {
switch (dataType) {
case DataBuffer.TYPE_BYTE:
case DataBuffer.TYPE_SHORT:
case DataBuffer.TYPE_USHORT:
iterator.getPixel(valuesI);
for (int i = 0; i < numBands; i++) {
case DataBuffer.TYPE_DOUBLE:
case DataBuffer.TYPE_FLOAT:
iterator.getPixel(valuesD);
for (int i = 0; i < numBands; i++) {
iterator.nextPixel();
iterator.nextLine();
chars("\n");
代码示例来源:origin: geosolutions-it/jai-ext
assertEquals(expectedVal.byteValue(), (byte) destIter.getSample());
break;
case DataBuffer.TYPE_SHORT:
assertEquals(expectedVal.shortValue(), (short) destIter.getSample());
break;
case DataBuffer.TYPE_INT:
assertEquals(expectedVal.intValue(), destIter.getSample());
break;
case DataBuffer.TYPE_FLOAT:
assertEquals(expectedVal.floatValue(), destIter.getSampleFloat(), TOLERANCE);
break;
case DataBuffer.TYPE_DOUBLE:
assertEquals(expectedVal.doubleValue(), destIter.getSampleDouble(), TOLERANCE);
break;
srcIter.nextPixelDone();
x++;
} while (!destIter.nextPixelDone());
srcIter.nextLineDone();
srcIter.startPixels();
destIter.startPixels();
y++;
x = 0;
} while (!destIter.nextLineDone());
代码示例来源:origin: Geomatys/geotoolkit
final int[] buffer = new int[numBands];
do {
mit.startPixels();
iter.startPixels();
if (!iter.finishedPixels()) {
do {
final int m = mit.getSample();
mit.nextPixel();
if (m != 0) {
} while (!iter.nextPixelDone());
mit.nextLine();
} while (!iter.nextLineDone());
代码示例来源:origin: geotools/geotools
/** Returns the specified sample of the current pixel as a double. */
public double getSampleDouble(int b) {
return src.getSampleDouble(b);
}
代码示例来源:origin: org.jaitools/jt-utils
case DataBuffer.TYPE_DOUBLE:
if (inside) {
value = new Double(delegateIter.getSampleDouble(band));
} else {
value = outsideValue_Double;
value = new Float(delegateIter.getSampleFloat(band));
} else {
value = outsideValue_Float;
value = Integer.valueOf(delegateIter.getSample(band));
} else {
value = outsideValue_Integer;
代码示例来源:origin: geotools/geotools
/** Sets the iterator to the leftmost pixel of its bounding rectangle. */
public void startPixels() {
src.startPixels();
dst.startPixels();
}
代码示例来源:origin: geotools/geotools
/** Sets the iterator to the first line of its bounding rectangle. */
public void startLines() {
src.startLines();
dst.startLines();
}
代码示例来源:origin: geotools/geotools
/** Returns the specified sample of the current pixel as an integer. */
public int getSample(int b) {
return src.getSample(b);
}
代码示例来源:origin: geotools/geotools
/** Returns {@code true} if the bottom row of the bounding rectangle has been passed. */
public boolean finishedLines() {
boolean check = src.finishedLines();
if (check == dst.finishedLines()) {
return check;
}
throw new RasterFormatException(ERROR);
}
代码示例来源:origin: geotools/geotools
/** Returns {@code true} if the right edge of the bounding rectangle has been passed. */
public boolean finishedPixels() {
boolean check = src.finishedPixels();
if (check == dst.finishedPixels()) {
return check;
}
throw new RasterFormatException(ERROR);
}
代码示例来源:origin: geotools/geotools
/** Sets the iterator to the next pixel in the image (that is, move rightward). */
public boolean nextPixelDone() {
boolean check = src.nextPixelDone();
if (check == dst.nextPixelDone()) {
return check;
}
throw new RasterFormatException(ERROR);
}
代码示例来源:origin: geotools/geotools
/**
* Sets the iterator to the next line in the image, and returns {@code true} if the bottom row
* of the bounding rectangle has been passed.
*/
public boolean nextLineDone() {
boolean check = src.nextLineDone();
if (check == dst.nextLineDone()) {
return check;
}
throw new RasterFormatException(ERROR);
}
代码示例来源:origin: org.geotools/gt2-coverageio
/**
* Sets the iterator to the next line in the image.
*/
public boolean nextLineDone() {
if (iterator.nextLineDone()) {
return true;
}
iterator.jumpLines(dy);
return false;
}
代码示例来源:origin: org.geotools/gt2-coverageio
/**
* Sets the iterator to the next pixel in the image.
*/
public boolean nextPixelDone() {
if (iterator.nextPixelDone()) {
return true;
}
iterator.jumpPixels(dx);
return false;
}
内容来源于网络,如有侵权,请联系作者删除!