# DataSource

#### new Cesium.DataSource()
DataSources/DataSource.js 19

Defines the interface for data sources, which turn arbitrary data into a `EntityCollection` for generic consumption. This object is an interface for documentation purposes and is not intended to be instantiated directly.

##### See:

- Entity
- DataSourceDisplay

### Members

#### changedEvent : Event
DataSources/DataSource.js 61

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

#### clock : DataSourceClock
DataSources/DataSource.js 37

Gets the preferred clock settings for this data source.

#### clustering : EntityCluster
DataSources/DataSource.js 95

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

#### entities : EntityCollection
DataSources/DataSource.js 45

Gets the collection of `Entity` instances.

#### errorEvent : Event
DataSources/DataSource.js 69

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

#### isLoading : Boolean
DataSources/DataSource.js 53

Gets a value indicating if the data source is currently loading data.

#### loadingEvent : Event
DataSources/DataSource.js 77

Gets an event that will be raised when the value of isLoading changes.

#### name : String
DataSources/DataSource.js 29

Gets a human-readable name for this instance.

#### show : Boolean
DataSources/DataSource.js 85

Gets whether or not this data source should be displayed.

### Methods

#### update(time) → Boolean
DataSources/DataSource.js 110

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.