|
| 1 | +## Vespucci Mapbox-GL Style Support |
| 2 | + |
| 3 | +Only one vector tile source is currently supported, all other source configuration is ignored. |
| 4 | + |
| 5 | +Supported layers: _background_, _fill_, _fill-extrusion_, _line_, _symbol_ |
| 6 | + |
| 7 | +_fill-extrusion_ layers are treated as flat fill layers |
| 8 | + |
| 9 | +Unsupported layers: raster, circle, heatmap, hillshade, sky |
| 10 | + |
| 11 | +Unsupported attributes are ignored. |
| 12 | + |
| 13 | +Font selection is not supported, we render with a standard Android system font. |
| 14 | + |
| 15 | +None of the new "expression" functions are currently supported, however "old style" filter expressions are supported and interpolation linear, identity and exponential interpolation for numbers, colors and categories work for lots of the supported attributes. |
| 16 | + |
| 17 | +#### Further caveats |
| 18 | + |
| 19 | +While a number of styles and corresponding vector tile schemas have been tested and within the limits described on this page things work, following specific points should be taken in to account: |
| 20 | + |
| 21 | +- the support was mainly intended for relatively light weight QA data overlays, as this is based on Android Canvas rendering and not a purpose specific OpenGL rendering implementation performance will in general be slow. This is further confounded by many sources providing tiles up to a maximum of zoom level 14, these then tend to be very large and often contain far more data than what would be needed for the current view. |
| 22 | +- we've implemented some simple label and icon collision detection, however if a collision is detected, we simply doesn't render one of the colliding objects without attempting to relocate the offending symbol (collision avoidance). Further there is currently a hard wired limit of 200 objects that are handled by this, any further ones are not rendered (the choice of limit is not of any particular significance). |
| 23 | +- there is currently no TileJSON support. |
| 24 | + |
| 25 | +### Style attributes |
| 26 | + |
| 27 | +|Key | Value | Support | Notes |
| 28 | +|---------------------------|-----------|-----------|---------------------------------------------------------------- |
| 29 | +|__version__ | | yes | ignored |
| 30 | +|__sprite__ | | yes | |
| 31 | + |
| 32 | +### Layer attributes for supported layers |
| 33 | + |
| 34 | +Value support: |
| 35 | + |
| 36 | +- __l__ literal |
| 37 | +- __z__ "legacy" zoom based interpolation function |
| 38 | +- __m__ moustache replacement |
| 39 | +- __f__ "legacy" filter expressions |
| 40 | + |
| 41 | + |
| 42 | +|Key | Values | Support | Notes |
| 43 | +|---------------------------|-----------|-----------|---------------------------------------------------------------- |
| 44 | +|_All layers_ | | |
| 45 | +|__minzoom__ | l | yes |
| 46 | +|__maxzoom__ | l | yes |
| 47 | +|__ref__ | l | yes | missing from mapbox documentation |
| 48 | +|__visibility__ | l | yes |
| 49 | +|__interactive__ | l | yes | missing from mapbox documentation |
| 50 | +|---------------------------+-----------+-----------+---------------------------------------------------------------- |
| 51 | +|_background_ | | |
| 52 | +|__background-color__ | l z | yes |
| 53 | +|__backgroud-opacity__ | l z | yes |
| 54 | +|__background-pattern__ | l z | yes |
| 55 | +|---------------------------+-----------+-----------+---------------------------------------------------------------- |
| 56 | +|_Vector/geometry tile layers_ | | |
| 57 | +|__filter__ | f | yes |
| 58 | +|__source-layer__ | l | yes |
| 59 | +|---------------------------+-----------+-----------+---------------------------------------------------------------- |
| 60 | +|_fill_ | | |
| 61 | +|__fill-antialias__ | l | yes |
| 62 | +|__fill-color__ | l z | yes |
| 63 | +|__fill_opacity__ | l z | yes |
| 64 | +|__fill-outline-color__ | l z | yes |
| 65 | +|__fill-pattern__ | l z | yes |
| 66 | +|__fill-sort-key__ | | no |
| 67 | +|__fill-translate__ | l z | yes |
| 68 | +|__fill-translate-anchor__ | | no |
| 69 | +|---------------------------+-----------+-----------+---------------------------------------------------------------- |
| 70 | +|_fill-extrusion_ | | |
| 71 | +|__fill-extrusion-base__ | | no |
| 72 | +|__fill-extrusion-color | l z | yes |
| 73 | +|__fill-extrusion-height | | no |
| 74 | +|__fill-extrusion-opacity | l z | yes |
| 75 | +|__fill-extrusion-pattern | l z | yes |
| 76 | +|__fill-extrusion-translate | l z | yes |
| 77 | +|__fill-extrusion-translate-anchor | | no |
| 78 | +|__fill-extrusion-vertical-gradient | | no |
| 79 | +|---------------------------+-----------+-----------+---------------------------------------------------------------- |
| 80 | +|_line_ | | |
| 81 | +|__line-blur__ | | no | |
| 82 | +|__line-cap__ | l z | yes |
| 83 | +|__line_color__ | l z | yes |
| 84 | +|__line-dasharray__ | l | yes |
| 85 | +|__line-gap-width__ | | no |
| 86 | +|__line-gradient__ | | no |
| 87 | +|__line-join__ | l z | yes |
| 88 | +|__line-miter-limit__ | | no |
| 89 | +|__line-offset__ | | no |
| 90 | +|__line-opacity__ | l z | yes |
| 91 | +|__line-pattern__ | | no |
| 92 | +|__line-round-limit__ | | no |
| 93 | +|__line-sort-key__ | | no |
| 94 | +|__line-translate__ | | no |
| 95 | +|__line-translate-anchor__ | | no |
| 96 | +|__line-width__ | l z | yes |
| 97 | +|---------------------------+-----------+-----------+---------------------------------------------------------------- |
| 98 | +|_symbol_ | | |
| 99 | +|__icon-allow-overlap__ | | no |
| 100 | +|__icon-anchor__ | l z | yes |
| 101 | +|__icon-color__ | | no |
| 102 | +|__icon-halo-blur__ | | no |
| 103 | +|__icon-halo-color__ | | no |
| 104 | +|__icon-halo-width__ | | no |
| 105 | +|__icon-ignore-placement__ | | no |
| 106 | +|__icon-image__ | l m z | yes |
| 107 | +|__icon-keep-upright__ | | no |
| 108 | +|__icon-offset__ | l z | yes |
| 109 | +|__icon-opacity__ | | no |
| 110 | +|__icon-optional__ | | no |
| 111 | +|__icon-padding__ | | no |
| 112 | +|__icon-pitch-alignment__ | | no |
| 113 | +|__icon-rotate__ | l z | yes |
| 114 | +|__icon-rotation-alignment__| | no |
| 115 | +|__icon-size__ | l z | yes |
| 116 | +|__icon-text-fit__ | | no |
| 117 | +|__icon-text-fit-padding__ | | no |
| 118 | +|__icon-translate__ | | no |
| 119 | +|__icon-translate-anchor | | no |
| 120 | +|__symbol-avoid-edges__ | | no |
| 121 | +|__symbol-placement__ | l z | yes |
| 122 | +|__symbol-sort-key__ | | no |
| 123 | +|__symbol-spacing__ | | no |
| 124 | +|__symbol-z-order__ | | no |
| 125 | +|__text-allow-overlap__ | | no |
| 126 | +|__text-anchor__ | l z | yes | just "top" and "bottom" supported |
| 127 | +|__text-color__ | l z | yes |
| 128 | +|__text-field__ | l m | yes |
| 129 | +|__text-font__ | | no |
| 130 | +|__text-halo-blur__ | | no |
| 131 | +|__text-halo-color__ | l z | yes |
| 132 | +|__text-halo-width__ | l z | yes |
| 133 | +|__text-ignore-placement__ | | no |
| 134 | +|__text-justify__ | l z | yes | "auto" not supported |
| 135 | +|__text-keep-upright__ | | no |
| 136 | +|__text-letter-spacing__ | l z | yes |
| 137 | +|__text-line-height__ | | no |
| 138 | +|__text-max-angle__ | | no |
| 139 | +|__text-max-width__ | l z | yes |
| 140 | +|__text-offset__ | l z | yes |
| 141 | +|__text-opacity__ | l z | yes |
| 142 | +|__text-optional__ | | no |
| 143 | +|__text-padding__ | | no |
| 144 | +|__text-pitch-alignment__ | | no |
| 145 | +|__text-radial-offset__ | | no |
| 146 | +|__text-rotate__ | | no |
| 147 | +|__text-rotation-alignment__| | no |
| 148 | +|__text-size__ | l z | yes |
| 149 | +|__text-transform__ | l z | yes |
| 150 | +|__text-translate__ | | no |
| 151 | +|__text-translate-anchor__ | | no |
| 152 | +|__text-variable-anchor__ | | no |
| 153 | +|__test-writing-mode__ | | no |
0 commit comments