Class MbTilesFeatureLayer.Builder

java.lang.Object
com.luciad.layers.mbtiles.MbTilesFeatureLayer.Builder
All Implemented Interfaces:
AutoCloseable
Enclosing class:
MbTilesFeatureLayer

public static final class MbTilesFeatureLayer.Builder extends Object implements AutoCloseable
Since:
2024.0
  • Constructor Details Link icon

  • Method Details Link icon

    • finalize Link icon

      protected void finalize()
      Overrides:
      finalize in class Object
    • close Link icon

      public void close()
      Specified by:
      close in interface AutoCloseable
    • build Link icon

      @NotNull public MbTilesFeatureLayer build() throws IllegalStateException, IOException
      Returns a new layer, based on the properties set on this builder.
      Returns:
      a new layer, based on the properties set on this builder.
      Throws:
      IllegalStateException - If not all mandatory parameters are set.
      IOException - If decoding the style fails.
    • title Link icon

      @NotNull public MbTilesFeatureLayer.Builder title(@NotNull String title)
      Sets the title to use for the layer.

      If not set, the title from the ModelMetadata is used.

      Parameters:
      title - the title for the layer.
      Returns:
      this builder.
    • visible Link icon

      @NotNull public MbTilesFeatureLayer.Builder visible(boolean visible)
      Sets whether the layer should be visible initially.

      Default is true.

      Parameters:
      visible - the visibility.
      Returns:
      this builder.
    • model Link icon

      @NotNull public MbTilesFeatureLayer.Builder model(@NotNull IFeatureTileModel model) throws NullPointerException
      Sets the feature tile model of the layer.

      Calling this function is mandatory.

      Parameters:
      model - the feature tile model of the layer. Cannot be null.
      Returns:
      this builder.
      Throws:
      NullPointerException - when the given model is null.
    • style Link icon

      @NotNull public MbTilesFeatureLayer.Builder style(@NotNull String path)
      Sets the style of the layer.

      If not set, a default style is used instead.

      The currently supported format is the Mapbox style format (see the Mapbox style specification). Only the sections that are relevant for styling MBTiles are supported, namely:

      • Layers
      • Types
      • Expressions
      • Sprite

      When the Mapbox style contains a background layer style, it is applied on the extent of the feature tile data set. Use of interpolation based on zoom level is not supported for the background. The background at zoom level 0 is used.

      Note that not all types, expressions and style properties defined by the Mapbox style format are supported. When an unsupported option is used in the style, that option is ignored and if appropriate, a fallback value is used instead.

      The following is currently supported:

      Types Link icon

      • array<number>
      • array<string>
      • boolean
      • color: strings of the following format are supported: "#RRGGBB", "#RGB", "#RRGGBBAA", "#RGBA", "rgb(r, g, b)", "rgba(r, g, b, a)", "hsl(h, s%, l%)", "hsla(h, s%, l%, a)")
      • formatted: format expressions are converted to strings and their formatting options are stripped and ignored
      • number
      • string

      Expressions Link icon

      • Types: array (lengths are not asserted), boolean, format (converted to string and the formatting options are stripped and ignored), literal, number, string, to-boolean, to-color (if a string or array<number> cannot be converted, transparent black is returned), to-number (if a string cannot be converted, 0 is returned), to-string, typeof
      • Feature data: geometry-type, id
      • Lookup: at (if index invalid, 0/"" is returned for array<number>/array<string> respectively), get (only for feature properties, not objects), has (only for feature properties, not objects), in, index-of, length, slice
      • Ramps, scales, curves: interpolate (interpolate-hcl and interpolate-lab interpolate in RGB colorspace as well), step
      • Decision: !, !=, <, <=, ==, >, >=, all, any, case, coalesce, match
      • String: concat, downcase, is-supported-script (always returns true), resolved-locale (always returns "en"), upcase
      • Color: hsl, hsla, rgb, rgba, to-rgba
      • Math: -, *, /, %, ^, +, abs, acos, asin, atan, ceil, cos, e, floor, ln, ln2, log10, log2, max, min, pi, random, round, sin, sqrt, tan
      • Camera: zoom
      • Legacy: stops, property, base, type, default, existential filters, comparison filters, set membership filters, combining filters

      Layers Link icon

      • All layers:
        • id
        • type
        • filter
        • layout
        • maxzoom
        • minzoom
        • paint
        • source-layer
      • Background layers:
        • background-color
        • background-opacity
        • background-pattern
        • visibility
      • Fill layers:
        • fill-color
        • fill-opacity
        • fill-outline-color
        • fill-pattern
        • fill-translate
        • visibility
      • Line layers:
        • line-color
        • line-dasharray
        • line-offset
        • line-opacity
        • line-pattern
        • visibility
      • Symbol layers:
        • icon-allow-overlap: also allows other symbols to be drawn on top (i.e. the behavior of icon-ignore-placement)
        • icon-anchor
        • icon-color
        • icon-image
        • icon-keep-upright
        • icon-offset
        • icon-opacity
        • icon-optional
        • icon-padding
        • icon-rotate
        • icon-rotation-alignment
        • icon-size
        • icon-text-fit
        • icon-text-fit-padding
        • icon-translate
        • symbol-placement
        • text-allow-overlap: also allows other symbols to be drawn on top (i.e. the behavior of text-ignore-placement)
        • text-anchor
        • text-color
        • text-field
        • text-font: defaults to Noto
        • text-halo-color
        • text-halo-width
        • text-justify: "auto" in conjunction with a variable anchor will result in centered text
        • text-keep-upright
        • text-line-height
        • text-offset
        • text-opacity
        • text-optional
        • text-padding
        • text-radial-offset
        • text-rotate
        • text-rotation-alignment
        • text-size
        • text-transform
        • text-translate
        • text-variable-anchor
        • visibility
      • Circle layers:
        • circle-color
        • circle-opacity
        • circle-radius
        • circle-stroke-color
        • circle-stroke-opacity
        • circle-stroke-width
        • circle-translate
        • visibility
      • Fill extrusion layers:
        • fill-extrusion-base
        • fill-extrusion-color
        • fill-extrusion-height
        • fill-extrusion-opacity
        • fill-extrusion-pattern
        • fill-extrusion-translate
        • fill-extrusion-vertical-scale
        • visibility
      Parameters:
      path - the path to a style file. Can be a URL or a file path to a JSON file.
      Returns:
      this builder.
    • labeled Link icon

      @NotNull public MbTilesFeatureLayer.Builder labeled(boolean labeled)
      Sets whether the layer should display labels initially.

      The default is true.

      Parameters:
      labeled - whether the layer should display labels initially.
      Returns:
      this builder.
      See Also: