In Web-Feature-Layern verbessert ein Feature-Cache die Performance sowie häufig verwendete Tasks, indem Features in einem temporären Ordner gespeichert werden. Der Cache wird automatisch verwaltet. Beim Cachen von Features wird die Anzahl der für den Datenabruf erforderlichen Abfragen reduziert, und die Darstellungszeit wird beschleunigt. Dies kann nützlich sein, wenn Sie in einer bestimmten Kartenausdehnung mit großen oder komplexen Datasets arbeiten oder wenn viele Benutzer denselben Service verwenden. Zudem wird die Serverauslastung reduziert, weil weniger Service-Anforderungen anfallen.
Standardmäßig wird der Feature-Cache automatisch durch die Anwendung gefüllt; dies ist die empfohlene Einstellung. Der Cache wird jedes Mal gefüllt, wenn eine Karte fertig gezeichnet wurde und die folgenden fünf Kriterien erfüllt sind:
- Der Layer wird im Bereich Inhalt angezeigt.
- Der Layer wird basierend auf dem sichtbaren Maßstabsbereich angezeigt.
- Die Gesamtzahl der gezeichneten Features liegt unter dem fünffachen Wert des Schwellenwertes für die Zeilenanzahl auf dem Service-Layer.
- Die in den Layer-Eigenschaften festgelegte Caching-Option lautet Cache am Ende der Sitzung löschen.
- Die geschätzte Anzahl der Features in der sichtbaren Ausdehnung liegt unter dem fünffachen Wert des Schwellenwertes für die Zeilenanzahl, wenn Filter vorhanden sind.
Um zu verhindern, dass Serverressourcen beim automatischen Cachen von Features durch Abfragen mit langer Ausführungszeit übermäßig beansprucht werden, gilt beim Füllen des Feature-Cache ein Timeout von 15 Sekunden. Wenn der Cache eines Layers länger als 15 Sekunden zum Füllen benötigt, wird die Anforderung abgebrochen, der Layer wird als langsam gekennzeichnet und beim automatischen Cachen wird der Cache in der aktuellen oder in einer kleineren Größenordnung nicht mehr gefüllt. Bei Größenordnungen größer als 1/4 der langsamen Größenordnung wird der Layer automatisch gefüllt.
Wenn der Feature-Cache nicht gefüllt wird, weil die oben aufgeführten fünf Kriterien nicht erfüllt sind oder ein 15-Sekunden-Timeout auftritt, können Sie den Cache manuell verwalten, um dennoch von den Performance-Vorteilen des Cache zu profitieren.
Hinweis:
Zu den Filtern gehören Anzeigefilter, Definitionsabfragen, Subtype-Gruppen-Layer und Symbolklassen.
Vorsicht:
Layer, die mit Definitionsabfragen veröffentlicht werden, sollten Sie cachen, wenn Sie diese in ArcGIS AllSource bearbeiten möchten. Der Grund dafür ist, dass Service-basierte Definitionsabfragen nicht für ArcGIS AllSource verfügbar sind. Bei Verwendung dieser Layer werden bearbeitete oder erstellte Features, die nicht der Definitionsabfrage entsprechen, möglicherweise dennoch in ArcGIS AllSource angezeigt, auch wenn sie in anderen Anwendungen nicht angezeigt werden. Diese Features werden möglicherweise während der Sitzung ausgeblendet und beim nächsten Öffnen von ArcGIS AllSource nicht angezeigt.
Außerdem werden weitere Details für den Zeilenanzahl-Schwellenwert, die geschätzte Zeilenanzahl und die Subtype-Gruppen-Layer verwendet, um zu bestimmen, ob der Cache automatisch gefüllt wird.
Schwellenwert für Zeilenanzahl
Anhand des Schwellenwertes für die Zeilenanzahl wird bestimmt, wann der Feature-Cache gefüllt wird. Der Schwellenwert für die Zeilenanzahl ist auf 2000 oder den Wert maxRecordCount des Feature-Service-Layers festgelegt, je nachdem, welcher der zwei Werte niedriger ist.
Geschätzte Zeilenanzahl
Wenn eine geschätzte Zeilenanzahl unterstützt wird und der Layer Filter aufweist, verwendet ArcGIS AllSource die geschätzte Zeilenanzahl und die fünf oben beschriebenen Kriterien, um zu bestimmen, ob der Feature-Cache gefüllt wird. Wenn der Layer keine Filter aufweist, wird keine geschätzte Zeilenanzahl verwendet und ArcGIS AllSource bestimmt anhand der ersten vier oben beschriebenen Kriterien, ob der Feature-Cache gefüllt wird.
Wenn die geschätzte Zeilenanzahl des gesamten Feature-Service-Layers unter dem fünffachen Wert des Schwellenwertes für die Zeilenanzahl liegt, wird der Feature-Cache mithilfe des Snapshot-Modus gefüllt. Es wird nur eine Anforderung übermittelt, und der Feature-Cache wird mit allen Features aus dem Service gefüllt. Im Snapshot-Modus wird der Feature-Cache von räumlichen Abfragen und nichträumlichen Abfragen verwendet.
Für Feature-Service-Layer, die keine geschätzte Zeilenanzahl unterstützen, wird der Feature-Cache nicht gefüllt, wenn die Layer Filter aufweisen.
Hinweis:
Um festzustellen, ob der Feature-Service eine geschätzte Zeilenanzahl unterstützt, suchen Sie in der JSON-Ressource des Layers den Parameter infoInEstimates. Wenn in diesem Array count angezeigt wird, ruft ArcGIS AllSource die geschätzte Zeilenanzahl ab. Wenn das Array fehlt oder count nicht enthält, ruft ArcGIS AllSource die geschätzte Zeilenanzahl nicht ab.
Weitere Informationen zu diesem Parameter finden Sie unter Get Estimates.
Subtype-Gruppen-Layer
In manchen Situationen können Subtype-Gruppen-Layer als Filter betrachtet werden.
Dies ist beispielsweise der Fall, wenn mindestens ein Sublayer innerhalb des Subtype-Gruppen-Layers sichtbar ist. In diesem Szenario wird die geschätzte Zeilenanzahl zum Füllen des Feature-Cache verwendet, sofern sie unterstützt wird.
Wenn alle Subtype-Gruppen-Layer sichtbar sind, werden Subtype-Gruppen-Layer nicht als Filter betrachtet. In diesem Szenario wird die Summe der Zeichnungen von allen sichtbaren Subtype-Gruppen-Layern verwendet, um zu bestimmen, ob der Feature-Cache gefüllt wird.
Subtype-Gruppen-Layer werden ebenfalls nicht als Filter betrachtet, wenn kein Subtype-Gruppen-Layer sichtbar ist. In diesem Szenario werden die Subtype-Gruppen-Layer als nicht sichtbar betrachtet, und der Feature-Cache wird für diese Layer nicht gefüllt.