Hello,

I am working on some modifications to allow GeoServer to support dimensions
other than TIME and ELEVATION for coverage layers, and I was wondering if
this group could comment on whether this approach is reasonable, and also
what it would take to get my changes included in the mainline GeoServer
branch.

As I understand it, GeoServer currently supports TIME and ELEVATION
dimensions for coverage layers through the use of custom plugins that define
their own coverage readers (by subclassing
org.geotools.coverage.grid.io.AbstractGridCoverage2DReader). The actual
handling of dimensions is determined by the custom coverage reader's
implementation of the getMetadataValue(String) and
read(GeneralParameterValue[]) methods, while the set of supported dimensions
is advertised via its getMetadataNames() method. This mechanism is currently
limited strictly by the fact that the core GeoServer logic expressly ignores
any metadata entry that is not a "TIME" or "ELEVATION" entry. I would like
to remove this limitation, so that custom plugins can truly support custom
dimensions.

The changes to core GeoServer would be minimal, and would occur in the
following classes:

org.geoserver.wms.capabilities.DimensionHelper (writes dimension entries to
WMS GetCapabilities response) - modify handleRasterLayerDimensions and
declareWMS11Dimensions methods to process any metadata entry whose name is
valid according to the coverage reader (in addition to the current
processing for "time" and "elevation" entries)

org.geoserver.catalog.util.ReaderDimensionsAccessor - add getDomain(String)
and hasDomain(String) methods so that coverage reader queries are not
limited to just time and elevation

DefaultWebCoverageService100 - modify getCoverage method so that in addition
to "ELEVATION" axis subsets being handled, any axis subset whose name is
valid according to the coverage reader will be similarly handled (and
corrsponding entries will be included in the array passed to the coverage
reader's read(GeneralParameterValue[]) method).


Any comments, as well as guidance on submitting this for inclusion in
mainline, would be appreciated.

Thank you,
Mike

--
View this message in context: 
http://osgeo-org.1560.n6.nabble.com/Modification-to-support-custom-dimensions-for-coverage-layers-tp4474094p4474094.html
Sent from the GeoServer - Dev mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to