Beschriftung in Vektorkacheln

Beim Erstellen von Vektorkacheln werden alle für die Karten-Layer aktivierten Beschriftungen in die Kacheln einbezogen. Die Beschriftungsfunktionen von Vektorkacheln enthalten lediglich eine Teilmenge derer, die in ArcGIS Pro verfügbar sind. Beschriftungseigenschaften in ArcGIS Pro werden nach Möglichkeit in entsprechende Eigenschaften in der Vektorkachel-Spezifikation konvertiert. ArcGIS Pro unterstützt zwei Label-Engines, die Maplex Label Engine führt jedoch dazu, dass weitere Eigenschaften, wie unten angegeben, konvertiert werden.

Beschriftungsklassen

Mindestens eine Beschriftungsklasse kann in Vektorkacheln konvertiert werden. Die Platzierungsfunktionen von Vektorkachel-Clients sind im Vergleich zur Label-Engine in ArcGIS Pro beschränkt. Wenn beispielsweise zwei Beschriftungsklassen für einen Punkt-Layer Beschriftungen mit einer bevorzugten Position im oberen rechten Bereich der Beschriftung platzieren, verschieben die Label-Engines von ArcGIS Pro die Beschriftungen so, dass beide angezeigt werden.

Bei Vektorkacheln platzieren Clients nur die Beschriftung aus der höchsten Prioritätsklasse an der angegebenen Position und entfernen die andere aufgrund von Konflikten. Daher empfiehlt es sich, dass Features mit mehreren Beschriftungsklassen über eindeutige Beschriftungspositionen verfügen, um Konflikte zu vermeiden und die Anzahl entfernter Beschriftungen zu minimieren. In vielen Fällen kann gestapelter Text auch die Anforderungen mehrerer Beschriftungsklassen erfüllen. Weitere Informationen finden Sie im folgenden Abschnitt "Stapeln von Beschriftungen".

Textsymbol

Das Textsymbol wird in entsprechende Symboleigenschaften der Vektorkachel-Spezifikation konvertiert. Schriftgrößen werden von Punkten in Pixel konvertiert. Schriftarten werden in optimierte Darstellungen in den Ressourcen der Vektorkacheln und Detailausschnitte werden in Sprites konvertiert. Für Textsymbole, die die maßstabsbasierte Größenanpassung für Beschriftungen verwenden, werden Stopps für die Eigenschaft "text-size" erstellt. Wenn die Größe der Beschriftungen auf einen Größenbereich beschränkt ist, wird die Eigenschaft "text-size" mit Stopps angewendet, um Größenvariationen basierend auf den Werten zu erhalten.

Nachfolgend finden Sie ein Beispiel für Textsymbole:

"layout": {
  "text-font": ["Tahoma Bold"],
  "text-size": {
  "stops": [[5, 13.3333], [15, 48]]
  }
}

Die Textsymboleigenschaften Halo-Symbolfarbe und Halo-Größe werden in "text-halo-color" und "text-halo-size" konvertiert. Die Textsymboleigenschaften Halo-Symbolumrissbreite und Halo-Symbolumrissfarbe werden in ignoriert, da sie in der Vektorkachel-Spezifikation nicht unterstützt werden.

Als "Großbuchstaben" oder "Nur Großbuchstaben" festgelegte Groß-/Kleinschreibung wird auf den Beschriftungstext des Features angewendet. Der Buchstabenabstand wird in "text-letter-spacing" konvertiert, wobei Einheiten in ems konvertiert werden. Führungslinien werden in Vektorkacheln nicht unterstützt. Für Detailausschnitte mit Führungslinien wird lediglich das Hintergrundsymbol dargestellt. Für eine Sprechblasen-Bannerbeschriftung werden die Farbe und Umrisslinie, wird jedoch keine Führungslinie angegeben.

Vertikaler Text, der mit der Eigenschaft "Blockanordnung" als Text von rechts nach links angegeben ist, wird in den Textschreibmodus mit vertical als Wert konvertiert. Diese Eigenschaft wird für die vertikale Platzierung von asiatischem Text verwendet. Nur Beschriftungen, die mindestens ein Zeichen aus einem Bereich enthalten, der vertikales Schreiben unterstützt (z. B. CJK-Zeichen) können vertikal platziert werden.

Die folgenden Textsymboleigenschaften werden bei der Erstellung von Vektorkacheln nicht unterstützt:

  • Textsymboleigenschaften wie Umrissfarbe, Umrissstärke, unterstrichen, durchgestrichen, Groß-/Kleinschreibung für Kapitälchen, Positionsanpassung, horizontale Ausrichtung, vertikale Ausrichtung und Schatten
  • Textsymbol-Formatierungseigenschaften wie Wortabstand, Buchstabenbreite, Zeilenabstand, Kippwinkel, Ligaturen, Proportionalschrift, Glyphen als Geometrie darstellen, Basislinien extrapolieren, Glyphen-Hinting und Kompatibilitätsmodus
  • Textsymbol-Absatzeigenschaften wie weiche Trennzeichen, Erste Zeile einziehen, Einzug vor und Einzug nach
  • Textsymbol-Internationalisierungseigenschaften wie Textrichtung, Glyphenausrichtung, regionale Sprache und Schriftartencodierung

Beschriftungsausdrücke

Einfache einzeilige oder erweiterte Beschriftungsausdrücke in den Sprachen Arcade, VBScript, JScript und Python werden in Vektorkacheln unterstützt. SQL-Abfragen zum Beschriften einer Teilmenge der Features basierend auf einem Feldwert werden ebenfalls unterstützt. Beschriftungsausdrücke werden verarbeitet und in Vektorkacheln als Eigenschaftswert mit dem Namen "_name" gespeichert. Werden mehrere Beschriftungsklassen beschriftet, enthält der Eigenschaftsname eine Zahl, die der Reihenfolge der Beschriftungsklassen "_name1", "_name2" usw. entspricht.

Formatierungs-Tags für Beschriftungen werden nicht unterstützt und aus dem Beschriftungstext in den Vektorkacheln entfernt.

Stapeln von Beschriftungen

Maplex-Beschriftungen können basierend auf Zeichen in der Beschriftung und dem auf der Karte verfügbaren Platz für die dynamische Stapelung konfiguriert werden. Alternativ können Maplex-Beschriftungen so konfiguriert werden, um das Stapeln basierend auf dem Vorhandensein bestimmter Zeichen zu erzwingen. Vektorkacheln unterstützen kein dynamisches Stapeln, erzwungenes Stapeln hingegen schon. Der Erstellungsprozess von Vektorkacheln wendet erzwungenes Stapeln auf den Text an, der in die Namenseigenschaft des zu beschriftenden Features geschrieben wird.

Beschriftungsabkürzung

Maplex-Beschriftungen können basierend auf dem Text in der Beschriftung und dem auf der Karte verfügbaren Platz für die dynamische Abkürzung konfiguriert werden. Alternativ werden Einträge des Maplex-Abkürzungswörterbuchs, die die Option Übersetzen verwenden, ungeachtet des verfügbaren Platzes angewendet. Vektorkacheln unterstützen keine dynamischen Abkürzungen, Übersetzungsabkürzungen hingegen schon. Der Erstellungsprozess von Vektorkacheln wendet Übersetzungsabkürzungen auf den Text an, der in die Namenseigenschaft des zu beschriftenden Features geschrieben wird.

Beschriftungsplatzierung

Die folgenden Optionen zur Beschriftungsplatzierung sind möglich:

Punktplatzierung

Beim Erstellen von Vektorkacheln wird die Beschriftungsposition, "text-anchor", basierend auf der Standardposition festgelegt, die in den Eigenschaften für die Beschriftungsplatzierung angegeben ist. Bei Verwendung eines festen Platzierungs-Styles in der Maplex- oder Standard-Label-Engine wird die Platzierung entsprechend abgeglichen. Wenn der Style "Best Position" für die Platzierung verwendet wird, wird die Position mit der höchsten Rangstufe als Position in Vektorkacheln festgelegt. Die Beschriftung wird mit der Eigenschaft "text-offset" vom Feature versetzt, wobei die Symbolgröße und der festgelegte Versatz in der Beschriftungsplatzierung berücksichtigt werden. Wenn eine Drehung auf den Text angewendet wird, wird der Rotationswert für die Eigenschaft "text-rotate" festgelegt. Wird der Text mithilfe eines Rotationsfeldes oder Ausdrucks gedreht, werden das Rotationsfeld und jede zusätzliche Drehung für die Eigenschaft "text-rotate" festgelegt. Falls die Beschriftungseinstellungen der Karte so konfiguriert sind, dass Beschriftungen gedreht werden, wenn die Karte gedreht wird, wird diese Einstellung für Punktbeschriftungen berücksichtigt, indem die Eigenschaft "text-rotation-alignment" auf "map" und die Eigenschaft "text-keep-upright" auf false festgelegt wird.

Nachfolgend finden Sie ein Beispiel, das die Beschriftungseigenschaften eines Punkt-Layers für Text veranschaulicht, der direkt auf einem Punkt (Anker im unteren Bereich) platziert wird:

"id": "U.S. Cities",
"type": "symbol",
"source": "esri",
"source-layer": "U.S. Cities",
"layout": {
  "icon-image": "U.S. Cities",
  "icon-allow-overlap": true,
  "text-font": ["Tahoma Regular"],
  "text-size": 13.3333,
  "text-anchor": "bottom",
  "text-offset": [0, 0.065],
  "text-field": "{_name}",
  "text-optional": true
  }

Linienplatzierung

Für Linienbeschriftungen in Vektorkacheln sind nur regelmäßig geschwungene und mittig horizontale Platzierungen möglich. Alle anderen Linienplatzierungs-Styles werden in eine regelmäßig geschwungene Platzierung konvertiert. Versetzte Beschriftungsplatzierungen für Linien werden in Vektorkacheln konvertiert, wenn der Versatz auf eine Seite der Linie beschränkt ist. Ein Versatzwert wird angewendet, um den Text auf die richtige Seite zu verschieben. Beachten Sie, dass geschwungene Beschriftungen in der Regel als gerader Text platziert werden, wenn das Segment gerade ist. Der Erstellungsprozess von Vektorkacheln erstellt sekundäre Linieneometrien zum Glätten der geschwungenen Platzierung. Sekundäre Punktgeometrien werden für die mittig horizontale Platzierung erstellt.

Nachfolgend finden Sie ein Beispiel für eine Linienplatzierung auf der Linie:

"id": "U.S. National Transportation Atlas Interstate Highways/label/Class 1",
"type": "symbol",
"source": "esri",
"source-layer": "U.S. National Transportation Atlas Interstate Highways/label",
"layout": {
  "symbol-placement": "line",
  "symbol-spacing": 1000,
  "text-font": ["Tahoma Regular"],
  "text-size": 13.3333,
  "text-field": "{_name}",
  "text-optional": true
 }

Polygon-Platzierung

Geschwungene, horizontale, gerade und Flussplatzierungen werden unterstützt. Die Flussplatzierung resultiert in derselben Platzierung wie eine geschwungene Platzierung. Der Erstellungsprozess von Vektorkacheln erstellt sekundäre Geometrien zur Beschriftung, um dem erforderlichen Platzierungs-Style ggf. zu entsprechen. Beispielsweise führen Optionen für die Beschriftungsplatzierung wie Gerade in Polygon und In Polygon geschwungen dazu, dass eine Punkt- oder Liniengeometrie erstellt wird, um die Beschriftungen innerhalb jedes Polygons richtig zu platzieren und auszurichten. Falls die Beschriftungseinstellungen der Karte so konfiguriert sind, dass Beschriftungen gedreht werden, wenn die Karte gedreht wird, wird diese Einstellung für Polygon-Beschriftungen berücksichtigt, indem die Style-Eigenschaft "text-rotation-alignment" auf "map" und die Eigenschaft "text-keep-upright" auf "false" festgelegt wird.

Für die grundlegende Platzierung in der Mitte eines Polygons werden keine Positionseigenschaften angegeben, wie im Beispiel unten:

"id": "U.S. Counties (Generalized)/label/Class 1",
"type": "symbol",
"source": "esri",
"source-layer": "U.S. Counties (Generalized)/label",
"layout": {
  "text-font": ["Tahoma Regular"],
  "text-size": 13.3333,
  "text-field": "{_name}",
  "text-optional": true
}

Konfliktlösung

Die Maplex-Beschriftungsplatzierung verfügt über verschiedene Einstellungen für die Konfliktlösung, für Vektorkacheln werden jedoch nur zwei unterstützt.

Für Linienbeschriftungen wird Wiederholen > Mindestintervall in die Eigenschaft "symbol-spacing" mit Einheiten in Pixel konvertiert. Die Eigenschaft Nicht platzierte Beschriftungen > Nie entfernen ermöglicht bei Aktivierung überlappende Beschriftungen und wird in die Eigenschaft "text-allow-overlap" mit dem Wert "true" konvertiert.

Verwandte Themen