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
The following parameters are required in all WMS calls:
Name | Description | Notes |
---|---|---|
VERSION | WMS Version | Must be 1.1.1 |
REQUEST | WMS Request |
|
SRS | Spatial Reference System (i.e. EPSG code) |
|
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 |
|
TRANSPARENT | Controls background transparency of the generated image |
|
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] |
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 |
The following modes are supported:
Descriptions of each mode along with the mode-specific parameters can be found below.
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 |
|
|
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 |
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 |
|
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.
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 |
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 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
)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 |
|
(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.
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 |
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