Class AbstractContinuousDomainDataset

    • Method Detail

      • getFeatureIds

        public Set<String> getFeatureIds()
        Specified by:
        getFeatureIds in interface Dataset
        Returns:
        the IDs of features which are present in this Dataset
      • extractProfileFeatures

        public List<? extends ProfileFeature> extractProfileFeatures​(Set<String> varIds,
                                                                     BoundingBox bbox,
                                                                     Extent<Double> zExtent,
                                                                     Extent<org.joda.time.DateTime> tExtent,
                                                                     HorizontalPosition targetPos,
                                                                     org.joda.time.DateTime targetTime)
                                                              throws DataReadingException,
                                                                     UnsupportedOperationException,
                                                                     VariableNotFoundException
        Description copied from interface: Dataset
        Extracts ProfileFeature(s) from the Dataset
        Specified by:
        extractProfileFeatures in interface Dataset
        Parameters:
        varIds - The variable IDs to extract. If this is null then all variable IDs will be plotted. Any non-scalar parent variables will have all of their child variables extracted.
        bbox -
        • If this BoundingBox is non- null, all measurements falling within it will be returned.
        • If it is null, only measurements which match the horizontal position given by targetPos will be extracted.
        • If both bbox and targetPos are null no constraint is placed on horizontal positions - e.g. for a gridded field a profile will be returned for every horizontal grid point.
        zExtent -
        • If this is non- null, all ProfileFeatures whose domains have any intersection with this vertical extent will be extracted. The domains of the extracted ProfileFeature s will be the entire available domains, not just the intersection.
        • If this is null , no constraint will be placed on the vertical domain of the ProfileFeatures to extract.
        tExtent -
        • If this is non- null, all measurements which fall entirely within its extent will be extracted
        • If it is null only profiles matching the time specified by targetT will be extracted.
        • If tExtent and targetT are both null , ProfileFeatures for all available time values will be extracted.
        targetPos -
        • If the bbox argument is null, only measurements which match this horizontal position will be extracted. In the case of a gridded feature, this will be the profile of the grid cell which the position falls into, but for a dataset with a continuous HorizontalDomain only exact matches will be extracted
        • If both bbox and targetPos are null no constraint is placed on horizontal positions - e.g. for a gridded field a profile will be returned for every horizontal grid point.
        • If this is non-null, the resulting Collection will be sorted according to distance (in co-ordinate units) from the target position
        targetTime -
        • If tExtent is null only profiles matching the time specified by this parameter will be extracted. In the case of a gridded dataset a time is considered to match if the method TimeAxis#contains(DateTime) on its time axis returns true for the target time. For a non-gridded dataset, the feature time must exactly match the target time.
        • If tExtent and targetT are both null , ProfileFeatures for all available time values will be extracted.
        Returns:
        A Collection of ProfileFeatures, sorted by their distance from the target horizontal position, if it exists.
        Throws:
        DataReadingException - if there is a problem reading the underlying data
        UnsupportedOperationException - if not all of the requested variables have a vertical domain
        VariableNotFoundException - if one or more of the specified variables are not present in this dataset
      • extractTimeseriesFeatures

        public List<? extends PointSeriesFeature> extractTimeseriesFeatures​(Set<String> varIds,
                                                                            BoundingBox bbox,
                                                                            Extent<Double> zExtent,
                                                                            Extent<org.joda.time.DateTime> tExtent,
                                                                            HorizontalPosition targetPos,
                                                                            Double targetZ)
                                                                     throws DataReadingException,
                                                                            UnsupportedOperationException,
                                                                            VariableNotFoundException
        Description copied from interface: Dataset
        Extracts PointSeriesFeature(s) from the Dataset
        Specified by:
        extractTimeseriesFeatures in interface Dataset
        Parameters:
        varIds - The variable IDs to extract. If this is null then all variable IDs will be plotted. Any non-scalar parent variables will have all of their child variables extracted.
        bbox -
        • If this BoundingBox is non- null, all measurements falling within it will be returned.
        • If it is null, only measurements which match the horizontal position given by targetPos will be extracted.
        • If both bbox and targetPos are null no constraint is placed on horizontal positions - e.g. for a gridded field a profile will be returned for every horizontal grid point.
        zExtent -
        • If this is non- null, all measurements which fall entirely within its extent will be extracted
        • If it is null only timeseries matching the depth specified by targetZ will be extracted.
        • If zExtent and targetZ are both null , PointSeriesFeatures for all available depth values will be extracted.
        tExtent -
        • If this is non- null, all PointSeriesFeatures whose domains have any intersection with this time extent will be extracted. The domains of the extracted PointSeriesFeature s will be the entire available domains, not just the intersection.
        • If this is null , no constraint will be placed on the time domain of the PointSeriesFeatures to extract.
        targetPos -
        • If the bbox argument is null, only measurements which match this horizontal position will be extracted. In the case of a gridded feature, this will be the profile of the grid cell which the position falls into, but for a dataset with a continuous HorizontalDomain only exact matches will be extracted
        • If both bbox and targetPos are null no constraint is placed on horizontal positions - e.g. for a gridded field a profile will be returned for every horizontal grid point.
        • If this is non-null, the resulting Collection will be sorted according to distance (in co-ordinate units) from the target position
        targetZ -
        • If zExtent is null only timeseries matching the depth specified by this parameter will be extracted. In the case of a gridded dataset a depth is considered to match if the method VerticalAxis#contains(Double) on its vertical axis returns true for the target depth. For a non-gridded dataset, the feature depth must exactly match the target depth.
        • If zExtent and targetZ are both null , PointSeriesFeatures for all available time values will be extracted.
        Returns:
        A Collection of PointSeriesFeatures, sorted by their distance from the target horizontal position, if it exists.
        Throws:
        DataReadingException - if there is a problem reading the underlying data
        UnsupportedOperationException - if not all of the requested variables have a time domain
        VariableNotFoundException - if one or more of the specified variables are not present in this dataset
      • getDatasetBoundingBox

        protected abstract BoundingBox getDatasetBoundingBox()
        Returns:
        The BoundingBox of the entire dataset
      • getDatasetVerticalExtent

        protected abstract Extent<Double> getDatasetVerticalExtent()
        Returns:
        The Extent of the vertical domain for the entire dataset
      • getDatasetTimeExtent

        protected abstract Extent<org.joda.time.DateTime> getDatasetTimeExtent()
        Returns:
        The Extent of the time domain for the entire dataset