Version:

Geospatial Display

Overview

Kinetica provides a WMS service for generating image tiles from the geospatial data contained in it. The type of image tiles returned, the data used to generate the tiles, and the graphical styles in the tiles are specified in the query string of the WMS call. These would typically be used as overlays on top of a map. Examples of this can be seen in the demo that comes bundled with Kinetica at http://<Kinetica hostname>:8080/gaiademo. You can select any table with x,y cooordinates or WKT shapes and see the results.

A typical Kinetica WMS request would look like:

http://<kinetica.host>:9191/wms
        ?VERSION=1.1.1
        &REQUEST=GetMap
        &SRS=EPSG:4326
        &WIDTH=1024
        &HEIGHT=1024
        &LAYERS=MASTER
        &STYLES=raster
        &TRANSPARENT=TRUE

Required Parameters

The following parameters are required in all WMS calls:

Name Description Notes
VERSION WMS Version Must be 1.1.1
REQUEST WMS Request
  • GetMap for getting an image
  • GetCapabilities is also supported
SRS Spatial Reference System (i.e. EPSG code)
  • Plate Carree projection codes: EPSG:4326, PLATE_CARREE.
  • Web Mercator projection codes: 900913, EPSG:900913, 102100, EPSG:102100, 3857, EPSG:3857, WEB_MERCATOR.
  • Defaults to Plate Carree
WIDTH Image width Best performance if width is a power of 2
HEIGHT Image height Best performance if height is a power of 2
LAYERS The requested image layer(s) One or more comma separated Kinetica GUIDs (i.e. table IDs)
STYLES The style of image requested
  • raster
  • cb_raster
  • heatmap
  • labels
  • cached
TRANSPARENT Controls background transparency of the generated image
  • TRUE for transparent background
  • FALSE for opaque background
FORMAT Output image format Must be image/png
BBOX Geographic bounding box min_longitude, min_latitude, max_longitude, max_latitude [Note that Google Earth adds this in automatically]

Optional Parameters

The following parameters are optional for WMS calls:

Name Description Notes
X_ATTR Name of the attribute to be used as the longitude Must be a numeric attribute in at least one of the sets. Defaults to x if omitted
Y_ATTR Name of the attribute to be used as the latitude Must be a numeric attribute in at least one of the sets. Defaults to y if omitted

Modes

The following modes are supported:

  • RASTER
  • CB_RASTER
  • HEATMAP
  • LABEL
  • CACHED

Descriptions of each mode along with the mode-specific parameters can be found below.

RASTER

The raster mode is used to rasterize points, shapes, symbols, and/or tracks from one or more Kinetica tables. Available parameters are:

Name Description Allowable Values Default Value
DOPOINTS Rasterize point data toggle TRUE or FALSE TRUE
DOSHAPES Rasterize shapes toggle TRUE or FALSE TRUE
DOSYMBOLOGY Rasterize symbols toggle TRUE or FALSE FALSE
DOTRACKS Rasterize tracks TRUE or FALSE TRUE
POINTSIZES Size of points 0-20 3
POINTCOLORS Color of points Hex color FF0000 (red)
POINTSHAPES Shape of points
  • none
  • circle
  • square
  • diamond
  • hollowcircle
  • hollowsquare
  • hollowdiamond
  • SYMBOLCODE (to specify a symbol)
 
SHAPELINEWIDTHS Line widths of shapes 0-20 3
SHAPELINECOLORS Line colors for shapes Hex color FFFF00 (yellow)
SHAPEFILLCOLORS Fill color for closed shapes (i.e. polygons) Hex color (or -1 for no fill) -1 (no fill)
TRACKLINEWIDTHS Line widths of tracks 0-20 (0: don't draw the track lines) 3
TRACKLINECOLORS Line colors for tracks Hex color 00FF00 (green)
TRACKMARKERSIZES Size of track point markers 0-20 2
TRACKMARKERCOLORS Color of track point markers Hex color 0000FF (blue)
TRACKMARKERSHAPES Shape of track point markers
  • none
  • circle
  • square
  • diamond
  • hollowcircle
  • hollowsquare
  • hollowdiamond
  • SYMBOLCODE (to specify a symbol)
none
TRACKHEADSIZES Size of track head markers 0-20 10
TRACKHEADCOLORS Color of track head markers Hex color FFFFFF (white)
TRACKHEADSHAPES Shape of track head markers
  • none
  • circle
  • square
  • diamond
  • hollowcircle
  • hollowsquare
  • hollowdiamond
  • SYMBOLCODE (to specify a symbol)
circle

In addition, the WORLDLAYERS parameter can be used if the Kinetica table(s) specified in the LAYERS parameter only have a subset of all track points and the desired behavior is to render the entire track. In this case the unique track ids existing in the LAYERS table(s) will be identified, but the actual track points will be pulled from the WORLDLAYERS table(s).

Styling parameters must be specified for each Kinetica table provided in the LAYERS parameter. For instance, if LAYERS=LAYER1,LAYER2 then to set different point colors for each layer the syntax would be: POINTCOLORS=FF0000,0000FF. In this case points from LAYER1 would be rendered as red while points from LAYER2 would be rendered as blue.

All colors must be provided in hex notation in the format RRGGBB or AARRGGBB (to specify the alpha value). For example, opaque red may be given as FF0000 or FFFF0000.

Notes on symbology: To use symbols rather than points: - you must add symbols to Kinetica using the Insert Symbol function (/insert/symbol endpoint) - the type definition must include an attribute called SYMBOLCODE which is the desired symbol's identifier - the table to be displayed must include a column named SYMBOLCODE

Note: Labels and shapes cannot be rendered in the same WMS call. You can show both on the same map by creating separate map layers, each with its own WMS call.

CB_RASTER

The class break raster mode is for generating class break renderings. A class break rendering is the rasterization of the data from one or more Kinetica tables with styling applied on a per-class basis. Kinetica supports class breaks based on one or more data attributes. Distinct values (for strings) or ranges (for numeric attributes) must be provided in the CB_VALS/CB_VALS1 and CB_VALS2 parameters. In addition to all of the RASTER mode parameters the additional parameters for this mode are:

Name Description Allowable Values
CB_ATTR or CB_ATTR1 First class break attribute Required Any valid attribute name
CB_VALS or CB_VALS1 Values or ranges to apply for the class break Required Comma separated list of values or ranges (e.g. 0:5,5:10,15:30)
CB_ATTR2 List of second class break attributes Optional Comma separated list of valid attribute names. An empty string implies not using more than one attribute for the class break. For a non-empty list, there needs to be as many entries in the list as there are classes for the first attribute. However, the attribute names can be empty to indicate that for the corresponding class of the first attribute, no secondary class break will be applied. All the attribute names in this list must be different from the first attribute (e.g. attr2,attr3,attr2).
CB_VALS2

List of list of values/ranges to apply for the second class break

NOTE: Required only if CB_ATTR2 is used

Comma separated list of []-enclosed lists of values or ranges (e.g. [0:5,5:10],[of,on,so],[-50:-20]). Each square bracket enclosed list describes the secondary classes for the respective attribute in CB_ATTR2 and the respective class in CB_VALS/CB_VALS1.
USE_POINT_RENDERER

Set to true for points larger than 1 pixel.

NOTE: If unset, or ``false``, all points will be one pixel

true or false

All of the RASTER-mode styling parameters are valid for CB_RASTER; however, there must be styling parameters specified for each class. If there is a single class break attribute (i.e. CB_ATTR2 is not provided) then the number of classes is the number of entries in CB_VALS/CB_VALS1. If there are more than one class break attributes, then the number of total classes is the sum of the entries (each value/range) in CB_VALS2.

For example, say we wish to render the data in the MY_SET Kinetica table where string attribute named attr1 is equal to either DS1 or DS2, a numeric attribute named x is between [-5,0] or [5,10] for attr1==DS1, and another numeric attribute named y is between [0,42] for attr1==DS2. CB_ATTR/CB_ATTR1 would be attr1, and CB_VALS/CB_VALS1 would be DS1,DS2. CB_ATTR2 would be x,y, and CB_VALS2 would be [-5:0,5:10],[0:42]. We could accomplish this via the WMS request:

http://<kinetica.host>:9191/wms
        ?...
        &LAYERS=MY_SET
        &STYLES=cb_raster
        &CB_ATTR1=attr1
        &CB_VALS1=DS1,DS2
        &CB_ATTR2=x%2Cy
        &CB_VALS2=%5B-5%3A0%2C5%3A10%5D%2C%5B0%3A42%5D
        &POINTCOLORS=FF0000,00FF00,0000FF
        &...

In this case data from the set would be styled such that:

  • attr1=DS1 and x is in the range [-5,0] would have points rendered in red (FF0000)
  • attr1=DS1 and x is in the range [5,10] would have points rendered in green (00FF00)
  • attr1=DS2 and y is in the range [0,42] would have points rendered in blue (0000FF)
  • all other data would not be rendered

HEATMAP

The heatmap mode is used to generate a heat map image of one or more Kinetica tables. Heat maps show the density of data and use a color scheme to differentiate between low and high density areas. Available parameters are:

Name Description Allowable Values Default Value
BLUR_RADIUS Blurring radius for the heat map 1-32 5
COLORMAP Colormap for the heat map
  • jet
  • hot
  • hsv
  • gray
  • blues
  • greens
  • greys
  • oranges
  • purples
  • reds
(none)
GRADIENT_START_COLOR Gradient start color for the heat map Hex color FFFFFF (white)
GRADIENT_END_COLOR Gradient end color for the heat map Hex color FF0000 (red)
VAL_ATTR Attribute to use to calculate the density for the heat map An existing attribute of the type definition (none)

If both COLORMAP and GRADIENT_START_COLOR/GRADIENT_END_COLOR are provided then the COLORMAP is ignored and the user-provided GRADIENT_START_COLOR/GRADIENT_END_COLOR are used as the color scheme. If no VALUE_ATTR_NAME is specified, then the count of data points for any given position will be used to generate the heatmap.

LABELS

The labels mode is used to show labels on the map rather than points. Available parameters are:

Name Description Allowable Values Default Value
LABEL_LAYER table to render    
LABEL_X_ATTR x column name    
LABEL_Y_ATTR y column name    
LABEL_TEXT_STRING label to render, column name or literal value All printable characters  
LABEL_FONT font in the format of Name Style(s) Size or the name of the column containing the font (e.g. “Arial Bold 8”) Note:These fonts must exist on the Kinetica server    
LABEL_TEXT_COLOR text color Hex color  
LABEL_TEXT_SCALE scaling factor Number  
LABEL_DRAW_BOX draw a box around the label TRUE or FALSE FALSE
LABEL_DRAW_LEADER_LINE draw a leader line around the label TRUE or FALSE FALSE
LABEL_LINE_WIDTH width of line for box/leader    
LABEL_LINE_COLOR color of line for box/leader    
LABEL_FILL_COLOR fill for box    
LABEL_LEADER_X_ATTR x column name of where to draw leader line    
LABEL_LEADER_Y_ATTR y column name of where to draw leader line    
Notes:
  1. To use labels, you must have TrueType fonts loaded on all Kinetica host servers in your Kinetica cluster, in the /usr/share/fonts directory. Kinetica must be restarted to see any new fonts placed in this directory.
  2. Labels and shapes cannot be rendered in the same WMS call. You can show both on the same map by creating separate map layers, each with its own WMS call.

CACHED

The cached mode is intended to be used in conjunction with the /visualize/video endpoint. Once one of those endpoints has been called, the generated video frames are available for download via WMS using STYLES=cached. In this case, the LAYERS parameter should be populated with the session key passed in to visualize_video_rest`and the ``FRAME` parameter indicates which 0-based frame of the video should be returned. All other WMS parameters are ignored for this mode.

For instance, if a 20 frame video with the session key MY-SESSION-KEY was generated with a call to /visualize/video, the first frame could be retrieved with the URL:

http://<kinetica.host>:9191/wms
        ?REQUEST=GetMap
        &STYLES=cached
        &LAYERS=MY-SESSION-KEY
        &FRAME=0

and the last frame could be retrieved with:

http://<kinetica.host>:9191/wms
        ?REQUEST=GetMap
        &STYLES=cached
        &LAYERS=MY-SESSION-KEY
        &FRAME=19