object VTiles
A class for working with Vector Tiles. provide functionality for generating and writing *
- Alphabetic
- By Inheritance
- VTiles
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
case class
GenerationConfig(minZoom: Int = 0, maxZoom: Int = 15, tileResolution: Int = 4096, buffer: Double = 0.1, featureFilter: Option[Column] = None, tileFilter: Option[Column] = None, featureSimplify: Option[Column] = None, maxFeaturesPerTile: Option[Int] = Some(50000), cacheFrequency: Option[Int] = Some(2), persistStorageLevel: StorageLevel = StorageLevel.MEMORY_AND_DISK, maxDatasetSize: Option[Int] = None, partitionCount: Option[Int] = None, repartitionFrequency: Option[Int] = None, convertPolygonsToLabelPoints: Boolean = false) extends Product with Serializable
- minZoom
the lowest zoom for which to generate tiles
- maxZoom
the highest zoom for which to generate tiles
- tileResolution
the resolution of the tiles to generate
- buffer
the buffer (as a fraction) to apply to the tiles. the margin on a 1000 resolution tile with a buffer of .1 would be 100
- featureFilter
a predicate Column for filtering features, optional
- tileFilter
a Column for manipulating the array of features within a tile, optional
- featureSimplify
a Column for manipulating feature geometries, optional
- maxFeaturesPerTile
the maximum number of features to include in each tile, optional
- cacheFrequency
the frequency at which to cache the dataset, optional. e.g 2 means every 2nd zoom level. Default is 2
- persistStorageLevel
the storage level to persist the dataset at. Default is DISK_ONLY
- maxDatasetSize
the maximum size of the dataset from which to generate tiles, optional. if the dataset is larger than this, it will be reduced to this size by randomly sampling features
- partitionCount
the number of partitions to use in tile generation. Default is 2x the number of worker cores
- repartitionFrequency
the frequency (ie number of zoom levels) at which to repartition the dataset. Default behavior not to repartition a certain zooms. Repartitioning helps when the geometries are large relative to the tiles, for example processing a collection of countries to zoom 16.
- convertPolygonsToLabelPoints
Experimental, Unstable feature. whether to replace polygons with a point in each tile the Polygon appears in. Default is false.
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val PMTileType: TileType.type
- val PMTilesCompressionType: CompressionType.type
- val PMTilesConfig: tools.pmtiles.PMTilesConfig.type
- val PMTilesConfigBuilder: tools.pmtiles.PMTilesConfigBuilder.type
- val PMTilesWriter: tools.pmtiles.PMTilesWriter.type
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @IntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
generate(features: Dataset[Row], config: GenerationConfig = GenerationConfig()): Dataset[Row]
Generates tiles from a set of features.
Generates tiles from a set of features. The features must have a geometry column of the Geometry type and a layer column of string type represent what layer that feature belongs in. An optional Integer or Long column id can be included to persist an ID into the tiles. The features can be of any geometry type. The output dataset will have a tile column specifying the tile and a feature column containing clipped, simplified features that belong in that tile, projected into the [0..1] coordinate space of the tile for its x and y values. Geometries should be in the WGS84 coordinate reference system.
Note that because slippy tiles are based on a Mercator projection, features with latitudes less than -85.0511 or greater than 85.0511 should not be processed. This is a limitation of slippy tile systems.
- features
the features to generate tiles from
- config
the configuration for generating tiles
- returns
a Dataset of tiles ready to be output as MVTs
-
def
generatePMTiles(features: Dataset[Row], path: String, config: GenerationConfig = GenerationConfig(), pmtilesConfig: Option[PMTilesConfig] = Option.empty, storageLevel: Option[StorageLevel] = Some(StorageLevel.MEMORY_AND_DISK)): Unit
Generates and writes PMTiles from a DataFrame of features.
Generates and writes PMTiles from a DataFrame of features. Wrapper over
VTiles.generate
andVectortiles.writePMTiles
.- features
: the DataFrame of features to generate tiles from
- path
: the path to write the PMTiles file to
- config
: the configuration for generating tiles
- pmtilesConfig
: the configuration for generating the PMTiles file
- storageLevel
: the storage level to cache the tiles DataFrame at. If None, the DataFrame will not be cached
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
def
getPMTilesConfigBuilder: PMTilesConfigBuilder
Retrieves a new PMTilesConfigBuilder for generating a PMTilesConfig
Retrieves a new PMTilesConfigBuilder for generating a PMTilesConfig
- returns
a PMTilesConfigBuilder for generating a PMTilesConfig
-
def
getQuickConfig: GenerationConfig
Retrieves a default GenerationConfig for generating tiles.
Retrieves a default GenerationConfig for generating tiles. This configuration is optimized for quick (<5 minute on a Cairo cluster) tile generation. This is accomplished by generating lower zoom levels and higher resolutions, and limiting the number of features rendered to 100 million. Use with a renderer that supports overzooming is recommended. Be aware that these are effectively on up to zoom 10 tiles, so their low resolution will be evident at higher zoom levels.
- returns
a default GenerationConfig for generating tiles
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
writePMTiles(tilesDf: DataFrame, path: String, config: Option[PMTilesConfig] = Option.empty, featuresDf: Option[Dataset[Row]] = Option.empty, storageLevel: Option[StorageLevel] = Some(StorageLevel.DISK_ONLY)): Unit
- tilesDf
the dataframe of tiles to write. Output from the generate method
- path
the path to write the tiles to. May be S3 or the local filesystem
- config
a PMTilesConfig to write with the tiles. If not provided, a config will be generated from the featuresDf instead
- featuresDf
a dataframe of the features the tilesDf was generated from. Used to generate a config from. If not provided, a config must be provided
- storageLevel
the storage level to cache the tilesDf at. Default is DISK_ONLY. Providing None will not cache the tilesDf
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated