private String getPixelString(RasterDataNode raster, int x, int y, int level) {
if (isPixelValid(raster, x, y, level)) {
if (raster.isScalingApplied() || ProductData.isFloatingPointType(raster.getDataType())) {
int dataType = raster.getGeophysicalDataType();
if (dataType == ProductData.TYPE_FLOAT64) {
double pixel = ProductUtils.getGeophysicalSampleAsDouble(raster, x, y, level);
return String.format("%.10f", pixel);
} else if (dataType == ProductData.TYPE_FLOAT32) {
double pixel = ProductUtils.getGeophysicalSampleAsDouble(raster, x, y, level);
return String.format("%.5f", pixel);
}
}
return String.valueOf(ProductUtils.getGeophysicalSampleAsLong(raster, x, y, level));
} else {
return RasterDataNode.NO_DATA_TEXT;
}
}