Class MBStyleTransformer

Object
MBStyleTransformer

public class MBStyleTransformer extends Object
Responsible for traverse MBStyle and generating StyledLayerDescriptor.
Author:
Jody Garnett (Jody Garnett)
  • Field Details

    • mapboxTokenPattern

      protected static final Pattern mapboxTokenPattern
  • Constructor Details

    • MBStyleTransformer

      public MBStyleTransformer(MBObjectParser parse)
  • Method Details

    • createExternalGraphicForSprite

      public ExternalGraphic createExternalGraphicForSprite(Expression iconName, Expression iconSize, MBStyle styleContext)
      Takes the name of an icon, and an MBStyle as a context, and returns an External Graphic referencing the full URL of the image for consumption by the SpriteGraphicFactory. (The format of the image will be SpriteGraphicFactory.FORMAT).
      Parameters:
      iconName - The name of the icon inside the spritesheet.
      iconSize - The size (scale multiplier) to apply to the icon. (Nullable).
      styleContext - The style context in which to resolve the icon name to the full sprite URL (for consumption by the SpriteGraphicFactory).
      Returns:
      An external graphic with the full URL of the mage for the SpriteGraphicFactory.
      See Also:
    • createExternalGraphicForSprite

      public ExternalGraphic createExternalGraphicForSprite(Expression iconName, MBStyle styleContext)
      Takes the name of an icon, and an MBStyle as a context, and returns an External Graphic referencing the full URL of the image for consumption by the SpriteGraphicFactory. (The format of the image will be SpriteGraphicFactory.FORMAT).
      Parameters:
      iconName - The name of the icon inside the spritesheet.
      styleContext - The style context in which to resolve the icon name to the full sprite URL (for consumption by the SpriteGraphicFactory).
      Returns:
      An external graphic with the full URL of the mage for the SpriteGraphicFactory.
      See Also:
    • cqlStringFromTokens

      public String cqlStringFromTokens(String tokenStr)
      Take a string that may contain Mapbox-style tokens, and convert it to a CQL expression string.

      E.g., convert "String with {tokens}" to a CQL Expression (String) " String with ${tokens}".

      See documentation of Mapbox {token} values, linked below.

      Parameters:
      tokenStr - A string with mapbox-style tokens
      Returns:
      A CQL Expression
      See Also:
    • cqlExpressionFromTokens

      public Expression cqlExpressionFromTokens(String tokenStr)
      Take a string that may contain Mapbox-style tokens, and convert it to a CQL expression.

      E.g., convert "String with {tokens}" to a CQL Expression: " String with ${tokens}".

      See documentation of Mapbox {token} values, linked below.

      Parameters:
      tokenStr - A string with mapbox-style tokens
      Returns:
      A CQL Expression
      See Also:
    • requireLiteral

      public static <T> T requireLiteral(Expression expression, Class<T> clazz, T fallback, String propertyName, String layerId)
      Utility method for getting a concrete value out of an expression, used by transformer methods when GeoTools is unable to accept an expression.
      • If the provided Expression is a Literal, evaluates it and returns the value.
      • Otherwise, returns the provided fallback value and logs a warning that dynamic styling is not yet supported for this property.
      Parameters:
      expression - The expression
      clazz - The type to provide as the context for the expression's evaluation.
      fallback - The value to return if the expression is not a literal
      propertyName - The name of the property that the expression corresponds to, for logging purposes.
      layerId - The ID of the layer that the expression corresponds to, for logging purposes.
      Returns:
      The evaluated value of the provided Expression, or the provided fallback value.
    • getDefaultFonts

      public List<String> getDefaultFonts()
      Returns:
      The list of default font names