I was interested in submitting a PR to enhance the GetFeatureInfo response for image mosaics, but thought I would post here first.
When GetFeatureInfo is called on an image mosaic, the pixel values are returned in a table. The first column of the table is "fid", but is never populated. I would like to submit PRs (requires a PR for GeoTools and GeoServer) to return the fid(s) of the features used for granule(s) used for the corresponding pixel values. I thought I would start a conversation here first. The changes would entail: 1) [gt] Adding a "String sourceFid" to RasterLayerResponse <https://github.com/geotools/geotools/blob/master/modules/plugin/imagemosaic/src/main/java/org/geotools/gce/imagemosaic/RasterLayerResponse.java#L524> 2) [gt] In BaseSubmosaicProducer <https://github.com/geotools/geotools/blob/master/modules/plugin/imagemosaic/src/main/java/org/geotools/gce/imagemosaic/granulecollector/BaseSubmosaicProducer.java#L228>, get the fid from GranuleLoadingResult.originator <https://github.com/geotools/geotools/blob/master/modules/plugin/imagemosaic/src/main/java/org/geotools/gce/imagemosaic/GranuleDescriptor.java#L336>, which is a `SimpleFeature`, and set it on the rasterLayerResponse. 3) [gt] In RasterLayerResponse <https://github.com/geotools/geotools/blob/master/modules/plugin/imagemosaic/src/main/java/org/geotools/gce/imagemosaic/RasterLayerResponse.java#L1240>, put the fid into the properties map for the coverage. (maybe need to add a new public static final String for the key to GridCoverage2DReader... SOURCE_FID_PROPERTY?) 4) [gs] In RasterLayerIdentifier <https://github.com/geoserver/geoserver/blob/master/src/wms/src/main/java/org/geoserver/wms/featureinfo/RasterLayerIdentifier.java#L327>, get the fid from the properties map in the coverage object, and set it as the id in the call to SimpleFeatureBuilder.build. In the event the value comes from interpolation of more than one granule, the fid would be a comma separated string containing the feature ids of the granules used to calculate the value. Any thoughts or objections? V/r, Josh
_______________________________________________ Geoserver-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geoserver-devel
