exportKml

exportKml(options)Promise.<Object>

Exports an EntityCollection as a KML document. Only Point, Billboard, Model, Path, Polygon, Polyline geometries will be exported. Note that there is not a 1 to 1 mapping of Entity properties to KML Feature properties. For example, entity properties that are time dynamic but cannot be dynamic in KML are exported with their values at options.time or the beginning of the EntityCollection's time interval if not specified. For time-dynamic properties that are supported in KML, we use the samples if it is a SampledProperty otherwise we sample the value using the options.sampleDuration. Point, Billboard, Model and Path geometries with time-dynamic positions will be exported as gx:Track Features. Not all Materials are representable in KML, so for more advanced Materials just the primary color is used. Canvas objects are exported as PNG images.
Name Type Description
options Object An object with the following properties:
Name Type Default Description
entities EntityCollection The EntityCollection to export as KML.
ellipsoid Ellipsoid Ellipsoid.WGS84 optional The ellipsoid for the output file.
modelCallback exportKml~ModelCallback optional A callback that will be called with a ModelGraphics instance and should return the URI to use in the KML. Required if a model exists in the entity collection.
time JulianDate entities.computeAvailability().start optional The time value to use to get properties that are not time varying in KML.
defaultAvailability TimeInterval entities.computeAvailability() optional The interval that will be sampled if an entity doesn't have an availability.
sampleDuration Number 60 optional The number of seconds to sample properties that are varying in KML.
kmz Boolean false optional If true KML and external files will be compressed into a kmz file.
Returns:
A promise that resolved to an object containing the KML string and a dictionary of external file blobs, or a kmz file as a blob if options.kmz is true.
Example:
Cesium.exportKml({
     entities: entityCollection
 })
  .then(function(result) {
    // The XML string is in result.kml

    var externalFiles = result.externalFiles
    for(var file in externalFiles) {
      // file is the name of the file used in the KML document as the href
      // externalFiles[file] is a blob with the contents of the file
    }
  });
Demo:

Type Definitions

ModelCallback(model, time, externalFiles)String

Since KML does not support glTF models, this callback is required to specify what URL to use for the model in the KML document. It can also be used to add additional files to the externalFiles object, which is the list of files embedded in the exported KMZ, or otherwise returned with the KML string when exporting.
Name Type Description
model ModelGraphics The ModelGraphics instance for an Entity.
time JulianDate The time that any properties should use to get the value.
externalFiles Object An object that maps a filename to a Blob or a Promise that resolves to a Blob.
Returns:
The URL to use for the href in the KML document.