Skip To Content ArcGIS for Developers Sign In Dashboard

ExportVectorTilesTask Class

class Esri::ArcGISRuntime::ExportVectorTilesTask

A task used to export vector tiles and their style resource cache. More...

Header: #include <ExportVectorTilesTask>
Since: Esri::ArcGISRuntime 100.2
Inherits: Esri::ArcGISRuntime::Object, Esri::ArcGISRuntime::Loadable, and Esri::ArcGISRuntime::RemoteResource

This class was introduced in Esri::ArcGISRuntime 100.2.

Public Functions

ExportVectorTilesTask(Esri::ArcGISRuntime::PortalItem *portalItem, QObject *parent = nullptr)
ExportVectorTilesTask(const QUrl &url, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
ExportVectorTilesTask(const QUrl &url, QObject *parent = nullptr)
virtual ~ExportVectorTilesTask() override
Esri::ArcGISRuntime::TaskWatcher createDefaultExportVectorTilesParameters(const Esri::ArcGISRuntime::Geometry &areaOfInterest, double maxScale)
Esri::ArcGISRuntime::ExportVectorTilesJob *exportStyleResourceCache(const QString &itemResourcePath)
Esri::ArcGISRuntime::ExportVectorTilesJob *exportVectorTiles(const Esri::ArcGISRuntime::ExportVectorTilesParameters &parameters, const QString &vectorTileCachePath)
Esri::ArcGISRuntime::ExportVectorTilesJob *exportVectorTiles(const Esri::ArcGISRuntime::ExportVectorTilesParameters &parameters, const QString &vectorTileCachePath, const QString &itemResourcePath)
bool hasStyleResources() const
Esri::ArcGISRuntime::PortalItem *portalItem() const
Esri::ArcGISRuntime::VectorTileSourceInfo sourceInfo() const

Reimplemented Public Functions

virtual void cancelLoad() override
virtual Esri::ArcGISRuntime::Credential *credential() const override
virtual void load() override
virtual Esri::ArcGISRuntime::Error loadError() const override
virtual Esri::ArcGISRuntime::LoadStatus loadStatus() const override
virtual Esri::ArcGISRuntime::RequestConfiguration requestConfiguration() const override
virtual void retryLoad() override
virtual void setRequestConfiguration(const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration) override
virtual QUrl url() const override

Signals

void createDefaultExportVectorTilesParametersCompleted(QUuid taskId, const Esri::ArcGISRuntime::ExportVectorTilesParameters &defaultExportVectorTilesParameters)
void doneLoading(Esri::ArcGISRuntime::Error loadError)
void loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus)

Detailed Description

Use this in conjunction with a vector tile service or PortalItem to generate and download vector tile packages.

Vector tiles are exported as a vector tile package (.vtpk) file. A portal item may contain custom style resources overriding the vector tile service's default style and this can be checked with hasStyleResources. The custom style is exported separately as a ItemResourceCache. The export vector tiles task can be instantiated with a service URL to the vector tile service or with portal item referencing a vector tile service. The vector tile service must be enabled for export or the task will fail to load.

A vector tile service URL ends with VectorTileServer. Alternatively, if the URL refers to an item in a portal, then create an instance of a PortalItem and use it to instantiate the ExportVectorTilesTask.

Member Function Documentation

ExportVectorTilesTask::ExportVectorTilesTask(Esri::ArcGISRuntime::PortalItem *portalItem, QObject *parent = nullptr)

Constructs an ExportVectorTilesTask with a portalItem that is a vector tiled layer, and an optional parent.

If the portal item is not of type PortalItemType::VectorTileService then the task will fail to load.

ExportVectorTilesTask::ExportVectorTilesTask(const QUrl &url, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)

Constructs an ExportVectorTilesTask with a url to a vector tile service, a credential for the secured service, and an optional parent.

The vector tile service must be enabled for export or the task will fail to load. A vector tile service URL ends with VectorTileServer.

ExportVectorTilesTask::ExportVectorTilesTask(const QUrl &url, QObject *parent = nullptr)

Constructs an ExportVectorTilesTask with a url to a vector tile service and an optional parent.

The vector tile service must be enabled for export or the task will fail to load. A vector tile service URL ends with VectorTileServer.

[signal] void ExportVectorTilesTask::createDefaultExportVectorTilesParametersCompleted(QUuid taskId, const Esri::ArcGISRuntime::ExportVectorTilesParameters &defaultExportVectorTilesParameters)

Signal emitted when createDefaultExportVectorTilesParameters completes.

[signal] void ExportVectorTilesTask::doneLoading(Esri::ArcGISRuntime::Error loadError)

Signal emitted when this object is done loading.

  • loadError - Details about any error that may have occurred.

If there is a load error, it will also be emitted on the errorOccurred signal.

See also Loadable and Object.

[signal] void ExportVectorTilesTask::loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus)

Signal emitted when the load status changes for this object.

See also Loadable.

[override virtual] ExportVectorTilesTask::~ExportVectorTilesTask()

Destructor.

[override virtual] void ExportVectorTilesTask::cancelLoad()

Reimplements: Loadable::cancelLoad().

See Loadable.

Esri::ArcGISRuntime::TaskWatcher ExportVectorTilesTask::createDefaultExportVectorTilesParameters(const Esri::ArcGISRuntime::Geometry &areaOfInterest, double maxScale)

A convenience method to get properly initialized parameters for exporting vector tiles.

