Dispatcher JSON Specification
Request
coordinateBase (abstract)
This object represents a coordinate
Field | Type | Required | Description |
---|---|---|---|
coordSys | string | Yes | Defines the type of coordinate, can either be "wgs" |
wgsCoordinate
This object represents a wgsCoordinate
Extends
{
"coordSys": "wgs",
"lat": 35.006605,
"lon": 138.978468
}
- coordinateBase
Field | Type | Required | Description |
---|---|---|---|
lat | number | Yes | Latitide |
lon | number | Yes | Longitude |
coordinate
{
"coordSys": "wgs",
"lat": 35.006605,
"lon": 138.978468
}
This object represents a coordinate
This object can either be
- wgsCoordinate
boundingBox
{
"downLeft": {
"coordSys": "wgs",
"lat": 35.006605,
"lon": 138.978468
},
"upRight": {
"coordSys": "wgs",
"lat": 36.355587,
"lon": 140.639232
}
}
This object represents a bounding-box
Field | Type | Required | Description |
---|---|---|---|
downLeft | coordinate | Yes | Down left coordinate of the bounding box |
upRight | coordinate | Yes | Up right coordinate of the bounding box |
size
{
"value": 0.5,
"unit": "millimeter"
}
This object represents the definition of a real-life size ( not based on scale )
Field | Type | Required | Description |
---|---|---|---|
value | number | Yes | Value for the size. |
unit | string | Yes | Type of size, can be either “centimeter”, “millimeter”, “yard”, "foot", "inch" or "point" |
fromPois
{
"margin": {
"value": 0.5,
"unit": "centimeter"
}
}
This object represents the definition of a bounding box that is based on the locations of the POI's
Field | Type | Required | Description |
---|---|---|---|
margin | Size | Yes | Margin that makes the bounding box grow at the top, bottom, left and right |
scale
{
"scale": 116700,
"coord": {
"coordSys": "wgs",
"lat": 14.473630137293394,
"lon": 120.89016269892454
}
}
This object represents the definition of a bounding box that is based on a scale and center coordinate.
Field | Type | Required | Description |
---|---|---|---|
scale | integer | Yes | The scale of the map. min: 1 |
coord | coordinate | Yes | Center of the map |
dimension
{
"width": {
"unit": "millimeter",
"value": 75
},
"height": {
"unit": "millimeter",
"value": 50
}
}
This object represents the definition of a dimension ( not based on scale )
Field | Type | Required | Description |
---|---|---|---|
width | size | Yes | Width size for dimension |
height | size | yes | Height size for dimension |
color
{
"R": 135,
"G": 206,
"B": 250
}
This object represents the definition of a RGB color
Field | Type | Required | Description |
---|---|---|---|
R | integer | Yes | Red color value |
G | integer | Yes | Green color value |
B | integer | Yes | Blue color value |
line
{
"color": {
"R": 135,
"G": 206,
"B": 250
},
"thickness": {
"unit": "millimeter",
"size": 0.1
},
"style": "beaded"
}
This object represents the definition of a line
Field | Type | Required | Description |
---|---|---|---|
color | color | Yes | Color of the line |
thickness | size | Yes | Thickness of the line based on a real-life size |
style | string | Yes | Style of the line, can either be: "solid", "dotted", "dash5_5", "dash3_7", "dashDot", "dashDot1", "dashDotDot", "ticked", "doubleDash", "dotDash", "beaded" |
textbox
{
"background": {
"R": 135,
"G": 206,
"B": 250
},
"border": {
"color": {
"R": 100,
"G": 200,
"B": 125
},
"thickness": {
"unit": "millimeter",
"size": 0.01
},
"style": "solid"
}
}
This object represents a textbox
Field | Type | Required | Description |
---|---|---|---|
background | color | No | Background color of the textbox |
border | line | No | Border line of the textbox |
font
{
"size": {
"unit": "millimeter",
"value": 1
},
"name": "Helvetica",
"color": {
"R": 0,
"G": 0,
"B": 0
}
}
This object represents a font
Field | Type | Required | Description |
---|---|---|---|
size | size | Yes | Size of the font in real-life size |
name | string | Yes | Fontname, possible values can be found in the font section of the documentation |
color | color | Yes | Color of the font |
outline | line | No | Outline style of the font |
position
{
"X": {
"unit": "millimeter",
"value": 0.1
},
"Y": {
"unit": "millimeter",
"value": 0.15
}
}
This object represents a position based on an X and Y offset from the top left of the map
Field | Type | Required | Description |
---|---|---|---|
X | size | Yes | X offset in a real-life size |
Y | size | Yes | Y offset in a real-life size |
alignment
{
"type": "centertop"
}
This object represents an alignment on the map or on an icon
Field | Type | Required | Description |
---|---|---|---|
type | string | Yes | Type of size, can be either "topleft", "centerleft", "bottomleft", "centertop", "centerbottom", "topright", "centerright", "bottomright", "middle" |
label
{
"text": "Church",
"font": {
"name": "Helvetica",
"size": {
"unit": "millimeter",
"value": 0.1
},
"location": {
"X": {
"unit": "millimeter",
"value": 0.2
},
"Y": {
"unit": "millimeter",
"value": 0.3
}
},
"anchor": "middle"
}
}
This object represents a label
Field | Type | Required | Description |
---|---|---|---|
text | string | Yes | Text that the label will contain |
font | font | Yes | The font definition of the label |
textbox | textbox | No | The textbox that the label will be in |
location | position | Yes | Position on the map |
anchor | alignment | Yes | Where does the position need to start |
scaleBar
{
"size": {
"unit": "millimeter",
"value": 0.1
},
"fontName": "Helvetica",
"type": "metric",
"margin": {
"width": {
"unit": "millimeter",
"value": 0.1
},
"height": {
"unit": "millimeter",
"value": 0.1
}
},
"anchor": "centertop"
}
This object represents a scaleBar
Field | Type | Required | Description |
---|---|---|---|
size | size | Yes | Size of the scaleBar |
fontName | string | Yes | Name of the font that the scaleBar will use |
type | string | Yes | Type of scaleBar, can either be "metric" or "imperial" |
margin | dimension | No | Offset/Margin of the scaleBar |
anchor | alignment | Yes | Anchor on the map |
northIndicator
{
"size": {
"unit": "millimeter",
"value": 0.3
},
"arrow": {
"R": 0,
"G": 0,
"B": 0
},
"northSign": {
"R": 255,
"G": 255,
"B": 255
},
"margin": {
"width": {
"unit": "millimeter",
"value": 0.1
},
"height": {
"unit": "millimeter",
"value": 0.1
}
},
"anchor": "centertop"
}
This object represents a north indicator
Field | Type | Required | Description |
---|---|---|---|
size | size | Yes | Size of the north indicator |
arrow | color | No | Color of the arrow |
northSign | color | No | Color of the font |
margin | dimension | No | Offset/Margin of the north indicator |
anchor | alignment | Yes | Anchor on the map |
grid
{
"line": {
"color": {
"R": 0,
"G": 0,
"B": 0
},
"thickness": {
"unit": "millimeter",
"value": 0.01
},
"style": "solid"
},
"font": {
"size": {
"unit": "millimeter",
"value": 0.1
},
"name": "Helvetica",
"color": {
"R": 0,
"G": 0,
"B": 0
}
},
"lineDist": {
"unit": "millimeter",
"value": 0.1
},
"alphaHori": "oneChar",
"charsPerBlock": 1
}
This object represents a grid that will be put on top of the map
Field | Type | Required | Description |
---|---|---|---|
line | line | Yes | Defines the line that the grid will use |
font | font | Yes | Defines the font for the characters of the grid |
lineDist | size | Yes | Defines the distance between each line |
alphaHori | string | Yes | Type of grid, can either be "oneChar", "twoChar", "doubleChar" |
charsPerBlock | integer | Yes | Defines the chars per block |
polygon
{
"fill": {
"R": 255,
"G": 255,
"B": 255
},
"polystring": "_p~iF~ps|U_ulLnnqC_mqNvxq`@",
"solid": false
}
This objects represents a polygon
Field | Type | Required | Description |
---|---|---|---|
outline | line | No | Outline definition of the polygon |
fill | color | No | Fill color of the polygon |
polystring | string | Yes | Encoded string of the coordinates. |
solid | boolean | Yes | Defines if the polygon needs to be cleared of labels |
polyline
{
"line": {
"color": {
"R": 255,
"G": 255,
"B": 255
},
"thickness": {
"unit": "millimeter",
"value": 0.1
},
"polystring": "_p~iF~ps|U_ulLnnqC_mqNvxq`@"
}
}
This objects represents a polyline
Field | Type | Required | Description |
---|---|---|---|
line | line | Yes | Line definition of the polystring |
polystring | string | Yes | Encoded string of the coordinates |
mapstyle
{
"name": "Here10K.xml",
"scale": 16249
}
This objects represents a mapstyle
Field | Type | Required | Description |
---|---|---|---|
name | string | Yes | Filename of the mapstyle |
scale | integer | Yes | Maximum scale of the mapstyle |
copyright
{
"font": {
"name": "Helvetica",
"size": {
"unit": "millimeter",
"value": 0.1
},
"color": {
"R": 0,
"G": 0,
"B": 0
}
},
"anchor": "centertop",
"margin": {
"width": {
"unit": "millimeter",
"value": 0.1
},
"height": {
"unit": "millimeter",
"value": 0.1
}
}
}
This object represents a copyright box
Field | Type | Required | Description |
---|---|---|---|
textbox | textbox | No | Defines the textbox where the copyright string will be in |
font | font | Yes | Defines the font that will be used for the copyright |
anchor | alignment | Yes | Defines where on the map the copyright should be aligned |
margin | dimension | No | Margin/Offset of the copyright based on the anchor |
metadata
{
"id": 1,
"mapstyle": [
{
"name": "Here10k.xml",
"scale": 16249
},
{
"name": "Here20k.xml",
"scale": 27499
}
],
"rotation": 0,
"copyright": {
"font": {
"name": "Helvetica",
"size": {
"unit": "millimeter",
"value": 0.1
},
"color": {
"R": 0,
"G": 0,
"B": 0
}
},
"anchor": "centertop",
"margin": {
"width": {
"unit": "millimeter",
"value": 0.1
},
"height": {
"unit": "millimeter",
"value": 0.1
}
}
},
"preview": true
}
This object represents metadata
Field | Type | Required | Description |
---|---|---|---|
id | unsigned integer | No | Unique identifier of the map |
mapstyleSet | array of mapStyle | Yes | Mapstyle set that will be used |
rotation | integer | Yes | Rotation of the map |
copyright | copyright | Yes | This element should always be visible on your map. Copyright of the map, the right text will be automatically generated. |
preview | boolean | Yes | Defines if the map needs to generate a png preview |
metadata-basis
{
"id": 1,
"mapstyle": [
{
"name": "Here10k.xml",
"scale": 16249
},
{
"name": "Here20k.xml",
"scale": 27499
}
],
"rotation": 0,
"copyright": {
"font": {
"name": "Helvetica",
"size": {
"unit": "millimeter",
"value": 0.1
},
"color": {
"R": 0,
"G": 0,
"B": 0
}
},
"anchor": "centertop",
"margin": {
"width": {
"unit": "millimeter",
"value": 0.1
},
"height": {
"unit": "millimeter",
"value": 0.1
}
}
},
"preview": true,
"interactive": false,
"language": "eng"
}
This objects represents a metadata-basis
Extends
- metadata
Field | Type | Required | Description |
---|---|---|---|
language | string | Yes | Language of the map |
interactive | boolean | Yes | Defines if the map is interactive |
metadata-multilang
This object represents a metadata-multilang
Extends
{
"id": 1,
"mapstyle": [
{
"name": "Here10k.xml",
"scale": 16249
},
{
"name": "Here20k.xml",
"scale": 27499
}
],
"rotation": 0,
"copyright": {
"font": {
"name": "Helvetica",
"size": {
"unit": "millimeter",
"value": 0.1
},
"color": {
"R": 0,
"G": 0,
"B": 0
}
},
"anchor": "centertop",
"margin": {
"width": {
"unit": "millimeter",
"value": 0.1
},
"height": {
"unit": "millimeter",
"value": 0.1
}
}
},
"preview": true,
"languages": [
"eng",
"dut",
"fre",
"fin"
]
}
- metadata
Field | Type | Required | Description |
---|---|---|---|
languages | array of string | Yes | Languages of the maps |
icon-label
{
"text": "Church",
"font": {
"name": "Helvetica",
"size": {
"unit": "millimeter",
"value": 0.1
},
"color": {
"R": 0,
"G": 0,
"B": 0
}
},
"anchor": "topleft",
"margin": {
"width": {
"unit": "millimeter",
"size": 0.1
},
"height": {
"unit": "millimeter",
"size": 0.1
}
}
}
This object represents an icon-label
Field | Type | Required | Description |
---|---|---|---|
text | string | Yes | Text that the label will contain |
font | font | Yes | Font that the label will use |
textbox | textbox | No | Textbox that the text will be in |
anchor | alignment | Yes | Defines the place where the label needs to align, keep in mind this is the place where the label will bind on the icon! |
margin | dimension | No | Offset/Margin from the icon. Negative is on the label |
icon
{
"source": "<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"numbered_circle\" viewBox=\"-0.8399999618530274 -0.8399999618530274 5.879999732971191 5.879999732971191\" xml:space=\"preserve\" mol_dragallenabled=\"true\" mol_embed=\"true\" mol_svganchor=\"2.15 2.1\" mol_anchor=\"2.15 2.1\" mol_resizeenabled=\"true\" mol_edit_text=\"true\" mol_edit_style=\"true\" class=\"noselect\" width=\"5.879999732971191\" height=\"5.879999732971191\" visibility=\"visible\"><g id=\"scale\" transform=\"scale(1)\"><path id=\"Circle\" fill=\"#000000\" d=\"M 2.1 4.2 L 2.1 4.2 C 0.9 4.2 0 3.3 0 2.1 l 0 0 C 0 0.9 0.9 0 2.1 0 l 0 0 c 1.1 0 2.1 0.9 2.1 2.1 l 0 0 C 4.2 3.3 3.3 4.2 2.1 4.2 Z\" mol_edit_style=\"true\"\/><text mol_edit_style=\"true\" mol_edit_text=\"true\" font-family=\"Helvetica\" font-size=\"2.1\" font-style=\"normal\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\" x=\"2.15\" y=\"3\" mol_font=\"Helvetica-Bold\">2<\/text><\/g><\/svg>",
"name": "2",
"id": 0,
"coord": {
"coordSys": "wgs",
"lat": 36.84167,
"lon": -2.46479
}
}
This object represents an icon based on SVG text
Field | Type | Required | Description |
---|---|---|---|
source | string | Yes | Source string of the icon, Keep in mind this needs to be the source of an SVG |
name | string | Yes | Name of the label, will be used in the POI-index |
category | string | No | Category of the icon, will be used in the POI-index |
id | integer | Yes | ID of the icon, needs to be unique, will be used in the POI-index |
coord | coordinate | Yes | Coordinate where the icon will be placed |
label | icon-label | No | Label that will be placed alongside the icon |
paper
{
"size": {
"width": {
"unit": "millimeter",
"value": 75
},
"height": "millimeter",
"value": 50
}
}
This object represents a paper
Field | Type | Required | Description |
---|---|---|---|
size | dimension | Yes | Defines the size of the paper |
frame | line | No | Defines a frame that will be put around the map |
map
{
"id": 46369,
"command": "generate",
"maps": [
{
"meta": {
"id": 46369,
"mapstyle": [
{
"name": "Here10k.xml",
"scale": 16249
},
{
"name": "Here20k.xml",
"scale": 27499
},
{
"name": "Here40k.xml",
"scale": 47499
},
{
"name": "Here75k.xml",
"scale": 92499
},
{
"name": "Here150k.xml",
"scale": 177499
},
{
"name": "Here300k.xml",
"scale": 412499
},
{
"name": "Here600k.xml",
"scale": 749999
},
{
"name": "Here1m.xml",
"scale": 1499999
},
{
"name": "Here2m.xml",
"scale": 3749999
},
{
"name": "Here5m.xml",
"scale": 7499999
},
{
"name": "Here10m.xml",
"scale": 14999999
},
{
"name": "Here20m.xml",
"scale": 30999999
},
{
"name": "Here40m.xml",
"scale": 57499999
},
{
"name": "Here75m.xml",
"scale": 87499999
},
{
"name": "Here100m.xml",
"scale": 149999999
},
{
"name": "Here200m.xml",
"scale": 249999999
},
{
"name": "Here300m.xml",
"scale": 900000000
}
],
"interactive": false,
"preview": true,
"language": "fin",
"rotation": 0,
"copyright": {
"font": {
"size": {
"value": 1.5,
"unit": "millimeter"
},
"name": "ArialMT",
"color": {
"R": 0,
"G": 0,
"B": 0
}
},
"textbox": {
"background": {
"R": 255,
"G": 255,
"B": 255
}
},
"anchor": "bottomleft",
"margin": {
"width": {
"value": 0.5,
"unit": "millimeter"
},
"height": {
"value": 0.5,
"unit": "millimeter"
}
}
}
},
"paper": {
"size": {
"width": {
"value": 306,
"unit": "millimeter"
},
"height": {
"value": 240,
"unit": "millimeter"
}
}
},
"output": [
"eps"
],
"scaleDefinition": {
"downLeft": {
"coordSys": "wgs",
"lat": 36.831291,
"lon": -2.469019
},
"upRight": {
"coordSys": "wgs",
"lat": 36.842179,
"lon": -2.451618
}
}
}
]
}
This object represents a map
Field | Type | Required | Description |
---|---|---|---|
meta | object | Yes | Defines the metadata, can either be "metadata-basis", "metadata-multilang" |
paper | paper | Yes | Defines the paper the map will be on |
scaleDefinition | object | Yes | Defines the scale, can either be "boundingBox", "scale", "fromPois" |
scaleBar | scaleBar | No | Define the scaleBar that will be put on the map |
northIndicator | northIndicator | No | Define the north indicator that will be put on the map |
grid | grid | No | Define a grid that will be put on the map |
vectorLayers | array of string | No | Define Vectorlayer(s) that will be put on the map |
polylines | array of polyline | No | Define polyline(s) that will be put on the map |
polygons | array of polygon | No | Define polygon(s) that will be put on the map |
icons | array of icon | No | Define icon(s) that will be put on the map |
labels | array of label | No | Define label(s) that will be put on the map |
output | array of string | Yes | Set outputs that need to be generated, can either be "png", "pdf", "jpg", "svg", "eps", "bmp", "tif" |
index | array of string | No | Which indexes should be generated, can either be "city", "street", "poi". Keep in mind the array should contain unique items |
job
{
"id": 912,
"command": "generate",
"maps": [
{
"meta": {
"id": 912,
"mapstyle": [
{
"name": "here5k.xml",
"scale": 7499
},
{
"name": "here10k.xml",
"scale": 16249
},
{
"name": "here20k.xml",
"scale": 27499
},
{
"name": "here40k.xml",
"scale": 47499
},
{
"name": "here75k.xml",
"scale": 92499
},
{
"name": "here150k.xml",
"scale": 177499
},
{
"name": "here300k.xml",
"scale": 412499
},
{
"name": "here600k.xml",
"scale": 749999
},
{
"name": "here1m.xml",
"scale": 1499999
},
{
"name": "here2m.xml",
"scale": 3749999
},
{
"name": "here5m.xml",
"scale": 7499999
},
{
"name": "here10m.xml",
"scale": 14999999
},
{
"name": "here20m.xml",
"scale": 30999999
},
{
"name": "here40m.xml",
"scale": 57499999
},
{
"name": "here75m.xml",
"scale": 87499999
},
{
"name": "here100m.xml",
"scale": 149999999
},
{
"name": "here200m.xml",
"scale": 249999999
},
{
"name": "here300m.xml",
"scale": 900000000
}
],
"interactive": false,
"preview": true,
"language": "eng",
"rotation": 0,
"copyright": {
"font": {
"size": {
"value": 1.5,
"unit": "millimeter"
},
"name": "ArialMT",
"color": {
"R": 0,
"G": 0,
"B": 0
}
},
"textbox": {
},
"margin": {
"width": {
"value": 0.5,
"unit": "millimeter"
},
"height": {
"value": 0.5,
"unit": "millimeter"
}
},
"anchor": "bottomleft"
}
},
"paper": {
"size": {
"width": {
"value": 425,
"unit": "point"
},
"height": {
"value": 283,
"unit": "point"
}
}
},
"output": [
"eps"
],
"scaleDefinition": {
"downLeft": {
"coordsys": "wgs",
"lat": 48.699558,
"lon": 1.9777
},
"upRight": {
"coordsys": "wgs",
"lat": 49.048068,
"lon": 2.771146
}
},
"icons": [
],
"polylines": [
]
}
]
}
This object represents a job. A job can contain multiple maps, as long as they have the unique IDs
Field | Type | Required | Description |
---|---|---|---|
id | integer | Yes | Unique Job ID. |
maps | array of map | Yes | Maps connected to this Job. *Minimum of 1 |