Features

Bei diesem Tile-Provider werden die Kacheln im Format Mapbox Vector Tiles aus einem Feature Provider abgeleitet.

Konfiguration

NameDefaultBeschreibungTypSeit
id
Eindeutiger Identifikator der Entity, muss dem Dateinamen entsprechen. Erlaubt sind Buchstaben (A-Z, a-z), Ziffern (0-9), der Unterstrich ("_") und der Bindestrich ("-").
string
v2.0
providerType
Immer TILE.
string
v2.0
providerSubType
Immer FEATURES.
string
v2.0
auto
false
Steuert ob fehlende Definitionen beim Start automatisch aus der Datenquelle bestimmt werden sollen (Auto-Modus).
boolean
v2.0
autoPersist
false
Deprecated, wird vom Editor abgelöst. Steuert ob mit auto generierte Definitionen in die Konfigurationsdatei geschrieben werden sollen. Setzt voraus, dass der Store nicht READ_ONLY ist.
boolean
v2.0
tilesetDefaults
Defaults für alle tilesets, siehe Tileset Defaults.
object
v3.4
layerDefaults
Deprecated Siehe tilesetDefaults.
object
v3.4
tilesets
{}
Definition von Tilesets, see Tileset.
object
v3.4
layers
{}
Deprecated Siehe tilesets.
object
v3.4
caches
[]
Liste von Cache-Definitionen, siehe Cache.
array
v3.4
seeding
{}
Steuert wie und wann Kacheln vorberechnet werden, siehe Seeding.
object
v3.4

Tileset Defaults

Defaults die für jedes Tileset angewendet werden.

NameDefaultBeschreibungTypSeit
center
{ lon: 0.0, lat: 0.0 }
Legt Länge und Breite fest, auf die standardmäßig eine Karte mit den Kacheln zentriert werden sollte.
object
v3.4
featureLimit
100000
Steuert die maximale Anzahl der Features, die pro Query für eine Kachel berücksichtigt werden.
number
v3.4
minimumSizeInPixel
0.5
Objekte mit Liniengeometrien, die kürzer als der Wert sind, werden nicht in die Kachel aufgenommen. Objekte mit Flächengeometrien, die kleiner als das Quadrat des Werts sind, werden nicht in die Kachel aufgenommen. Der Wert 0.5 entspricht einem halben "Pixel" im Kachelkoordinatensystem.
number
v3.4
ignoreInvalidGeometries
false
Steuert, ob Objekte mit ungültigen Objektgeometrien ignoriert werden. Bevor Objekte ignoriert werden, wird zuerst versucht, die Geometrie in eine gültige Geometrie zu transformieren. Nur wenn dies nicht gelingt, wird die Geometrie ignoriert. Die Topologie von Geometrien können entweder schon im Provider ungültig sein oder die Geometrie kann in seltenen Fällen als Folge der Quantisierung der Koordinaten zu Integern für die Speicherung in der Kachel ungültig werden.
boolean
v3.4
transformations
{}
Über Transformationen können die selektierten Features in Abhängigkeit der Zoomstufe nachbearbeitet werden. Unterstützt wird eine Reduzierung der Attribute (properties), das geometrische Verschmelzen von Features, die sich geometrisch schneiden (merge), ggf. eingeschränkt auf Features mit bestimmten identischen Attributen (groupBy). Siehe das Beispiel unten. Beim Verschmelzen werden alle Attribute in das neue Objekt übernommen, die in den verschmolzenen Features identisch sind.
object
v3.4
featureProvider
null
Die Id des Feature-Providers. Standardmäßig wird die Tile-Provider-Id ohne -tiles verwendet.
string
v3.4
levels
{ "WebMercatorQuad" : { "min": 0, "max": 23 } }
Steuert die Zoomstufen, die für jedes aktive Kachelschema verfügbar sind sowie welche Zoomstufe als Default verwendet werden soll.
object
v3.4

Tileset

Alle Optionen aus Tileset Defaults sind ebenfalls verfügbar und können hier überschrieben werden.

NameDefaultBeschreibungTypSeit
id
Die Tileset-Id.
string
v3.4
featureType
null
Der Name des Feature-Types. Standardmäßig wird die Tileset-Id verwendet.
string
v3.4
combine
[]
Anstatt aus einem featureType generiert zu werden, kann ein Tileset auch aus mehreren anderen Tilesets kombiniert werden. Der Wert ist eine Liste von Tileset-Ids oder eine Liste mit einem einzelnen Eintrag * um alle anderen Tilesets zu kombinieren.
array
v3.4
filters
{}
Über Filter kann gesteuert werden, welche Features auf welchen Zoomstufen selektiert werden sollen. Dazu dient ein CQL-Filterausdruck, der in filter angegeben wird. Siehe das Beispiel unten.
object
v3.4

Cache

Es gibt zwei verschiedene Cache-Typen:

  • IMMUTABLE Ein unveränderbarer Cache kann nur durch Seeding erzeugt werden. Er wird erst verfügbar gemacht, wenn er vollständig ist. Wenn einige oder alle Kacheln neu berechnet werden sollen, wird auch die neue Version erst verfügbar gemacht, wenn sie vollstänidg ist. In der Zwischenzeit wird weiter die alte Version verwendet.
    Daher ist ein unveränderbarer Cache immer konsistent und garantiert unterbrechungsfreien Betrieb, sobald das initiale Seeding abgeschlossen ist.
  • DYNAMIC Ein dynamischer Cache kann durch Seeding berechnet werden, aber er speichert auch passende Kacheln, die von Konsumenten angefragt werden. Kacheln werden verfügbar gemacht, sobald sie berechnet sind. Wenn einige oder alle Kacheln neu berechnet werden sollen, werden sie zunächst gelöscht.
    Daher kann ein dynamischer Cache inkonsistent sein und kann während des (Re-)Seedings Client-Fehler auslösen.

Im allgemeinen wird die Verwendung von unveränderbaren Caches empfohlen. Für höhere Zoom-Level kann ein komplementärer nicht-geseedeter dynamischer Cache Sinn machen, um die Seeding-Zeit zu reduzieren.

Es gibt zwei verschiedene Storage-Typen:

  • PLAIN Jede Kachel wird in einer einzelnen Datei gespeichert. Das wird für Remote-Speicherung empfohlen (coming soon).
  • MBTILES Kacheln werden in einer MBTilesopen in new window Datei pro Kachelschema gespeichert. Das wird für lokale Speicherung empfohlen.
NameDefaultBeschreibungTypSeit
type
Entweder IMMUTABLE oder DYNAMIC.
string
v3.4
storage
Entweder PLAIN oder MBTILES.
string
v3.4
seeded
true
Soll dieser Cache beim Seeding berücksichtigt werden?
boolean
v3.4
levels
{}
Kachelschemas und Zoomstufen, die von diesem Cache gespeichert werden sollen. Gilt für alle Tilesets, die nicht in tilesetLevels angegeben werden.
object
v3.4
tilesetLevels
{}
Kachelschemas und Zoomstufen für einzelne Tilesets, die von diesem Cache gespeichert werden sollen.
object
v3.4

Seeding

Steuert wie und wann Caches berechnet werden.

NameDefaultBeschreibungTypSeit
runOnStartup
true
Steuert, ob das Seeding beim Start einer API ausgeführt wird.
boolean
v2.0
runPeriodic
null
Ein Crontab-Pattern für die regelmäßige Ausführung des Seedings. Das Seeding wird stets nur einmal pro API zur gleichen Zeit ausgeführt, d.h. falls eine weitere Ausführung ansteht, während die vorherige noch läuft, wird diese übersprungen.
string
v2.0
purge
false
Steuert, ob der Cache vor dem Seeding bereinigt wird.
boolean
v2.0
maxThreads
1
Die maximale Anzahl an Threads, die für das Seeding verwendet werden darf. Die tatsächlich verwendete Zahl der Threads hängt davon ab, wie viele Threads für Hintergrundprozesse zur Verfügung stehen, wenn das Seeding startet. Wenn mehr als ein Thread erlaubt sein soll, ist zunächst zu prüfen, ob genügend Threads fürHintergrundprozesse konfiguriert sind. Es ist zu berücksichtigen, dass alle APIs um die vorhandenen Threads für Hintergrundprozesse konkurrieren.
number
v2.0

Beispiel


id: vineyards-tiles
providerType: TILE
providerSubType: FEATURES
caches:
- type: IMMUTABLE
  storage: MBTILES
  levels:
    WebMercatorQuad:
      min: 5
      max: 12
- type: DYNAMIC
  storage: MBTILES
  seeded: false
  levels:
    WebMercatorQuad:
      min: 13
      max: 18
tilesetDefaults:
  levels:
    WebMercatorQuad:
      min: 5
      max: 18
tilesets:
  __all__:
    id: __all__
    combine: ['*']
  vineyards:
    id: vineyards