Class MosaicCoverage

java.lang.Object
nz.org.riskscape.engine.defaults.data.MosaicCoverage
All Implemented Interfaces:
nz.org.riskscape.engine.coverage.TypedCoverage, nz.org.riskscape.engine.data.SelfDescribingScalarData

public class MosaicCoverage extends Object implements nz.org.riskscape.engine.coverage.TypedCoverage

A TypedCoverage that composites multiple coverages together by spatial location. Each underlying coverage is indexed by its envelope, and when sampled, the mosaic returns the max value from all of the intersecting coverages.

  • Nested Class Summary

    Nested classes/interfaces inherited from interface nz.org.riskscape.engine.coverage.TypedCoverage

    nz.org.riskscape.engine.coverage.TypedCoverage.Empty
  • Field Summary

    Fields inherited from interface nz.org.riskscape.engine.coverage.TypedCoverage

    DEFAULT_CRS
  • Constructor Summary

    Constructors
    Constructor
    Description
    MosaicCoverage(nz.org.riskscape.engine.geo.IntersectionIndex coverages, nz.org.riskscape.engine.types.Struct.StructMember coverageMember, nz.org.riskscape.engine.types.Type type)
    Creates a new MosaicCoverage instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    evaluate(org.locationtech.jts.geom.Point point)
     
    org.geotools.api.referencing.crs.CoordinateReferenceSystem
     
    Optional<org.geotools.geometry.jts.ReferencedEnvelope>
     
    Optional<Function<org.locationtech.jts.geom.Geometry,List<? extends Object>>>
     
    Optional<Function<org.locationtech.jts.geom.Geometry,List<nz.org.riskscape.engine.util.Pair<org.locationtech.jts.geom.Geometry,Object>>>>
     
    nz.org.riskscape.engine.types.Type
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface nz.org.riskscape.engine.coverage.TypedCoverage

    asRelation, getScalarDataType
  • Constructor Details

    • MosaicCoverage

      public MosaicCoverage(nz.org.riskscape.engine.geo.IntersectionIndex coverages, nz.org.riskscape.engine.types.Struct.StructMember coverageMember, nz.org.riskscape.engine.types.Type type)

      Creates a new MosaicCoverage instance.

      Parameters:
      coverages - Index of tuples, where each tuple contains a coverage and its spatial extent
      coverageMember - The member of each tuple that contains the TypedCoverage
      type -
  • Method Details

    • evaluate

      public Object evaluate(org.locationtech.jts.geom.Point point)
      Specified by:
      evaluate in interface nz.org.riskscape.engine.coverage.TypedCoverage
    • getEvaluateIntersectionOp

      public Optional<Function<org.locationtech.jts.geom.Geometry,List<nz.org.riskscape.engine.util.Pair<org.locationtech.jts.geom.Geometry,Object>>>> getEvaluateIntersectionOp()
      Specified by:
      getEvaluateIntersectionOp in interface nz.org.riskscape.engine.coverage.TypedCoverage
    • getEvaluateIntersectingValuesOp

      public Optional<Function<org.locationtech.jts.geom.Geometry,List<? extends Object>>> getEvaluateIntersectingValuesOp()
      Specified by:
      getEvaluateIntersectingValuesOp in interface nz.org.riskscape.engine.coverage.TypedCoverage
    • getCoordinateReferenceSystem

      public org.geotools.api.referencing.crs.CoordinateReferenceSystem getCoordinateReferenceSystem()
      Specified by:
      getCoordinateReferenceSystem in interface nz.org.riskscape.engine.coverage.TypedCoverage
    • getEnvelope

      public Optional<org.geotools.geometry.jts.ReferencedEnvelope> getEnvelope()
      Specified by:
      getEnvelope in interface nz.org.riskscape.engine.coverage.TypedCoverage
    • getType

      public nz.org.riskscape.engine.types.Type getType()
      Specified by:
      getType in interface nz.org.riskscape.engine.coverage.TypedCoverage