Re: [Geoserver-users] Multi-channel raster reads slow

2019-01-16 Thread ocox via Geoserver-users
Hey Andrea,

That's a great insight, thanks.  In the longer term I will look at
contributing to the reader, but in the short term the ImageMosaic looks a
good idea.
One final question on this, I've generated an Image Mosaic using the
individual bands, but the coverage view only recognises this as containing a
single band.  I've added a 'band' attribute into the indexer, should
something like this be used to configure the coverage view with multiple
bands?


Cheers

 



--
Sent from: http://osgeo-org.1560.x6.nabble.com/GeoServer-User-f3786390.html


___
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users


[Geoserver-users] Multi-channel raster reads slow

2019-01-14 Thread ocox via Geoserver-users
I have a large number of raster layers for known areas of interest with
different measurements for the same area and timestep stored in different
files.  To reduce the number of layers I've concatenated the measurements
for the same area/time into multi-channel layers with different stylesheets
to display each band.  

So let's say I used to have layers
20190114_BlueCarPark_1.tif,20190114_BlueCarPark_2.tif and so on, I now have
a single later 20190114_BlueCarPark.tif that contains each of the old layers
from Blue car Park on 20190114.  These channels are stored band sequentially
to allow channels to be read in continuous chunks.

However, I've found that this is causing WMS rendering to be quite a bit
slower, my guess is that rather than determining which pixels are required,
Geoserver is maybe reading the entire 3-D array from file and then
subsetting down to the channel specified in the stylesheet.  Is that
correct?  

I'm using the default ImageIO library rather than the extension



--
Sent from: http://osgeo-org.1560.x6.nabble.com/GeoServer-User-f3786390.html


___
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users


[Geoserver-users] WPS GridCoverage2D processes and NoData values

2018-11-14 Thread ocox via Geoserver-users
Hi,

I'm working on a simple WPS process that subtracts one GridCoverage2D from
another (I hope this code shows up ok).  But I can't seem to work out how to
have the SubtractFromConst and Add operations respect the NoData values in
the input GridCoverage2D.  I've looked through the Javadocs for the
processors, but can't seem to find anything online.  Can anyone suggest
anything I might be missing?  

Thanks,
Owen

 public GridCoverage2D execute(
@DescribeParameter(name = "coverageA", description = "First
input raster")
GridCoverage2D coverageA,
@DescribeParameter(name = "coverageB", description = "Second
input raster")
GridCoverage2D coverageB,
ProgressListener progressListener)
throws ProcessException {


BaseCoverageAlgebraProcess.checkCompatibleCoverages(coverageA,
coverageB);

final double[] constants = {0};

final ParameterValueGroup subParam =
PROCESSOR.getOperation("SubtractFromConst").getParameters();
 
subParam.parameter("source").setValue(coverageB);
subParam.parameter("constants").setValue(constants);

final ParameterValueGroup addParam =
PROCESSOR.getOperation("Add").getParameters();
addParam.parameter("source0").setValue(coverageA);
addParam.parameter("source1").setValue((GridCoverage2D)
PROCESSOR.doOperation(subParam));

return (GridCoverage2D) PROCESSOR.doOperation(addParam);
}




--
Sent from: http://osgeo-org.1560.x6.nabble.com/GeoServer-User-f3786390.html


___
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users