热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

org.esa.beam.framework.datamodel.Band.setScalingOffset()方法的使用及代码示例

本文整理了Java中org.esa.beam.framework.datamodel.Band.setScalingOffset()方法的一些代码示例,展示了

本文整理了Java中org.esa.beam.framework.datamodel.Band.setScalingOffset()方法的一些代码示例,展示了Band.setScalingOffset()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Band.setScalingOffset()方法的具体详情如下:
包路径:org.esa.beam.framework.datamodel.Band
类名称:Band
方法名:setScalingOffset

Band.setScalingOffset介绍

暂无

代码示例

代码示例来源:origin: bcdev/beam

private static void setScaling(final Element element, final Band band) {
final String scalingFactorString = element.getChildTextTrim(DimapProductConstants.TAG_SCALING_FACTOR);
if (scalingFactorString != null) {
band.setScalingFactor(Double.parseDouble(scalingFactorString));
}
final String scalingOffsetString = element.getChildTextTrim(DimapProductConstants.TAG_SCALING_OFFSET);
if (scalingOffsetString != null) {
band.setScalingOffset(Double.parseDouble(scalingOffsetString));
}
final String log10ScaledString = element.getChildTextTrim(DimapProductConstants.TAG_SCALING_LOG_10);
if (log10ScaledString != null) {
band.setLog10Scaled(Boolean.parseBoolean(log10ScaledString));
}
}

代码示例来源:origin: bcdev/beam

private Band createTargetBand(Product product, H5ScalarDS scalarDS, String bandName, int dataType) throws Exception {
final List metadata = scalarDS.getMetadata();
final float scaleFactorAttr = ProbaVUtils.getFloatAttributeValue(metadata, "SCALE");
final float scaleFactor = Float.isNaN(scaleFactorAttr) ? 1.0f : scaleFactorAttr;
final float scaleOffsetAttr = ProbaVUtils.getFloatAttributeValue(metadata, "OFFSET");
final float scaleOffset = Float.isNaN(scaleOffsetAttr) ? 0.0f : scaleOffsetAttr;
final Band band = product.addBand(bandName, dataType);
band.setScalingFactor(1.0 / scaleFactor);
band.setScalingOffset(-1.0 * scaleOffset / scaleFactor);
return band;
}

代码示例来源:origin: bcdev/beam

private Band createTargetBand(Product product, H5ScalarDS scalarDS, String bandName, int dataType) throws Exception {
final List metadata = scalarDS.getMetadata();
final float scaleFactorAttr = ProbaVUtils.getFloatAttributeValue(metadata, "SCALE");
final float scaleFactor = Float.isNaN(scaleFactorAttr) ? 1.0f : scaleFactorAttr;
final float scaleOffsetAttr = ProbaVUtils.getFloatAttributeValue(metadata, "OFFSET");
final float scaleOffset = Float.isNaN(scaleOffsetAttr) ? 0.0f : scaleOffsetAttr;
final Band band = product.addBand(bandName, dataType);
band.setScalingFactor(scaleFactor);
band.setScalingOffset(scaleOffset);
return band;
}

代码示例来源:origin: bcdev/beam

private Band addBand(Product product, int bandDataType, BandInfo bandInfo, NetcdfFile netcdfFile,
Variable variable) {
Band band = product.addBand(bandInfo.name, bandDataType);
if (! Boolean.getBoolean("beam.spotvgt.donotapplysolarilluminationfactor") &&
product.getName().matches("V.KRNP.*") &&
("B0".equals(bandInfo.name) ||
"B2".equals(bandInfo.name) ||
"B3".equals(bandInfo.name) ||
"MIR".equals(bandInfo.name))) {
int doy = product.getStartTime().getAsCalendar().get(Calendar.DAY_OF_YEAR);
band.setScalingFactor(bandInfo.coefA * SpotVgtConstants.SOLAR_ILLUMINATION_FACTOR[doy-1]);
} else {
band.setScalingFactor(bandInfo.coefA);
}
band.setScalingOffset(bandInfo.offsetB);
band.setUnit(bandInfo.unit);
band.setDescription(bandInfo.description);
fileVars.put(band, new FileVar(netcdfFile, variable));
return band;
}