It will calculate the levels of detail (LODs) required based on the specified maxScale. Set to 0 to include all levels of detail.

The areaOfInterest represent the geographic area for which vector tiles are needed. The supported geometry types for the area of interest are Envelope and Polygon. The area of interest must have a spatial reference. Where a Polygon is supplied, tiles will be filtered according to the polygon geometry, which can help reduce the size of the resulting tile package. Note that the filtered set of tiles may vary, depending on the underlying service.

[override virtual] Esri::ArcGISRuntime::Credential *ExportVectorTilesTask::credential() const

Reimplements: RemoteResource::credential() const.

Returns the security credential used to access the tiled ArcGIS map service.

This is only applicable if using a service that is secured.

Esri::ArcGISRuntime::ExportVectorTilesJob *ExportVectorTilesTask::exportStyleResourceCache(const QString &itemResourcePath)

Returns a job which can be used to download only the custom style from a vector tile layer.

The job will return the item resource cache without a vector tile cache. This is useful when a number of different styles are applied to the same underlying vector tile service. This avoids exporting multiple copies of the same tiles.

The style resource will be downloaded to the location specified in the itemResourcePath.

An ExportVectorTilesJob, representing the progress on the server, is returned. The result of the job will be of type ExportVectorTilesResult, which contains a ItemResourceCache that contains the style.

Note: The job is initially in the JobStatus::NotStarted state. It can be started by calling Job::start(). The job should be deleted after completion.

See also Job.

Esri::ArcGISRuntime::ExportVectorTilesJob *ExportVectorTilesTask::exportVectorTiles(const Esri::ArcGISRuntime::ExportVectorTilesParameters &parameters, const QString &vectorTileCachePath)

Returns a job which can be used to download a vector tile package from an ArcGIS service or portal item.

The extent and other characteristics of the output vector tile package are determined by the supplied parameters. The vector tile package will be downloaded to the location specified in the vectorTileCachePath.

An ExportVectorTilesJob, representing the progress on the server, is returned. The result of the job will be of type ExportVectorTilesResult, which contains a VectorTileCache that can be used to create an ArcGISVectorTiledLayer.

Note: The job is initially in the JobStatus::NotStarted state. It can be started by calling Job::start(). The job should be deleted after completion.

See also Job.

Esri::ArcGISRuntime::ExportVectorTilesJob *ExportVectorTilesTask::exportVectorTiles(const Esri::ArcGISRuntime::ExportVectorTilesParameters &parameters, const QString &vectorTileCachePath, const QString &itemResourcePath)

Returns a job which can be used to download a vector tile package with custom style from an ArcGIS service or portal item.

The extent and other characteristics of the output vector tile package are determined by the supplied parameters. The vector tile package and style resource will be downloaded to the location specified in the vectorTileCachePath and itemResourcePath, respectively.

An ExportVectorTilesJob, representing the progress on the server, is returned. The result of the job will be of type ExportVectorTilesResult, which contains a VectorTileCache and ItemResourceCache. These can be used to create an ArcGISVectorTiledLayer with a custom style.

Note: The job is initially in the JobStatus::NotStarted state. It can be started by calling Job::start(). The job should be deleted after completion.

See also Job.

bool ExportVectorTilesTask::hasStyleResources() const

Returns whether this task's portal item has any associated style resources that override the default style of the vector tile service.

The portal item's style resources override the default style of the vector tile service and can be exported as an ItemResourceCache.

[override virtual] void ExportVectorTilesTask::load()

Reimplements: Loadable::load().

See Loadable.

[override virtual] Esri::ArcGISRuntime::Error ExportVectorTilesTask::loadError() const

Reimplements: Loadable::loadError() const.

See Loadable.

[override virtual] Esri::ArcGISRuntime::LoadStatus ExportVectorTilesTask::loadStatus() const

Reimplements: Loadable::loadStatus() const.

See Loadable.

Esri::ArcGISRuntime::PortalItem *ExportVectorTilesTask::portalItem() const

Returns the task's portal item representing a vector tile service.

A vector tile service can be referenced by an item in a portal of type PortalItemType::VectorTileService. This item can also contain custom style resources (see hasStyleResources) which can be exported as an ItemResourceCache.

This returns nullptr if this task was instantiated with a vector tile service rather than a portal item.

[override virtual] Esri::ArcGISRuntime::RequestConfiguration ExportVectorTilesTask::requestConfiguration() const

Reimplements: RemoteResource::requestConfiguration() const.

Returns the RequestConfiguration in use by this task.

See also setRequestConfiguration().

[override virtual] void ExportVectorTilesTask::retryLoad()

Reimplements: Loadable::retryLoad().

See Loadable.

[override virtual] void ExportVectorTilesTask::setRequestConfiguration(const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration)

Reimplements: RemoteResource::setRequestConfiguration(const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration).

Sets configuration parameters used for network requests sent by this task to requestConfiguration.

See also requestConfiguration().

Esri::ArcGISRuntime::VectorTileSourceInfo ExportVectorTilesTask::sourceInfo() const

Returns the VectorTileSourceInfo representing the source metadata for a vector tile service.

[override virtual] QUrl ExportVectorTilesTask::url() const

Reimplements: RemoteResource::url() const.

Returns the URL to a vector tiled service.

A vector tile service URL ends in VectorTileServer and is the REST end-point used to export vector tile packages. The service can also be referenced by a portal item. See portalItem.


Feedback on this topic?