# CustomDataSource

#### new Cesium.CustomDataSource(name)
engine/Source/DataSources/CustomDataSource.js 28

A `DataSource` implementation which can be used to manually manage a group of entities.

Name | Type | Description
--- | --- | ---
`name` | string | optional A human-readable name for this instance.

##### Example:

    const dataSource = new Cesium.CustomDataSource('myData');

    const entity = dataSource.entities.add({
       position : Cesium.Cartesian3.fromDegrees(1, 2, 0),
       billboard : {
           image : 'image.png'
       }
    });

    viewer.dataSources.add(dataSource);

### Members

#### changedEvent : Event
engine/Source/DataSources/CustomDataSource.js 100

Gets an event that will be raised when the underlying data changes.

#### clock : DataSourceClock
engine/Source/DataSources/CustomDataSource.js 61

Gets or sets the clock for this instance.

#### clustering : EntityCluster
engine/Source/DataSources/CustomDataSource.js 145

Gets or sets the clustering options for this data source. This object can be shared between multiple data sources.

#### entities : EntityCollection
engine/Source/DataSources/CustomDataSource.js 77

Gets the collection of `Entity` instances.

#### errorEvent : Event
engine/Source/DataSources/CustomDataSource.js 110

Gets an event that will be raised if an error is encountered during processing.

#### isLoading : boolean
engine/Source/DataSources/CustomDataSource.js 87

Gets or sets whether the data source is currently loading data.

#### loadingEvent : Event
engine/Source/DataSources/CustomDataSource.js 120

Gets an event that will be raised when the data source either starts or stops loading.

#### name : string
engine/Source/DataSources/CustomDataSource.js 45

Gets or sets a human-readable name for this instance.

#### show : boolean
engine/Source/DataSources/CustomDataSource.js 130

Gets whether or not this data source should be displayed.

### Methods

#### update(time) → boolean
engine/Source/DataSources/CustomDataSource.js 169

Updates the data source to the provided time. This function is optional and is not required to be implemented. It is provided for data sources which retrieve data based on the current animation time or scene state. If implemented, update will be called by `DataSourceDisplay` once a frame.

Name | Type | Description
--- | --- | ---
`time` | JulianDate | The simulation time.

##### Returns:

True if this data source is ready to be displayed at the provided time, false otherwise.

Need help? The fastest way to get answers is from the community and team on the Cesium Forum.