代码示例来源:origin: bcdev/beam

private void addBand(String varName) {
VariableMetadata variableMetadata = getVariableMetadata(varName);
if (variableMetadata != null) {
Band band = new Band(variableMetadata.name, ProductData.TYPE_INT16, _sceneRasterWidth, _sceneRasterHeight);
band.setDescription(variableMetadata.description);
band.setScalingOffset(variableMetadata.scalingOffset);
band.setScalingFactor(variableMetadata.scalingFactor);
band.setLog10Scaled(variableMetadata.log10Scaled);
band.setNoDataValue(variableMetadata.fillValue);
band.setNoDataValueUsed(variableMetadata.fillValue != Double.NaN);
_product.addBand(band);
bandMap.put(band, variableMetadata);
}
}

代码示例来源:origin: bcdev/beam

private Band createBand(Product product,
int type,
double scalingFactor,
double scalingOffset,
boolean log10scaled) {
final Band node = new Band("b", type, 10, 10);
node.setScalingFactor(scalingFactor);
node.setScalingOffset(scalingOffset);
node.setLog10Scaled(log10scaled);
product.addBand(node);
return node;
}

代码示例来源:origin: bcdev/beam

private Band addBand(Product product, String varName, int productType) {
Band band = new Band(varName, productType, product.getSceneRasterWidth(),
product.getSceneRasterHeight());
band.setScalingOffset(0.0);
band.setScalingFactor(1.0);
band.setLog10Scaled(false);
if (productType == ProductData.TYPE_FLOAT32) {
band.setNoDataValue(Double.NaN);
} else {
band.setNoDataValue(-999);
}
product.addBand(band);
return band;
}
}

代码示例来源:origin: bcdev/beam

private Band addBand(Product product, String varName, int productType) {
Band band = new Band(varName, productType, product.getSceneRasterWidth(),
product.getSceneRasterHeight());
band.setScalingOffset(0.0);
band.setScalingFactor(1.0);
band.setLog10Scaled(false);
if (productType == ProductData.TYPE_FLOAT32) {
band.setNoDataValue(Double.NaN);
} else {
band.setNoDataValue(-999);
}
band.setNoDataValueUsed(true);
product.addBand(band);
return band;
}

代码示例来源:origin: bcdev/beam

band.setScalingOffset(bandDescriptor.getScalingOffset());
product.addBand(band);

代码示例来源:origin: bcdev/beam

private Band createBand(double factor, double offset, boolean log10Scaled) {
Product p = new Product("n", "t", 2, 2);
Band band = p.addBand("b", ProductData.TYPE_INT8);
band.setScalingFactor(factor);
band.setScalingOffset(offset);
band.setLog10Scaled(log10Scaled);
band.setSourceImage(createSourceImage());
return band;
}

代码示例来源:origin: bcdev/beam

public void testSetAndGetPixels_UShort_Int() throws Exception {
final Band band = new Band("radiance_4", ProductData.TYPE_UINT16, 3, 2);
band.ensureRasterData();
short[] testShortsRaw, trueShortsRaw;
final ProductData data = band.getData();
int[] testInts, trueInts;
testInts = new int[]{1, 2, 3, 4, 5, 6};
band.setPixels(0, 0, 3, 2, testInts);
trueInts = band.getPixels(0, 0, 3, 2, (int[]) null, ProgressMonitor.NULL);
assertTrue(Arrays.equals(testInts, trueInts));
testShortsRaw = new short[]{1, 2, 3, 4, 5, 6};
trueShortsRaw = (short[]) data.getElems();
assertTrue(Arrays.equals(testShortsRaw, trueShortsRaw));
band.setScalingFactor(0.5);
band.setScalingOffset(-13);
testInts = new int[]{3, -5, 7, -9, 11, -13};
band.setPixels(0, 0, 3, 2, testInts);
trueInts = band.getPixels(0, 0, 3, 2, (int[]) null, ProgressMonitor.NULL);
assertTrue(Arrays.equals(testInts, trueInts));
testShortsRaw = new short[]{32, 16, 40, 8, 48, 0};
trueShortsRaw = (short[]) data.getElems();
assertTrue(Arrays.equals(testShortsRaw, trueShortsRaw));
}

