Class ExportVectorTilesParameters

java.lang.Object
com.esri.arcgisruntime.tasks.vectortilecache.ExportVectorTilesParameters

public final class ExportVectorTilesParameters extends Object
The parameters that specify how a vector tile cache (.vtpk) is exported from a vector tile service using an ExportVectorTilesJob.

To generate parameters populated with values from the vector tile service, call ExportVectorTilesTask.createDefaultExportVectorTilesParametersAsync(Geometry, double). You can then modify these parameters with any desired changes. Alternatively, you can generate an empty set of parameters using ExportVectorTilesParameters() and set the parameter values individually. To export the vector tile cache, create an ExportVectorTilesJob, pass the parameters to the ExportVectorTilesTask.exportVectorTiles(ExportVectorTilesParameters, String) method and provide a path where the .vtpk file can be downloaded on to the device.

You can also use the ExportVectorTilesParameters to provide more fine-grained control over the vector tiles that are exported when an offline map is generated. For more information, see the GenerateOfflineMapParameterOverrides class.

Since:
100.2.0
  • Constructor Details

    • ExportVectorTilesParameters

      public ExportVectorTilesParameters()
      Creates an ExportVectorTilesParameters instance.
      Since:
      100.2.0
  • Method Details

    • getAreaOfInterest

      public Geometry getAreaOfInterest()
      Gets the geometry that represents the area of vector tiles to be exported.

      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, features and tiles will be filtered according to the polygon geometry, which can help reduce the size of the resulting offline map. Note that the filtered set of tiles may vary, depending on the underlying service.

      Returns:
      the Geometry that represents the area of tiles to be exported. If null the full extent of the service will be exported.
      Since:
      100.2.0
    • setAreaOfInterest

      public void setAreaOfInterest(Geometry areaOfInterest)
      Sets the geometry that represents the area of vector tiles to be exported.

      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, features and tiles will be filtered according to the polygon geometry, which can help reduce the size of the resulting offline map. Note that the filtered set of tiles may vary, depending on the underlying service.

      Parameters:
      areaOfInterest - the Geometry that represents the area of vector tiles to be exported, can be null in which case the full extent of the service will be exported.
      Throws:
      IllegalArgumentException - if the geometry is anything other than null or an Envelope or a Polygon
      Since:
      100.2.0
    • getEsriVectorTilesDownloadOption

      public EsriVectorTilesDownloadOption getEsriVectorTilesDownloadOption()
      Describes how Esri vector tiled basemap layers will be downloaded.

      This property lets you choose how to download Esri vector tiled basemap layers. This property only applies when taking an Esri vector tile basemap service offline.

      When taking an Esri vector tiled basemap service offline (e.g. to create a VectorTileCache on your device), you can choose from different versions of the service depending on your use case.

      Primary considerations are the download speed and the size of the resulting .vtpk file. Among other things, file size is influenced by the number of fonts downloaded from the service. Esri vector tiled basemap layers use fonts as part of their style resources - see the vector-tile-style documentation. When you take a vector tiled layer offline, these fonts are downloaded as part of the VectorTileCache.

      Esri services also offer an alternative version with a reduced font package size. This omits the large Arial Unicode font, which greatly reduces the download size. You can view the set of reduced font vector tile services here

      If you choose EsriVectorTilesDownloadOption.USE_ORIGINAL_SERVICE, the full set of resources used by the original online service, including all fonts, will be downloaded. This increases the download size of the VectorTileCache but ensures that the offline layer will display the same as the original online data.

      If you choose EsriVectorTilesDownloadOption.USE_REDUCED_FONTS_SERVICE, the smaller set of fonts used by the alternative, for export, version of the service will be downloaded. This reduces the download size of the VectorTileCache but is not suitable for all locales or when your offline vector tiled layer includes certain language characters. For example, this option will not display Chinese, Japanese, Thai, Korean or Georgian characters. If an alternative, for export version of the service cannot be found, the original service will be used.

      The default value is EsriVectorTilesDownloadOption.USE_REDUCED_FONTS_SERVICE.

      Returns:
      an enum value describing how Esri vector tiled basemap layers will be downloaded
      Since:
      100.10.0
      See Also:
    • setEsriVectorTilesDownloadOption

      public void setEsriVectorTilesDownloadOption(EsriVectorTilesDownloadOption esriVectorTilesDownloadOption)
      Sets how Esri vector tiled basemap layers will be downloaded.

      This property lets you choose how to download Esri vector tiled basemap layers. It only applies when taking an Esri vector tile basemap service offline.

      When taking an Esri vector tiled basemap service offline (for example to create a VectorTileCache on your device), you can choose from different versions of the service depending on your use case.

      Primary considerations are the download speed and the size of the resulting .vtpk file. Among other things, file size is influenced by the number of fonts downloaded from the service. Esri vector tiled basemap layers use fonts as part of their style resources - see the vector-tile-style documentation. When you take a vector tiled layer offline, these fonts are downloaded as part of the VectorTileCache.

      Esri services also offer an alternative version with a reduced font package size. This omits the large Arial Unicode font, which greatly reduces the download size. You can view the set of reduced font vector tile services here.

      • If you choose EsriVectorTilesDownloadOption.USE_ORIGINAL_SERVICE, the full set of resources used by the original online service, including all fonts, will be downloaded. This increases the download size of the VectorTileCache but ensures that the offline layer will display the same as the original online data.
      • If you choose EsriVectorTilesDownloadOption.USE_REDUCED_FONTS_SERVICE, the smaller set of fonts used by the alternative, for export, version of the service will be downloaded. This reduces the download size of the VectorTileCache but is not suitable for all locales or when your offline vector tiled layer includes certain language characters. For example, this option will not display Chinese, Japanese, Thai, Korean or Georgian characters. If an alternative, for export, version of the service cannot be found, the original service will be used.
      The default value is EsriVectorTilesDownloadOption.USE_ORIGINAL_SERVICE.
      Parameters:
      esriVectorTilesDownloadOption - describes how Esri vector tiled basemap layers will be downloaded
      Throws:
      IllegalArgumentException - if esriVectorTilesDownloadOption is null
      Since:
      100.10.0
      See Also:
    • setMaxLevel

      public void setMaxLevel(int maxLevel)
      Sets the maximum level of details to export vector tiles.

      This number represents the maximum level of detail to export. The vector tile export will always take levels 0 and all in between levels up to and including the value of max level. The larger the level the more tiles will be included. The default value is -1, which must be set to a valid value >= 0.

      Parameters:
      maxLevel - the maximum level of details to export
      Throws:
      IllegalArgumentException - if maxLevel is negative
      Since:
      100.2.0
    • getMaxLevel

      public int getMaxLevel()
      Gets the maximum level of details to export.
      Returns:
      the maximum level of details to export
      Since:
      100.2.0