A concrete representation of a VectorTile, as one decoded from Protobuf
bytes. At its simplest, a Tile is just a collection of Layers. We opt
to expose each Layer name at the Tile level, as the keys of a Map.
This way, if the layer names are known by the user ahead of time,
they can search through the Tile quickly.
val bytes: Array[Byte] = ... // from some `.mvt` file
val key: SpatialKey = ... // preknown
val layout: LayoutDefinition = ... // preknown
val tileExtent: Extent = layout.mapTransform(key)
val tile: VectorTile = VectorTile.fromBytes(bytes, tileExtent)
This is not meant to be called directly - see this class's
companion object for the available helper methods.
Pretty-print this VectorTile.
Encode this VectorTile back into its original form of Protobuf bytes.
Yield GeoJson for this VectorTile.
Yield GeoJson for this VectorTile. Geometries are reprojected from
WebMercator to LatLng, and metadata is dropped.
Return a VectorTile to a Spark-friendly structure.