代码示例来源:origin: bcdev/beam

public void testSetAndGetPixels_UShort_Double() throws Exception {
final Band band = new Band("radiance_4", ProductData.TYPE_UINT16, 3, 2);
band.ensureRasterData();
short[] testShortsRaw, trueShortsRaw;
final ProductData data = band.getData();
double[] testDoubles, trueDoubles;
band.setScalingFactor(0.01);
band.setScalingOffset(-10);
testDoubles = new double[]{1.1, -2.2, 3.3, -4.4, 5.5, -6.6};
band.setPixels(0, 0, 3, 2, testDoubles);
trueDoubles = band.getPixels(0, 0, 3, 2, (double[]) null, ProgressMonitor.NULL);
for (int i = 0; i assertEquals(testDoubles[i], trueDoubles[i], 1e-6f);
}
testShortsRaw = new short[]{1110, 780, 1330, 560, 1550, 340};
trueShortsRaw = (short[]) data.getElems();
assertTrue(Arrays.equals(testShortsRaw, trueShortsRaw));
}

代码示例来源:origin: bcdev/beam

private void addBand(final Product product) {
final String bandName = "radiance_1"; // constant
final Band band = new Band(bandName, ProductData.TYPE_UINT8,
product.getSceneRasterWidth(),
product.getSceneRasterHeight());
band.setSpectralBandIndex(0); // constant
band.setSpectralWavelength(645); // constant
band.setSpectralBandwidth(250); // constant
band.setUnit("mw / (m^2*sr*nm)"); // constant
band.setScalingFactor(leaderFile.getAncillary2Record().getAbsoluteCalibrationGain());
band.setScalingOffset(leaderFile.getAncillary2Record().getAbsoluteCalibrationOffset());
band.setNoDataValue(0.00);
band.setNoDataValueUsed(true);
product.addBand(band);
}

代码示例来源:origin: bcdev/beam

public void testSetAndGetPixels_UShort_Float() throws Exception {
final Band band = new Band("radiance_4", ProductData.TYPE_UINT16, 3, 2);
band.ensureRasterData();
short[] testShortsRaw, trueShortsRaw;
final ProductData data = band.getData();
float[] testFloats, trueFloats;
band.setScalingFactor(0.01);
band.setScalingOffset(-10);
testFloats = new float[]{1.1f, -2.2f, 3.3f, -4.4f, 5.5f, -6.6f};
band.setPixels(0, 0, 3, 2, testFloats);
trueFloats = band.getPixels(0, 0, 3, 2, (float[]) null, ProgressMonitor.NULL);
for (int i = 0; i assertEquals(testFloats[i], trueFloats[i], 1e-6f);
}
testShortsRaw = new short[]{1110, 780, 1330, 560, 1550, 340};
trueShortsRaw = (short[]) data.getElems();
assertTrue(Arrays.equals(testShortsRaw, trueShortsRaw));
}

代码示例来源:origin: bcdev/beam

public void testComputeBandWithScaling() throws IOException,
ParseException {
_targetBand.setScalingFactor(0.05);
_targetBand.setScalingOffset(-7);
_product1.getBand("b1").setDataElems(new float[]{
2, 3, 4, 5,
6, 7, 8, 9,
10, 11, 12, 13
});
_product1.setModified(false);
_targetBand.computeBand("b1", null, new Product[]{_product1}, 0, false, false, 0, ProgressMonitor.NULL);
for (int y = 0; y <_height; y++) {
for (int x = 0; x <_width; x++) {
final float expected = 2 + y * _width + x;
assertEquals("at index(x,y) = " + x + "," + y,
expected,
_targetBand.getPixelFloat(x, y), 1e-5);
}
}
}

代码示例来源:origin: bcdev/beam

private Band createBand(final Avnir2ImageFile avnir2ImageFile) throws IOException,
IllegalCeosFormatException {
final Band band = new Band(avnir2ImageFile.getBandName(), ProductData.TYPE_UINT8,
sceneWidth, sceneHeight);
final int bandIndex = avnir2ImageFile.getBandIndex();
band.setSpectralBandIndex(bandIndex - 1);
band.setSpectralWavelength(avnir2ImageFile.getSpectralWavelength());
band.setSpectralBandwidth(avnir2ImageFile.getSpectralBandwidth());
band.setUnit(avnir2ImageFile.getGeophysicalUnit());
final double scalingFactor = leaderFile.getAbsoluteCalibrationGain(bandIndex);
final double scalingOffset = leaderFile.getAbsoluteCalibrationOffset(bandIndex);
band.setScalingFactor(scalingFactor);
band.setScalingOffset(scalingOffset);
band.setNoDataValueUsed(false);
band.setDescription("Radiance band " + avnir2ImageFile.getBandIndex());
return band;
}

代码示例来源:origin: bcdev/beam

@Override
public void initialize() throws OperatorException {
l3GeoCoding = l3Product.getGeoCoding();
l1GeoCoding = l1Product.getGeoCoding();
targetProduct = createCompatibleProduct(l1Product, "l3tol1", "L3");
Band[] l3Bands = l3Product.getBands();
for (Band sourceBand : l3Bands) {
Band targetBand = targetProduct.addBand(sourceBand.getName(), sourceBand.getDataType());
ProductUtils.copySpectralBandProperties(sourceBand, targetBand);
targetBand.setDescription(sourceBand.getDescription());
targetBand.setUnit(sourceBand.getUnit());
targetBand.setScalingFactor(sourceBand.getScalingFactor());
targetBand.setScalingOffset(sourceBand.getScalingOffset());
targetBand.setLog10Scaled(sourceBand.isLog10Scaled());
targetBand.setNoDataValueUsed(sourceBand.isNoDataValueUsed());
targetBand.setNoDataValue(sourceBand.getNoDataValue());
if (sourceBand.getFlagCoding() != null) {
FlagCoding srcFlagCoding = sourceBand.getFlagCoding();
ProductUtils.copyFlagCoding(srcFlagCoding, targetProduct);
targetBand.setSampleCoding(targetProduct.getFlagCodingGroup().get(srcFlagCoding.getName()));
}
}
}

代码示例来源:origin: bcdev/beam

@Override
public void initialize() throws OperatorException {
rrGeoCoding = rrProduct.getGeoCoding();
frsGeoCoding = frsProduct.getGeoCoding();
final int width = frsProduct.getSceneRasterWidth();
final int height = frsProduct.getSceneRasterHeight();
checkThatRRContainsFRSData(width, height);
targetProduct = new Product("L1", "L1", width, height);
Band[] srcBands = rrProduct.getBands();
for (Band sourceBand : srcBands) {
Band targetBand = targetProduct.addBand(sourceBand.getName(), sourceBand.getDataType());
ProductUtils.copySpectralBandProperties(sourceBand, targetBand);
targetBand.setDescription(sourceBand.getDescription());
targetBand.setUnit(sourceBand.getUnit());
targetBand.setScalingFactor(sourceBand.getScalingFactor());
targetBand.setScalingOffset(sourceBand.getScalingOffset());
targetBand.setLog10Scaled(sourceBand.isLog10Scaled());
targetBand.setNoDataValueUsed(sourceBand.isNoDataValueUsed());
targetBand.setNoDataValue(sourceBand.getNoDataValue());
if (sourceBand.getFlagCoding() != null) {
FlagCoding srcFlagCoding = sourceBand.getFlagCoding();
ProductUtils.copyFlagCoding(srcFlagCoding, targetProduct);
targetBand.setSampleCoding(targetProduct.getFlagCodingGroup().get(srcFlagCoding.getName()));
}
}
}

代码示例来源:origin: bcdev/beam

