Wenn Sie eine FeatureCollection
als FeatureView
exportieren, können Sie Parameter festlegen, mit denen Sie festlegen, welche Elemente bei einer bestimmten Zoomstufe gerendert werden (Ausdünnung) und wie sich überlappende Elemente anordnen (Z-Reihenfolge).
Diese Einstellungen wirken sich auf die Geschwindigkeit und die Darstellungsmerkmale von FeatureView
-Objekten aus. In den folgenden Abschnitten werden die Optimierungsparameter beschrieben und ihre Auswirkungen anhand von Konzeptdiagrammen veranschaulicht. Dabei werden Kartenkacheln durch gestrichelte Linien, sichtbare Elemente durch durchgezogene Linien und entfernte (verdünnte) Elemente durch Polygone mit gestrichelten Linien und ohne Füllung dargestellt.
Der folgende Codeblock ist ein Beispiel für einen Export von FeatureCollection
nach FeatureView
, in dem die auf dieser Seite beschriebenen Optimierungsparameter hervorgehoben werden.
Export.table.toFeatureView({
collection: fooFc,
assetId: 'foo-featureview-demo',
description: 'foo-featureview-demo',
maxFeaturesPerTile: 1500,
thinningStrategy: 'HIGHER_DENSITY',
thinningRanking: ['my-property DESC'],
zOrderRanking: ['my-property DESC']
});
Maximale Anzahl von Features pro Kachel
Der Parameter „max. Elemente pro Kachel“ (maxFeaturesPerTile
) definiert die maximale Anzahl von Elementen, die auf einer einzelnen Kartenkachel gerendert werden sollen. Dieser Wert ist eine Obergrenze und kann je nach Ausdünnungsstrategie deutlich niedriger sein. Dieser Wert kann zwischen 1 und 2.000 liegen. Bei höheren Werten werden mehr Elemente pro Kachel angezeigt, die Kacheln werden jedoch länger geladen.
In der folgenden Tabelle sehen Sie, dass mit abnehmendem Wert des Parameters maxFeaturesPerTile
auch die Anzahl der Features abnimmt, die sich mit jeder Kartenkachel überschneiden. Eine Kachel kann weniger als den maximalen Wert haben, aber nicht mehr.
Alle Funktionen (als Referenz) |
Es werden maximal fünf Elemente pro Kachel angezeigt. |
Es werden maximal zwei Elemente pro Kachel angezeigt. |
Ranking für die Ausdünnung
Mit dem Parameter „Verdünnungsrangfolge“ (thinningRanking
) wird festgelegt, wie Daten basierend auf dem Geometriestyp, der Feature-Größe und den Feature-Eigenschaftswerten für die Verdünnung priorisiert werden. Es werden eine Reihe von Regeln akzeptiert, die dem Algorithmus für die Ausdünnung mitteilen, welche Elemente vor anderen entfernt werden sollen, wenn maxFeaturesPerTile
erreicht wird. Jede Regel enthält ein Feature-Attribut, gefolgt von der Sortierrichtung (aufsteigend/ASC
oder absteigend/DESC
). Es kann eine oder mehrere Regeln geben. Zusätzlich zu den herkömmlichen Elementeigenschaften gibt es zwei spezielle Eigenschaften, mit denen Sie die Ausdünnung priorisieren können: .geometryType
und .minZoomLevel
.
.geometryType
: Hiermit werden Elemente als Punkte, Linien oder Polygone gekennzeichnet. Diese Geometriestypen werden zum Zweck der Sortierung als klein, mittel und groß quantifiziert..minZoomLevel
: die unterste Zoomstufe der Karte, bei der ein Element in einer Kachel gerendert werden kann. Bei Zoomstufen unter diesem Wert wird die Funktion nicht angezeigt. Bei Zoomstufen, die diesem Wert entsprechen oder darüber liegen, wird die Funktion möglicherweise angezeigt. Bei niedrigen Zoomstufen entspricht eine Kartenkachel einem größeren geografischen Gebiet als bei höheren Zoomstufen. Punktelementen wird der Wert 0 zugewiesen (sichtbar bei allen Zoomstufen). Linien- und Polygongeometrien werden Werte basierend auf ihren Begrenzungen (Linien) oder ihrer Fläche (Polygone) zugewiesen: Große Elemente haben niedrigere.minZoomLevel
-Werte als kleinere Elemente.
Regeln für die Ausdünnung des Rankings können als String oder als Liste von Strings angegeben werden, wobei ein Property-Name und die gewünschte Sortierrichtung durch ein Leerzeichen getrennt sind:
// String input format for setting thinning ranking based on 3 rules.
'my-property DESC, .geometryType ASC, .minZoomLevel ASC'
// List of strings input format for setting thinning ranking based on 3 rules.
['my-property DESC', '.geometryType ASC', '.minZoomLevel ASC']
Die obigen Regeln weisen dem Algorithmus zur Entfernung von Überlappungen an, Features mit einem größeren Attribut „my-property“ zu priorisieren (d. h., zuerst Features mit einem kleineren Wert für „my-property“ entfernen), Features mit einem kleineren Geometriestyp zu priorisieren (z. B. Polygone vor Linien und Linien vor Punkten) und Features mit einer kleineren Mindestzoomstufe zu priorisieren (d. h., Punkte vor großen Polygonen und große Polygone vor kleinen Polygonen).
In der folgenden Tabelle wird veranschaulicht, wie sich die Änderung der thinningRanking
-Regel für ein size
-Attribut auf die dargestellten Elemente auswirkt. Die Gesamtzahl der Elemente pro Kachel (Spalte „Alle Elemente“) ist größer als 5. Daher wird die Anzahl der dargestellten Elemente durch Ausdünnen begrenzt (Spalte thinningRanking: 5
). In der ersten Zeile sind die Features nach size
von der größten bis zur kleinsten Größe sortiert. Das bedeutet, dass größere Features Vorrang vor kleineren haben. Die Features werden in absteigender Reihenfolge nach Größe dargestellt, bis maxFeaturesPerTile
erreicht ist. In der zweiten Zeile sind die Elemente nach Größe sortiert. Die kleinsten Elemente werden also zuerst gezeichnet, bis maxFeaturesPerTile
erreicht ist.
thinningRanking |
Alle Funktionen (als Referenz) | maxFeaturesPerTile: 5 |
---|---|---|
Priorisieren Sie Funktionen mit einem höheren |
||
Funktionen mit einem kleineren |
Strategie zur Verringerung der Anzahl der Elemente
Der Parameter „Ausdünnungsstrategie“ (thinningStrategy
) wird zusammen mit dem Ausdünnungsrang (thinningRanking
) verwendet, um beim Exportieren Daten zu entfernen und so die Renderingleistung zu verbessern. Es werden zwei Strategien unterstützt: HIGHER_DENSITY
und GLOBALLY_CONSISTENT
. Bei der Ausdünnung auf einer bestimmten Zoomstufe bedeutet eine Strategie mit höherer Dichte, dass jede Kachel dem Grenzwert von maxFeaturesPerTile
so nahe wie möglich kommen kann, ohne Rücksicht auf den Rang der Elemente in anderen Kacheln. Bei der global konsistenten Ausdünnungsstrategie bedeutet das, dass, wenn ein Element durch Ausdünnung aus einer Kachel entfernt wird, alle Elemente mit demselben oder niedrigeren Ausdünnungsrang aus allen Kacheln entfernt werden, unabhängig davon, ob eine Kachel ausgedünnt werden muss (maxFeaturesPerTile
-Limit überschritten). Verwenden Sie die Strategie HIGHER_DENSITY
, um die Featuredichte zu optimieren, und die Strategie GLOBALLY_CONSISTENT
, um die einheitliche Darstellung des Feature-Rangs zwischen den Kacheln zu optimieren.
In der folgenden Tabelle wird gezeigt, wie sich eine Änderung von thinningStrategy
auf das Ausdünnen auswirkt. In diesem Beispiel werden die Daten mithilfe der Form/Farbe der Punkte ausgedünnt. Blaue Kreise, grüne Quadrate und rote Dreiecke haben entsprechende Schranklierungsränge, die von „Best“ (Beste) bis „Worst“ (Schlechteste) reichen. Für jede thinningStrategy
(HIGHER_DENSITY
und GLOBALLY_CONSISTENT
) sind drei verschiedene Werte für maxFeaturesPerTile
angegeben: eine Zahl, die groß genug ist, um alle Funktionen anzuzeigen, 10 Funktionen und 9 Funktionen.
Bei HIGHER_DENSITY
und 10 maxFeaturesPerTile
werden 6 rote Dreiecke (niedrigste Priorität im Ausdünnungsrang) aus der oberen linken Kachel und 1 rotes Dreieck aus der unteren linken Kachel entfernt. Mit HIGHER_DENSITY
und 9
maxFeaturesPerTile
werden aus der oberen linken Kachel sieben rote Dreiecke und aus der unteren linken Kachel ein rotes Dreieck und ein grünes Quadrat ausgeblendet.
In diesen Beispielen wird jede Kachel unabhängig voneinander ausgedünnt, ohne den Rang der Ausdünnung von Features in benachbarten Kacheln zu berücksichtigen. Je nach den Eigenschaften der Daten kann diese Strategie dazu führen, dass benachbarte Kartenkacheln sich deutlich voneinander unterscheiden. Die Anzahl der dargestellten Elemente wird jedoch maximiert.
Wie Sie sich erinnern, bedeutet GLOBALLY_CONSISTENT
-Elimination, dass alle anderen Elemente mit derselben oder einer schlechteren thinningRank
entfernt werden, wenn ein Element durch Elimination aus einer Kachel entfernt wird. Wenn maxFeaturesPerTile
auf „10“ festgelegt ist, werden die roten Dreiecke auf keiner Kachel angezeigt, da ein rotes Dreieck in den Kacheln oben links und unten links verdünnt wird.
Wenn maxFeaturesPerTile
auf 9 festgelegt ist, werden die grünen Quadrate ebenfalls auf keiner Kachel angezeigt, da ein grünes Quadrat in der Kachel links unten verdünnt ist.
Mit dieser Strategie ist es weniger wahrscheinlich, dass die Kacheln so deutlich voneinander abheben wie bei der HIGHER_DENSITY
-Strategie. Es besteht jedoch die Möglichkeit, dass Kacheln auf eine Reihe von Elementen weit unter dem maxFeaturesPerTile
-Limit reduziert werden.
thinningStrategy |
Alle Funktionen (als Referenz) | maxFeaturesPerTile: 10 | maxFeaturesPerTile: 9 |
---|---|---|---|
Weniger aggressives Ausdünnen. Erhält eine hohe Featuredichte durch das Ausdünnen innerhalb von Kacheln. |
|||
Stärkeres Ausdünnen. Durch die Zwischenkacheln wird ein global konsistenter Mindest-Einengungsrang beibehalten. |
Z-Ordnung
Mit dem Parameter „Z-Reihenfolge“ (zOrderRanking
) wird die Reihenfolge überlappender Elemente gesteuert. Es werden Regeln akzeptiert, die festlegen, welche Elemente bei Überschneidungen unter oder über anderen erscheinen sollen. Die Regellogik und das Format zum Festlegen der Reihenfolge der Funktionen entsprechen dem Rang für die Ausdünnung. Weitere Informationen finden Sie in diesem Abschnitt.
Regeln für die Z-Reihenfolge können als String oder als Liste von Strings angegeben werden, wobei ein Property-Name und die gewünschte Sortierrichtung durch ein Leerzeichen getrennt sind:
// String input format for setting z-order ranking based on 3 rules.
'my-property DESC, .geometryType ASC, .minZoomLevel ASC'
// List of strings input format for setting z-order ranking based on 3 rules.
['my-property DESC', '.geometryType ASC', '.minZoomLevel ASC']
Die obigen Regeln legen fest, dass Elemente mit einem höheren „my-property“-Wert unter Elementen mit einem niedrigeren Wert angezeigt werden sollen, Elemente mit einem kleineren Geometriestyp unter Elementen mit einem größeren Geometriestyp (z. B. Punkte unter Linien und Linien unter Polygonen) und Elemente mit einer niedrigeren Mindestzoomstufe (größere Elemente) unter Elementen mit einer höheren Mindestzoomstufe (kleinere Elemente).
In der folgenden Tabelle wird gezeigt, wie sich die Änderung der zOrderRanking
-Regel für ein Attribut vom Typ „Größe“ darauf auswirkt, welche Elemente bei Überschneidungen vor anderen erscheinen. In der ersten Zeile werden die Elemente in absteigender Reihenfolge nach Größe sortiert. Das bedeutet, dass größere Elemente unter kleineren Elementen erscheinen sollten (größere Elemente werden zuerst gezeichnet). In der zweiten Zeile hingegen werden die Elemente in aufsteigender Reihenfolge nach Größe sortiert. Das bedeutet, dass Elemente mit einer kleineren Größe unter größeren Elementen erscheinen sollten (kleinere Elemente werden zuerst gezeichnet).
Elemente mit einem kleineren |
Elemente mit einem größeren |