Represents a map-based rain computation result. This class extends RainComputationAbstract to provide map-specific functionality for rain data processing.

Example

const computation = new RainComputationMap({
id: 'comp1',
date: new Date(),
isReady: true,
map: [] // Your rain measurement data here
});

Remarks

This class is used in the following API endpoints:

  • api/rains/:id/computations/:computationId?format=map
  • api/rains/:id/computations?format=map&begin=...

Hierarchy (view full)

Constructors

  • Creates a new RainComputationMap instance.

    Parameters

    • json: {
          id: string;
          date: Date;
          isReady: boolean;
          map: string | RainMeasure[];
          links?: Link[] | RaainNode[];
          version?: string;
          quality?: number;
          progressIngest?: number;
          progressComputing?: number;
          timeSpentInMs?: number;
          isDoneDate?: Date;
          launchedBy?: string;
          rain?: string | Link | RaainNode;
          radars?: string[] | Link[] | RaainNode[];
      }

      The configuration object containing all necessary parameters

      • id: string

        Unique identifier for the computation

      • date: Date

        Timestamp of the computation

      • isReady: boolean

        Whether the computation is ready

      • map: string | RainMeasure[]

        Array of rain measurements or stringified JSON

      • Optional links?: Link[] | RaainNode[]

        Optional array of related nodes or links

      • Optional version?: string

        Optional version string

      • Optional quality?: number

        Optional quality metric (0-1), -1 if unknown

      • Optional progressIngest?: number

        Optional ingestion progress (0-100)

      • Optional progressComputing?: number

        Optional computing progress (0-100)

      • Optional timeSpentInMs?: number

        Optional computation time in milliseconds

      • Optional isDoneDate?: Date

        Optional completion timestamp

      • Optional launchedBy?: string

        Optional user identifier

      • Optional rain?: string | Link | RaainNode

        Optional related rain node

      • Optional radars?: string[] | Link[] | RaainNode[]

        Optional array of related radar nodes

    Returns RainComputationMap

Properties

id: string

Unique identifier for the node

version: string

Version string of the node

quality: number
progressIngest: number
progressComputing: number
timeSpentInMs: number
date: Date
isReady: boolean
isDoneDate: Date
launchedBy: string
name: string

Accessors

  • Gets all links associated with the node.

    Returns Link[]

    Array of HATEOAS links

  • Sets the links for the node.

    Parameters

    Returns void

Methods

  • Converts the computation to a JSON object.

    Returns {
        id: string;
        links: Link[];
        version?: string;
        isReady: boolean;
        name: string;
        date: Date;
        quality: number;
        progressIngest: number;
        progressComputing: number;
        timeSpentInMs: number;
        isDoneDate: Date;
        launchedBy: string;
        rain: string;
        radars: string[];
        map: string;
    }

    A JSON object containing all relevant data

    • id: string
    • links: Link[]
    • Optional version?: string
    • isReady: boolean
    • name: string
    • date: Date
    • quality: number
    • progressIngest: number
    • progressComputing: number
    • timeSpentInMs: number
    • isDoneDate: Date
    • launchedBy: string
    • rain: string
    • radars: string[]
    • map: string

    Remarks

    This method overrides the parent class's toJSON method to handle the map property and remove the results property which is not used in this implementation.

  • Sets the map data with optional merging capabilities.

    Parameters

    • mapData: string | RainMeasure[]

      The rain measurement data to set

    • options: {
          mergeStrategy: MergeStrategy;
          cartesianTools?: CartesianTools;
          mergeLimitPoints?: [LatLng, LatLng];
          removeNullValues?: boolean;
      }

      Configuration options for data processing

      • mergeStrategy: MergeStrategy

        Strategy to use when merging data

      • Optional cartesianTools?: CartesianTools

        Optional tools for coordinate transformations

      • Optional mergeLimitPoints?: [LatLng, LatLng]

        Optional boundary points for merging

      • Optional removeNullValues?: boolean

        Whether to remove null values during merge

    Returns void

    Remarks

    This method handles both string and array inputs, and can perform merging operations based on the provided options. The data is always stored internally as a stringified JSON array.