On Thu, Jul 18, 2019 at 4:08 PM Josh Fix <[email protected]> wrote:

> Thanks Andrea,
>
>    - Can you point me to the source of the read parameters for this
>    operation?  Would it simply be a new member variable in
>    FeatureInfoRequestParameters, or are you talking about a GeneralParameter?
>
>
A GeneralParameterValue that each GridCoverageReader gets as part of the
read operation


>
>    - Is "excess granule removal" something that I would have to
>    call/invoke?
>
> Something that you have to prepare for adding extra information in the
sources, either sidecar masks or integrated raster masks, and then
configure in
the mosaic file to activate. There are no much docs about it I think (or at
least, a quick google search did not return them), but there is a small
mention here:
https://geoserver.geo-solutions.it/edu/en/raster_data/mosaic_pyramid.html

Anyhow, probably something you're not going to use.


>
>    - For the feature collection aspect, the RasterLayerIdentifier
>    currently returns a FeatureCollection containing a single SimpleFeature
>    containing the pixel values.  Instead of that feature containing a feature
>    collection, I could potentially generatemultiple features in the collection
>    that's already being created, one for each feature at that pixel location.
>    However, this seems overkill and excessive duplication of data as each
>    feature would have the same values.
>
> Agreed

>
>    - Using complex features for the response and including other feature
>    data you mentioned (cloud cover, etc), in the event of multiple originating
>    features, would those values have to be aggregated or averaged or
>    something?  Taking this a step further, would it be useful or make sense to
>    build that collection that includes the original individual feature data
>    and original pixel values for each original feature, and then a
>    meta-feature that represents the mosaic?
>
> It would allow to avoid the duplication and create a "tree model" where
the root has the pixel values and a property contains a list of
sub-features.
However switching from simple to complex features is hard... it would allow
for probably the best setup, but it's hard.


> I'm getting pretty far out of my league here as this gets more complex, as
> I don't understand how granule selection works or what actually happens
> when there are multiple images. I based my original proposal on the
> discovery that the coverage contains a single "sourceUrl" property at the
> time the single SimpleFeature containing the pixel values is created.
> Tracing back further, the GranuleLoadingResult contains a single feature
> called "originator", and the RasterLayerResponse contains a single String
> for "sourceUrl", which it puts in the grid coverage's property map with the
> key GridCoverage2DReader.SOURCE_URL_PROPERTY.
>

That property is a "fake", it just gives you the url of one of the granules
used. I don't remember why/how it was added, Ben worked on it.
If you check the coverage returned it also contains the list of all paths
for source files though, see
https://github.com/geotools/geotools/blob/6df64a73e9b5288ed7523da95a8446b45fce0205/modules/library/coverage/src/main/java/org/geotools/coverage/grid/io/GridCoverage2DReader.java#L97
and its usages.

Image mosaic has "killed" many developers, only the most senior ones in
GeoSolutions are allowed anywhere
near it (part because it's very old code, part because it does so many
things it's hard to keep it in one developer's head...
I haven't managed to fit it all into mine so far)... you have been warned
;-)

Cheers
Andrea

==

GeoServer Professional Services from the experts! Visit http://goo.gl/it488V
for more information. == Ing. Andrea Aime @geowolf Technical Lead
GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39
0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549
http://www.geo-solutions.it http://twitter.com/geosolutions_it
------------------------------------------------------- *Con riferimento
alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 -
Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni
circostanza inerente alla presente email (il suo contenuto, gli eventuali
allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
sarei comunque grato se potesse darmene notizia. This email is intended
only for the person or entity to which it is addressed and may contain
information that is privileged, confidential or otherwise protected from
disclosure. We remind that - as provided by European Regulation 2016/679
“GDPR” - copying, dissemination or use of this e-mail or the information
herein by anyone other than the intended recipient is prohibited. If you
have received this email by mistake, please notify us immediately by
telephone or e-mail.*
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to