Class VisualizeIsochroneRequest

  • All Implemented Interfaces:
    org.apache.avro.generic.GenericContainer, org.apache.avro.generic.IndexedRecord

    public class VisualizeIsochroneRequest
    extends Object
    implements org.apache.avro.generic.IndexedRecord
    A set of parameters for GPUdb.visualizeIsochrone.

    Generate an image containing isolines for travel results using an existing graph. Isolines represent curves of equal cost, with cost typically referring to the time or distance assigned as the weights of the underlying graph. See Graphs and Solvers for more information on graphs.

    • Constructor Detail

      • VisualizeIsochroneRequest

        public VisualizeIsochroneRequest()
        Constructs a VisualizeIsochroneRequest object with default parameters.
      • VisualizeIsochroneRequest

        public VisualizeIsochroneRequest​(String graphName,
                                         String sourceNode,
                                         double maxSolutionRadius,
                                         List<String> weightsOnEdges,
                                         List<String> restrictions,
                                         int numLevels,
                                         boolean generateImage,
                                         String levelsTable,
                                         Map<String,​String> styleOptions,
                                         Map<String,​String> solveOptions,
                                         Map<String,​String> contourOptions,
                                         Map<String,​String> options)
        Constructs a VisualizeIsochroneRequest object with the specified parameters.
        Parameters:
        graphName - Name of the graph on which the isochrone is to be computed.
        sourceNode - Starting vertex on the underlying graph from/to which the isochrones are created.
        maxSolutionRadius - Extent of the search radius around sourceNode. Set to '-1.0' for unrestricted search radius. The default value is -1.0.
        weightsOnEdges - Additional weights to apply to the edges of an existing graph. Weights must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS WEIGHTS_EDGE_ID', or expressions, e.g., 'ST_LENGTH(wkt) AS WEIGHTS_VALUESPECIFIED'. Any provided weights will be added (in the case of 'WEIGHTS_VALUESPECIFIED') to or multiplied with (in the case of 'WEIGHTS_FACTORSPECIFIED') the existing weight(s). The default value is an empty List.
        restrictions - Additional restrictions to apply to the nodes/edges of an existing graph. Restrictions must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS RESTRICTIONS_EDGE_ID', or expressions, e.g., 'column/2 AS RESTRICTIONS_VALUECOMPARED'. If REMOVE_PREVIOUS_RESTRICTIONS is set to TRUE, any provided restrictions will replace the existing restrictions. If REMOVE_PREVIOUS_RESTRICTIONS is set to FALSE, any provided restrictions will be added (in the case of 'RESTRICTIONS_VALUECOMPARED') to or replaced (in the case of 'RESTRICTIONS_ONOFFCOMPARED'). The default value is an empty List.
        numLevels - Number of equally-separated isochrones to compute. The default value is 1.
        generateImage - If set to TRUE, generates a PNG image of the isochrones in the response. Supported values:
        • true
        • false
        The default value is true.
        levelsTable - Name of the table to output the isochrones to, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria. The table will contain levels and their corresponding WKT geometry. If no value is provided, the table is not generated. The default value is ''.
        styleOptions - Various style related options of the isochrone image.
        solveOptions - Solver specific parameters.
        • REMOVE_PREVIOUS_RESTRICTIONS: Ignore the restrictions applied to the graph during the creation stage and only use the restrictions specified in this request if set to TRUE. Supported values: The default value is FALSE.
        • RESTRICTION_THRESHOLD_VALUE: Value-based restriction comparison. Any node or edge with a 'RESTRICTIONS_VALUECOMPARED' value greater than the RESTRICTION_THRESHOLD_VALUE will not be included in the solution.
        • UNIFORM_WEIGHTS: When specified, assigns the given value to all the edges in the graph. Note that weights provided in weightsOnEdges will override this value.
        The default value is an empty Map.
        contourOptions - Solver specific parameters.
        • PROJECTION: Spatial Reference System (i.e. EPSG Code). Supported values: The default value is PLATE_CARREE.
        • WIDTH: When generateImage is set to TRUE, width of the generated image. The default value is '512'.
        • HEIGHT: When generateImage is set to TRUE, height of the generated image. If the default value is used, the HEIGHT is set to the value resulting from multiplying the aspect ratio by the WIDTH. The default value is '-1'.
        • SEARCH_RADIUS: When interpolating the graph solution to generate the isochrone, neighborhood of influence of sample data (in percent of the image/grid). The default value is '20'.
        • GRID_SIZE: When interpolating the graph solution to generate the isochrone, number of subdivisions along the x axis when building the grid (the y is computed using the aspect ratio of the output image). The default value is '100'.
        • COLOR_ISOLINES: Color each isoline according to the colormap; otherwise, use the foreground color. Supported values: The default value is TRUE.
        • ADD_LABELS: If set to TRUE, add labels to the isolines. Supported values: The default value is FALSE.
        • LABELS_FONT_SIZE: When ADD_LABELS is set to TRUE, size of the font (in pixels) to use for labels. The default value is '12'.
        • LABELS_FONT_FAMILY: When ADD_LABELS is set to TRUE, font name to be used when adding labels. The default value is 'arial'.
        • LABELS_SEARCH_WINDOW: When ADD_LABELS is set to TRUE, a search window is used to rate the local quality of each isoline. Smooth, continuous, long stretches with relatively flat angles are favored. The provided value is multiplied by the LABELS_FONT_SIZE to calculate the final window size. The default value is '4'.
        • LABELS_INTRALEVEL_SEPARATION: When ADD_LABELS is set to TRUE, this value determines the distance (in multiples of the LABELS_FONT_SIZE) to use when separating labels of different values. The default value is '4'.
        • LABELS_INTERLEVEL_SEPARATION: When ADD_LABELS is set to TRUE, this value determines the distance (in percent of the total window size) to use when separating labels of the same value. The default value is '20'.
        • LABELS_MAX_ANGLE: When ADD_LABELS is set to TRUE, maximum angle (in degrees) from the vertical to use when adding labels. The default value is '60'.
        The default value is an empty Map.
        options - Additional parameters.
        • SOLVE_TABLE: Name of the table to host intermediate solve results, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria. This table will contain the position and cost for each vertex in the graph. If the default value is used, a temporary table is created and deleted once the solution is calculated. The default value is ''.
        • IS_REPLICATED: If set to TRUE, replicate the SOLVE_TABLE. Supported values: The default value is TRUE.
        • DATA_MIN_X: Lower bound for the x values. If not provided, it will be computed from the bounds of the input data.
        • DATA_MAX_X: Upper bound for the x values. If not provided, it will be computed from the bounds of the input data.
        • DATA_MIN_Y: Lower bound for the y values. If not provided, it will be computed from the bounds of the input data.
        • DATA_MAX_Y: Upper bound for the y values. If not provided, it will be computed from the bounds of the input data.
        • CONCAVITY_LEVEL: Factor to qualify the concavity of the isochrone curves. The lower the value, the more convex (with '0' being completely convex and '1' being the most concave). The default value is '0.5'. The minimum allowed value is '0'. The maximum allowed value is '1'.
        • USE_PRIORITY_QUEUE_SOLVERS: sets the solver methods explicitly if true. Supported values:
          • TRUE: uses the solvers scheduled for 'shortest_path' and 'inverse_shortest_path' based on solve_direction
          • FALSE: uses the solvers 'priority_queue' and 'inverse_priority_queue' based on solve_direction
          The default value is FALSE.
        • SOLVE_DIRECTION: Specify whether we are going to the source node, or starting from it. Supported values:
          • FROM_SOURCE: Shortest path to get to the source (inverse Dijkstra)
          • TO_SOURCE: Shortest path to source (Dijkstra)
          The default value is FROM_SOURCE.
        The default value is an empty Map.
    • Method Detail

      • getClassSchema

        public static org.apache.avro.Schema getClassSchema()
        This method supports the Avro framework and is not intended to be called directly by the user.
        Returns:
        The schema for the class.
      • getGraphName

        public String getGraphName()
        Name of the graph on which the isochrone is to be computed.
        Returns:
        The current value of graphName.
      • setGraphName

        public VisualizeIsochroneRequest setGraphName​(String graphName)
        Name of the graph on which the isochrone is to be computed.
        Parameters:
        graphName - The new value for graphName.
        Returns:
        this to mimic the builder pattern.
      • getSourceNode

        public String getSourceNode()
        Starting vertex on the underlying graph from/to which the isochrones are created.
        Returns:
        The current value of sourceNode.
      • setSourceNode

        public VisualizeIsochroneRequest setSourceNode​(String sourceNode)
        Starting vertex on the underlying graph from/to which the isochrones are created.
        Parameters:
        sourceNode - The new value for sourceNode.
        Returns:
        this to mimic the builder pattern.
      • getMaxSolutionRadius

        public double getMaxSolutionRadius()
        Extent of the search radius around sourceNode. Set to '-1.0' for unrestricted search radius. The default value is -1.0.
        Returns:
        The current value of maxSolutionRadius.
      • setMaxSolutionRadius

        public VisualizeIsochroneRequest setMaxSolutionRadius​(double maxSolutionRadius)
        Extent of the search radius around sourceNode. Set to '-1.0' for unrestricted search radius. The default value is -1.0.
        Parameters:
        maxSolutionRadius - The new value for maxSolutionRadius.
        Returns:
        this to mimic the builder pattern.
      • getWeightsOnEdges

        public List<String> getWeightsOnEdges()
        Additional weights to apply to the edges of an existing graph. Weights must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS WEIGHTS_EDGE_ID', or expressions, e.g., 'ST_LENGTH(wkt) AS WEIGHTS_VALUESPECIFIED'. Any provided weights will be added (in the case of 'WEIGHTS_VALUESPECIFIED') to or multiplied with (in the case of 'WEIGHTS_FACTORSPECIFIED') the existing weight(s). The default value is an empty List.
        Returns:
        The current value of weightsOnEdges.
      • setWeightsOnEdges

        public VisualizeIsochroneRequest setWeightsOnEdges​(List<String> weightsOnEdges)
        Additional weights to apply to the edges of an existing graph. Weights must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS WEIGHTS_EDGE_ID', or expressions, e.g., 'ST_LENGTH(wkt) AS WEIGHTS_VALUESPECIFIED'. Any provided weights will be added (in the case of 'WEIGHTS_VALUESPECIFIED') to or multiplied with (in the case of 'WEIGHTS_FACTORSPECIFIED') the existing weight(s). The default value is an empty List.
        Parameters:
        weightsOnEdges - The new value for weightsOnEdges.
        Returns:
        this to mimic the builder pattern.
      • getRestrictions

        public List<String> getRestrictions()
        Additional restrictions to apply to the nodes/edges of an existing graph. Restrictions must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS RESTRICTIONS_EDGE_ID', or expressions, e.g., 'column/2 AS RESTRICTIONS_VALUECOMPARED'. If REMOVE_PREVIOUS_RESTRICTIONS is set to TRUE, any provided restrictions will replace the existing restrictions. If REMOVE_PREVIOUS_RESTRICTIONS is set to FALSE, any provided restrictions will be added (in the case of 'RESTRICTIONS_VALUECOMPARED') to or replaced (in the case of 'RESTRICTIONS_ONOFFCOMPARED'). The default value is an empty List.
        Returns:
        The current value of restrictions.
      • setRestrictions

        public VisualizeIsochroneRequest setRestrictions​(List<String> restrictions)
        Additional restrictions to apply to the nodes/edges of an existing graph. Restrictions must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS RESTRICTIONS_EDGE_ID', or expressions, e.g., 'column/2 AS RESTRICTIONS_VALUECOMPARED'. If REMOVE_PREVIOUS_RESTRICTIONS is set to TRUE, any provided restrictions will replace the existing restrictions. If REMOVE_PREVIOUS_RESTRICTIONS is set to FALSE, any provided restrictions will be added (in the case of 'RESTRICTIONS_VALUECOMPARED') to or replaced (in the case of 'RESTRICTIONS_ONOFFCOMPARED'). The default value is an empty List.
        Parameters:
        restrictions - The new value for restrictions.
        Returns:
        this to mimic the builder pattern.
      • getNumLevels

        public int getNumLevels()
        Number of equally-separated isochrones to compute. The default value is 1.
        Returns:
        The current value of numLevels.
      • setNumLevels

        public VisualizeIsochroneRequest setNumLevels​(int numLevels)
        Number of equally-separated isochrones to compute. The default value is 1.
        Parameters:
        numLevels - The new value for numLevels.
        Returns:
        this to mimic the builder pattern.
      • getGenerateImage

        public boolean getGenerateImage()
        If set to TRUE, generates a PNG image of the isochrones in the response. Supported values:
        • true
        • false
        The default value is true.
        Returns:
        The current value of generateImage.
      • setGenerateImage

        public VisualizeIsochroneRequest setGenerateImage​(boolean generateImage)
        If set to TRUE, generates a PNG image of the isochrones in the response. Supported values:
        • true
        • false
        The default value is true.
        Parameters:
        generateImage - The new value for generateImage.
        Returns:
        this to mimic the builder pattern.
      • getLevelsTable

        public String getLevelsTable()
        Name of the table to output the isochrones to, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria. The table will contain levels and their corresponding WKT geometry. If no value is provided, the table is not generated. The default value is ''.
        Returns:
        The current value of levelsTable.
      • setLevelsTable

        public VisualizeIsochroneRequest setLevelsTable​(String levelsTable)
        Name of the table to output the isochrones to, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria. The table will contain levels and their corresponding WKT geometry. If no value is provided, the table is not generated. The default value is ''.
        Parameters:
        levelsTable - The new value for levelsTable.
        Returns:
        this to mimic the builder pattern.
      • getSolveOptions

        public Map<String,​String> getSolveOptions()
        Solver specific parameters. The default value is an empty Map.
        Returns:
        The current value of solveOptions.
      • setSolveOptions

        public VisualizeIsochroneRequest setSolveOptions​(Map<String,​String> solveOptions)
        Solver specific parameters. The default value is an empty Map.
        Parameters:
        solveOptions - The new value for solveOptions.
        Returns:
        this to mimic the builder pattern.
      • getContourOptions

        public Map<String,​String> getContourOptions()
        Solver specific parameters. The default value is an empty Map.
        Returns:
        The current value of contourOptions.
      • setContourOptions

        public VisualizeIsochroneRequest setContourOptions​(Map<String,​String> contourOptions)
        Solver specific parameters. The default value is an empty Map.
        Parameters:
        contourOptions - The new value for contourOptions.
        Returns:
        this to mimic the builder pattern.
      • getOptions

        public Map<String,​String> getOptions()
        Additional parameters.
        • SOLVE_TABLE: Name of the table to host intermediate solve results, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria. This table will contain the position and cost for each vertex in the graph. If the default value is used, a temporary table is created and deleted once the solution is calculated. The default value is ''.
        • IS_REPLICATED: If set to TRUE, replicate the SOLVE_TABLE. Supported values: The default value is TRUE.
        • DATA_MIN_X: Lower bound for the x values. If not provided, it will be computed from the bounds of the input data.
        • DATA_MAX_X: Upper bound for the x values. If not provided, it will be computed from the bounds of the input data.
        • DATA_MIN_Y: Lower bound for the y values. If not provided, it will be computed from the bounds of the input data.
        • DATA_MAX_Y: Upper bound for the y values. If not provided, it will be computed from the bounds of the input data.
        • CONCAVITY_LEVEL: Factor to qualify the concavity of the isochrone curves. The lower the value, the more convex (with '0' being completely convex and '1' being the most concave). The default value is '0.5'. The minimum allowed value is '0'. The maximum allowed value is '1'.
        • USE_PRIORITY_QUEUE_SOLVERS: sets the solver methods explicitly if true. Supported values:
          • TRUE: uses the solvers scheduled for 'shortest_path' and 'inverse_shortest_path' based on solve_direction
          • FALSE: uses the solvers 'priority_queue' and 'inverse_priority_queue' based on solve_direction
          The default value is FALSE.
        • SOLVE_DIRECTION: Specify whether we are going to the source node, or starting from it. Supported values:
          • FROM_SOURCE: Shortest path to get to the source (inverse Dijkstra)
          • TO_SOURCE: Shortest path to source (Dijkstra)
          The default value is FROM_SOURCE.
        The default value is an empty Map.
        Returns:
        The current value of options.
      • setOptions

        public VisualizeIsochroneRequest setOptions​(Map<String,​String> options)
        Additional parameters.
        • SOLVE_TABLE: Name of the table to host intermediate solve results, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria. This table will contain the position and cost for each vertex in the graph. If the default value is used, a temporary table is created and deleted once the solution is calculated. The default value is ''.
        • IS_REPLICATED: If set to TRUE, replicate the SOLVE_TABLE. Supported values: The default value is TRUE.
        • DATA_MIN_X: Lower bound for the x values. If not provided, it will be computed from the bounds of the input data.
        • DATA_MAX_X: Upper bound for the x values. If not provided, it will be computed from the bounds of the input data.
        • DATA_MIN_Y: Lower bound for the y values. If not provided, it will be computed from the bounds of the input data.
        • DATA_MAX_Y: Upper bound for the y values. If not provided, it will be computed from the bounds of the input data.
        • CONCAVITY_LEVEL: Factor to qualify the concavity of the isochrone curves. The lower the value, the more convex (with '0' being completely convex and '1' being the most concave). The default value is '0.5'. The minimum allowed value is '0'. The maximum allowed value is '1'.
        • USE_PRIORITY_QUEUE_SOLVERS: sets the solver methods explicitly if true. Supported values:
          • TRUE: uses the solvers scheduled for 'shortest_path' and 'inverse_shortest_path' based on solve_direction
          • FALSE: uses the solvers 'priority_queue' and 'inverse_priority_queue' based on solve_direction
          The default value is FALSE.
        • SOLVE_DIRECTION: Specify whether we are going to the source node, or starting from it. Supported values:
          • FROM_SOURCE: Shortest path to get to the source (inverse Dijkstra)
          • TO_SOURCE: Shortest path to source (Dijkstra)
          The default value is FROM_SOURCE.
        The default value is an empty Map.
        Parameters:
        options - The new value for options.
        Returns:
        this to mimic the builder pattern.
      • getSchema

        public org.apache.avro.Schema getSchema()
        This method supports the Avro framework and is not intended to be called directly by the user.
        Specified by:
        getSchema in interface org.apache.avro.generic.GenericContainer
        Returns:
        The schema object describing this class.
      • get

        public Object get​(int index)
        This method supports the Avro framework and is not intended to be called directly by the user.
        Specified by:
        get in interface org.apache.avro.generic.IndexedRecord
        Parameters:
        index - the position of the field to get
        Returns:
        value of the field with the given index.
        Throws:
        IndexOutOfBoundsException
      • put

        public void put​(int index,
                        Object value)
        This method supports the Avro framework and is not intended to be called directly by the user.
        Specified by:
        put in interface org.apache.avro.generic.IndexedRecord
        Parameters:
        index - the position of the field to set
        value - the value to set
        Throws:
        IndexOutOfBoundsException
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object