private Product createTestProduct() {
Product p = new Product("p", "t", SW, SH, TPRPI.createReaderInstance());
final float[] tiePoints = new float[GW * GH];
for (int j = 0; j for (int i = 0; i tiePoints[j * GW + i] = getTiePointValue(i, j);
}
}
TiePointGrid tpg = new TiePointGrid(TIE_POINT_GRID_NAME,
GW, GH, 0.5f, 0.5f,
(SW - 1) / (float) (GW - 1), (SH - 1) / (float) (GH - 1),
tiePoints);
p.addTiePointGrid(tpg);
Band floatBand = new Band(FLOAT_BAND_NAME, ProductData.TYPE_FLOAT32, SW, SH);
p.addBand(floatBand);
Band scaledIntBand = new Band(SCALED_USHORT_BAND_NAME, ProductData.TYPE_UINT16, SW, SH);
scaledIntBand.setScalingFactor(SFAC);
scaledIntBand.setScalingOffset(SOFF);
p.addBand(scaledIntBand);
Band syntFloatBand = new Band(BUFFERED_FLOAT_BAND_NAME, ProductData.TYPE_FLOAT32, SW, SH);
syntFloatBand.ensureRasterData();
p.addBand(syntFloatBand);
VirtualBand virtBand = new VirtualBand(VIRT_BAND_NAME, ProductData.TYPE_FLOAT32, SW, SH, VIRT_BAND_EXPR);
p.addBand(virtBand);
return p;
}

代码示例来源:origin: bcdev/beam

@Test
public void testWriteReadBeamMetadata() throws IOException {
final Band expectedBand = outProduct.getBand("int16");
expectedBand.setDescription("Danger");
expectedBand.setUnit("Voltage");
expectedBand.setScalingFactor(0.7);
expectedBand.setScalingOffset(100);
expectedBand.setLog10Scaled(true);
expectedBand.setNoDataValue(12.5);
expectedBand.setNoDataValueUsed(true);
final Product inProduct = writeReadProduct();
assertEquals(outProduct.getName(), inProduct.getName());
assertEquals(outProduct.getProductType(), inProduct.getProductType());
assertEquals(outProduct.getNumBands(), inProduct.getNumBands());
final Band actualBand = inProduct.getBandAt(0);
assertEquals(expectedBand.getName(), actualBand.getName());
assertEquals(expectedBand.getDescription(), actualBand.getDescription());
assertEquals(expectedBand.getUnit(), actualBand.getUnit());
assertEquals(expectedBand.getDataType(), actualBand.getDataType());
assertEquals(expectedBand.getScalingFactor(), actualBand.getScalingFactor(), 1.0e-6);
assertEquals(expectedBand.getScalingOffset(), actualBand.getScalingOffset(), 1.0e-6);
assertEquals(expectedBand.isLog10Scaled(), actualBand.isLog10Scaled());
assertEquals(expectedBand.getNoDataValue(), actualBand.getNoDataValue(), 1.0e-6);
assertEquals(expectedBand.isNoDataValueUsed(), actualBand.isNoDataValueUsed());
}

推荐阅读
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 本文整理了Java中java.lang.NoSuchMethodError.getMessage()方法的一些代码示例,展示了NoSuchMethodErr ... [详细]
  • 本文整理了Java中org.gwtbootstrap3.client.ui.Icon.addDomHandler()方法的一些代码示例,展示了Icon.ad ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 标题: ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 重入锁(ReentrantLock)学习及实现原理
    本文介绍了重入锁(ReentrantLock)的学习及实现原理。在学习synchronized的基础上,重入锁提供了更多的灵活性和功能。文章详细介绍了重入锁的特性、使用方法和实现原理,并提供了类图和测试代码供读者参考。重入锁支持重入和公平与非公平两种实现方式,通过对比和分析,读者可以更好地理解和应用重入锁。 ... [详细]
  • Java 11相对于Java 8,OptaPlanner性能提升有多大?
    本文通过基准测试比较了Java 11和Java 8对OptaPlanner的性能提升。测试结果表明,在相同的硬件环境下,Java 11相对于Java 8在垃圾回收方面表现更好,从而提升了OptaPlanner的性能。 ... [详细]
  • 本文详细介绍了Android中的坐标系以及与View相关的方法。首先介绍了Android坐标系和视图坐标系的概念,并通过图示进行了解释。接着提到了View的大小可以超过手机屏幕,并且只有在手机屏幕内才能看到。最后,作者表示将在后续文章中继续探讨与View相关的内容。 ... [详细]
author-avatar
ccmm6688
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有