Constructor
new CesiumVectorData()
- Since:
- Source:
Extends
Members
defaults :Object
Default attributes for CesiumVectorData models
Type:
Properties:
Name |
Type |
Attributes |
Default |
Description |
type |
'GeoJsonDataSource'
|
|
|
The format of the data. Must be
'GeoJsonDataSource'. (The only Cesium DataSource supported so far.) |
filters |
VectorFilters
|
<optional>
|
new VectorFilters()
|
A set of conditions
used to show or hide specific features of this vector data. |
colorPalette |
AssetColorPalette
|
<optional>
|
new AssetColorPalette()
|
The color
or colors mapped to attributes of this asset. Used to style the features and to
make a legend. |
cesiumModel |
Cesium.GeoJsonDataSource
|
|
|
A Cesium DataSource model
created and used by Cesium that organizes the data to display in the Cesium
Widget. See
https://cesium.com/learn/cesiumjs/ref-doc/DataSource.html?classFilter=DataSource |
cesiumOptions |
CesiumVectorData#cesiumOptions
|
|
|
options are passed to
the function that creates the Cesium model. The properties of options are
specific to each type of asset. |
- Overrides:
- Source:
type :string
The name of this type of model
Type:
- Overrides:
- Source:
Methods
addCustomProperties(properties) → {Object}
Given a set of properties from a Feature from this Map Asset model, add any
custom properties to the properties object and return it.
Parameters:
Name |
Type |
Description |
properties |
Object
|
A set of key-value pairs representing the existing
properties of a feature from this asset. |
- Since:
- Inherited From:
- Source:
Returns:
The properties object with any custom properties added.
-
Type
-
Object
createCesiumModel(recreate)
Parameters:
Name |
Type |
Description |
recreate |
Boolean
|
Set recreate to true to force the function create
the Cesium Model again. Otherwise, if a cesium model already exists, that is
returned instead. |
- Source:
featureIsSelected(feature) → {boolean}
Given a feature object from a Feature model, checks if it is part of the
selectedFeatures collection. See featureObject property from
Feature#defaults.
Parameters:
Name |
Type |
Description |
feature |
*
|
An object that a Map widget uses to represent this feature
in the map, e.g. a Cesium.Entity or a Cesium.Cesium3DTileFeature |
- Inherited From:
- Source:
Returns:
Returns true if the given feature is part of the
selectedFeatures collection in this asset
-
Type
-
boolean
featureIsVisible(properties) → {boolean}
This function checks whether a feature from the MapAsset is visible on the map
based on the properties of the feature and the MapAsset's filter settings.
Parameters:
Name |
Type |
Description |
properties |
Object
|
The properties of the feature to be filtered. (See
the 'properties' attribute of Feature#defaults.) |
- Inherited From:
- Source:
Returns:
Returns true if the feature passes all the filters, or if
there are no filters set for this MapAsset. Returns false if the feature fails
any of the filters.
-
Type
-
boolean
fetchIcon(pid)
Fetches an SVG given a pid, sanitizes it, then updates the model's icon
attribute with the new and SVG string (after sanitizing it)
Parameters:
Name |
Type |
Description |
pid |
string
|
|
- Inherited From:
- Source:
Given a definition for a new date property, and the properties that already
exist on a specific feature, returns a new string with the formatted date.
Parameters:
Name |
Type |
Description |
config |
MapConfig#CustomDateProperty
|
An object that defines the new
date property to create |
properties |
Object
|
key-value pairs representing existing properties in
a Feature |
- Since:
- Inherited From:
- Source:
Returns:
The value for the new date property, formatted as defined by
config, for the given feature
-
Type
-
string
For a given set of Feature properties and a definition for a new sting
property, returns the value of the custom property. Note that since only static
strings are supported so far, this function essentially just returns the value
of config.value. This function exists to allow support of dynamic strings in
the future (e.g. combining strings from existing properties)
Parameters:
Name |
Type |
Description |
config |
MapConfig#CustomStringProperty
|
The object the defines the new
custom property |
properties |
Object
|
key-value pairs representing existing properties in
a Feature |
- Since:
- Inherited From:
- Source:
Returns:
The new string for the given Feature property
-
Type
-
string
getBoundingSphere(dataSourceDisplay) → {Promise}
Parameters:
Name |
Type |
Description |
dataSourceDisplay |
Cesium.DataSourceDisplay
|
The data source display
attached to the CesiumWidget scene that this bounding sphere is for. Required. |
- Source:
Returns:
Returns a promise that resolves to a Cesium Bounding Sphere
when ready
-
Type
-
Promise
Given properties of a Feature model from this MapAsset, returns the color
associated with that feature.
Parameters:
Name |
Type |
Description |
properties |
Object
|
The properties of the feature to get the color for;
An object containing key-value mapping of property names to properties. (See
the 'properties' attribute of Feature#defaults.) |
- Inherited From:
- Source:
Returns:
The color associated with the given set of
properties.
-
Type
-
AssetColor#Color
getPropertiesFromFeature(feature) → {Object}
Given a feature from a Cesium Vector Data source, returns any properties that are set
on the feature, similar to an attributes table.
Parameters:
Name |
Type |
Description |
feature |
Cesium.Entity
|
A Cesium Entity |
- Source:
Returns:
An object containing key-value mapping of property names to
properties.
-
Type
-
Object
initialize(assetConfigopt)
Executed when a new CesiumVectorData model is created.
Parameters:
Name |
Type |
Attributes |
Description |
assetConfig |
MapConfig#MapAssetConfig
|
<optional>
|
The initial values of the
attributes, which will be set on the model. |
- Source:
isSVG(str) → {Boolean}
Simple test to see if a string is an SVG
Parameters:
Name |
Type |
Description |
str |
string
|
The string to check |
- Inherited From:
- Source:
Returns:
Returns true if the string starts with `
-
Type
-
Boolean
isVisible() → {boolean}
Checks that the visible attribute is set to true and that the opacity attribute
is greater than zero. If both conditions are met, returns true.
- Inherited From:
- Source:
Returns:
Returns true if the MapAsset has opacity > 0 and is visible.
-
Type
-
boolean
resetStatus()
Resets the Map Asset's status and statusDetails attributes to their default
values.
- Since:
- Inherited From:
- Source:
sanitizeIcon(icon, callback)
Takes an SVG string and returns it with only the allowed tags and attributes
Parameters:
Name |
Type |
Description |
icon |
string
|
The SVG icon string to sanitize |
callback |
function
|
Function to call once the icon has been sanitized.
Will pass the sanitized icon string. |
- Inherited From:
- Source:
setListeners()
Set listeners that update the cesium model when the backbone model is updated.
- Source:
updateAppearance()
Updates the styles set on the cesiumModel object based on the colorPalette and
filters attributes.
- Source:
updateFeatureVisibility()
Shows or hides each feature from this Map Asset based on the filters.
- Source:
updateIcon(icon)
Sanitizes an SVG string and updates the model's 'icon' attribute the sanitized
string. Also sets the 'iconStatus' attribute to 'success'.
Parameters:
Name |
Type |
Description |
icon |
string
|
An SVG string to use for the MapAsset icon |
- Inherited From:
- Source:
whenDisplayReady() → {Promise}
Checks that the map is ready to display this asset. The displayReady attribute
is updated by the Cesium map when the dataSourceDisplay is updated.
- Source:
Returns:
Returns a promise that resolves to this model when ready to
be displayed.
-
Type
-
Promise
whenReady() → {Promise}
Checks if the asset information has been fetched and is ready to use.
- Inherited From:
- Source:
Returns:
Returns a promise that resolves to this model when ready.
-
Type
-
Promise
Type Definitions
cesiumOptions
Options that are supported for creating Cesium DataSources. The object will be
passed to the cesium DataSource's load method as options, so the properties
listed in the Cesium documentation are also supported. Each type of Cesium Data
Source has a specific set of load method options. See for example, the
GeoJsonDataSource options:
https://cesium.com/learn/cesiumjs/ref-doc/GeoJsonDataSource.html
Type:
Properties:
Name |
Type |
Description |
data |
string
|
Object
|
The url, GeoJSON object, or TopoJSON object to
be loaded. |
- Source: