Assignments

The Assignments dataframe is used as the input for the createCesium() function to generate time-dynamic visualization of vehicle routes on a 3D map.

While there is no “standard” function for generating all of the rows of an Assignments dataframe, VeRoViz does provide some functions that can be used to construct individual rows of the dataframe. Users may then append these rows into an Assignments dataframe. For example, getShapepoints2D() returns an assignment dataframe describing the detailed navigation on a road network between a pair of origin/destination locations. By iteratively calling that function for all O/D pairs of a route, a complete assignments dataframe can be constructed. Similarly, getShapepoints3D() returns an assignment dataframe describing the flight profile/path for aircraft (e.g., drones) for a given O/D pair.

A blank/empty Assignments dataframe can be created by initDataframe().

Field Name

Data Type

Description

odID

int

odID is an abbreviation for “origin/ destination identifier”. It is a group identifier. Arc segments which are part of the same origin/destination share the same odID.

objectID

string

Identifier for each object (e.g. truck, package, drone, etc.) shown in Cesium.

modelFile

string

The 3D model used for the object. See Cesium Style for a list of available 3D Cesium models . You can also generate your own gltf files.

modelScale

int

The scale of Cesium 3D model in percent.

modelMinPxSize

int

The minimum pixel size of Cesium 3D model

startTimeSec

int

In a sequence of coordinates that navigates between origin and destination, the time to arrive at the start coordinate ([startLat,startLon]).

startLat

float

Latitude of the start of the arc, in [degrees]. 0-degrees latitude is the equator. Negative latitudes are south of the equator; positive latitudes are north. The range is from -90 to +90.

startLon

float

Longitude of the start of the arc, in [degrees]. 0-degrees longitude is Greenich, England. Negative longitudes are west of Greenich; positive longitudes are east. The range is from -180 to +180.

startAltMeters

float

Altitude of the object at the start time, in units of [meters above ground level] (AGL).

endTimeSec

int

The arrival time (in seconds) to this coordinate ([endLat,endLon]).

endLat

float

Latitude of the end of the arc, in [degrees]. The range is from -90 to +90.

endLon

float

Longitude of the end of the arc, in [degrees]. The range is from -180 to +180.

endAltMeters

float

Altitude of the object at the end time, in units of [meters AGL].

leafletColor

string

Color of the arc when displayed in Leaflet. See Leaflet Style for options of colors.

leafletOpacity

float in [0, 1]

Amount of transparency for the arc. A value of 1 indicates no transparency; 0 indicates completely transparent.

leafletStyle

string

Styling of the line, valid options are “solid”, “dotted” or “dashed”. See Leaflet Style for more details

leafletCurveType

string

The type of curve to be shown on a leaflet map for :ref:Arc dataframes (curves will not be applied to :ref:Assignments dataframes). The options are ‘Bezier’, ‘greatcircle’, and ‘straight’. If Bezier is provided, the leafletCurvature is also required. If greatcircle is provided, the arc follows the curvature of the Earth.

leafletCurvature

float in (-90, 90)

If leafletCurveType is ‘Bezier’, then leafletCurvature is required; otherwise this argument will not be used. The curvature specifies the angle between a straight line connecting the two nodes and the curved arc emanating from those two nodes. Therefore, this value should be in the open interval (-90, 90), although values in the (-45, 45) range tend to work best.

useArrows

bool

True if the arrows will be used when creating Leaflet map, False otherwise.

cesiumWeight

int

Pixel width of the line/arc.

cesiumColor

string

Color of the arc when displayed in Cesium. See Cesium Style for color options.

cesiumOpacity

float in [0, 1]

The amount of transparency for the arc. A value of 1 indicates no transparency; 0 indicates completely transparent.

cesiumStyle

string

Styling of the line, valid options are “solid”, “dotted” or “dashed”. See Cesium Style for options.

cesiumWeight

int

Pixel width of the line/arc.

ganttColor

string

The color to be displayed for this assignment in a Gantt chart. See the ganttColor() function for details, and see Cesium Style for color options.

popupText

string

Text (or HTML) that will be displayed when a user clicks on the arc in Leaflet or Cesium.

startElevMeters

float

Elevation of the start point, in units of meters above ground level.

endElevMeters

float

Elevation of the end point, in units of meters above ground level.

wayname

string

Name of the road segment between start and end points.

waycategory

string

Classification of the road segment. May include: ‘No category’, ‘Highway’, ‘Steps’, ‘Ferry’, ‘Unpaved road’, ‘Track’, ‘Tunnel’, ‘Paved road’, or ‘Ford’

surface

string

Classification of the ground surface of the road segment. May include: ‘Unknown’, ‘Paved’, ‘Unpaved’, ‘Asphalt’, ‘Concrete’, ‘Cobblestone’, ‘Metal’, ‘Wood’, ‘Compacted Gravel’, ‘Fine Gravel’, ‘Gravel’, ‘Dirt’, ‘Ground’, ‘Ice’, ‘Paving Stones’, ‘Sand’, ‘Woodchips’, ‘Grass’, or ‘Grass Paver’.

waytype

string

Classification of the road segment. May include: ‘Unknown’, ‘State Road’, ‘Road’, ‘Street’, ‘Path’, ‘Track’, ‘Cycleway’, ‘Footway’, ‘Steps’, ‘Ferry’, or ‘Construction’.

steepness

int

Varies from -5 to +5, with - (+) values indicating a downward (upward) slope. The absolute scale is: 0: ‘0%’, 1: ‘1-3%’, 2: ‘4-6%’, 3: ‘7-11%’, 4: ‘12-15%’, 5: ‘>16%’.

tollway

bool

Indicates whether the road segment has tolls.

Arcs and Assignments dataframes are similar, see Dataframes Comparison for the similarity and differences between them.


An Assignments dataframe can be used in createLeaflet(). The table below indicates whether a given field (column) of the dataframe is required/optional/ignored.

Note

Some explaination about “Required”, “Optional”, “Ignored”:

  • “Required” means the function needs info from that field/column. That info can not be overridden by the function that uses the dataframe.

  • “Optional” means the function will use the info from that field/column as a default value. However, some functions allow the user to temporarily “override” the optional values in the dataframe with different values provided in the function call.

  • “Ignored” means the function neither needs nor uses info from that field/column.

Field Name

Required

Optional

Ignored

odID

objectID

modelFile

modelScale

modelMinPxSize

startTimeSec

startLat

startLon

startAltMeters

endTimeSec

endLat

endLon

endAltMeters

leafletColor

leafletOpacity

leafletStyle

leafletWeight

leafletCurveType

leafletCurvature

useArrows

cesiumColor

cesiumOpacity

cesiumStyle

cesiumWeight

popupText

startElevMeters

endElevMeters

wayname

waycategory

surface

waytype

steepness

tollway

An Assignments dataframe can be used in createCesium() to generate a Cesium-based 4D WebGIS video. The video can be displayed on a Cesium web page.

Field Name

Required

Optional

Ignored

odID

objectID

modelFile

modelScale

modelMinPxSize

icon

startTimeSec

startLat

startLon

startAltMeters

endTimeSec

endLat

endLon

endAltMeters

leafletColor

leafletOpacity

leafletStyle

leafletWeight

leafletCurveType

leafletCurvature

useArrows

cesiumColor

cesiumOpacity

cesiumStyle

cesiumWeight

popupText

startElevMeters

endElevMeters

wayname

waycategory

surface

waytype

steepness

tollway

Note

The Assignments dataframe may have duplicated odID values for different paths. When veroviz.createLeaflet generates a Leaflet map, it will combine odID with objectID to form a new/unique odID.