Daten in Web-Feature-Layern werden mit seitenbasierten oder kachelbasierten Abfragen abgefragt.
Seitenbasierte Abfragen
In ArcGIS Pro erfolgen die meisten Abfragen bei der Darstellung und Bearbeitung in Form von seitenbasierten Abfragen, was als Paging bezeichnet wird. Bei dieser Methode wird in einer Abfrage nicht die gesamte Datenmenge abgefragt, sondern eine Teilmenge der Daten, eine sogenannte Seite. Durch Verwendung von Seiten können kleinere Anforderungen in einem angemessenen Zeitrahmen gesendet und zurückgegeben werden, was die Reaktionsgeschwindigkeit der Anwendung und die Benutzerfreundlichkeit steigert.
Die Größe der Seiten hängt von den Metadateninformationen ab, die mit dem Feature-Service verknüpft sind. Die verwendeten Eigenschaften lauten standardMaxRecordCount und maxRecordCount, wobei der größere Wert die Seitengröße bestimmt. Bei Abfrageanforderungen wird der Wert dann zusammen mit dem Parameter resultRecordCount verwendet.
Beim Auffüllen der Seiten wird die Eigenschaft exceededTransferLimit in die Abfrageantworten einbezogen. Wird für die Eigenschaft exceededTransferLimit in der Antwort "true" ausgegeben, wird angezeigt, dass weitere Datensätze verfügbar sind und zusätzliche Seiten angefordert werden. Es werden solange weitere Anforderungen gesendet, bis für die Eigenschaft exceededTransferLimit "false" ausgegeben wird oder die Eigenschaft nicht in der Abfrageantwort vorliegt.
Der Datensatz, bei dem die einzelnen Seiten beginnen, wird mit dem resultOffset-Wert ermittelt. Jedes Mal, wenn zusätzliche Seiten angefordert werden, wird der resultOffset-Wert erhöht. Damit wird die Anzahl der übersprungenen Datensätze angegeben sowie der nächste Datensatz, bei dem die Seite beginnen soll (resultOffset + 1). Beispiel: Wurde die Seitengröße auf 2000 festgelegt, lautet der resultOffset-Wert der zweiten Seitenanforderung 2000, und die Seite wird mit den nächsten 2000 verfügbaren Datensätzen gefüllt.
Weitere Informationen finden Sie unter Query (Map Service/Layer).
Hinweis:
Wenn die Parameter resultOffset und resultRecordCount nicht verwendet werden, ist die Eigenschaft exceededTransferLimit möglicherweise auch in den Abfrageergebnissen enthalten. In diesem Fall wird für die Eigenschaft nur "true" ausgegeben, wenn die Anzahl der Datensätze den vom Serveradministrator konfigurierten Wert für maxRecordCount überschreitet.
Kachelbasierte Abfragen
Bei kachelbasierten Abfragen wird eine Kartenausdehnung in Kacheln aufgeteilt, mit denen die Features in der Karte angezeigt werden. Dies umfasst ebenfalls das Caching von Kacheln auf dem Server. Dadurch muss der Server keine Neuberechnung der Kartenanzeige durchführen, sondern kann die Kacheln zurückgegeben. Zur Verwendung von kachelbasierten Abfragen muss für den Service-Layer die Eigenschaft supportsQueryWithCacheHint auf "true" festgelegt werden. Dadurch kann in der Anforderung der Parameter cacheHint verwendet werden, der angibt, ob Abfrageergebnisse im Service gecacht werden.
Die Abfrage erfolgt über ein Kachelschema. Dabei werden mehrere Detaillierungsebenen, die mit verschiedenen Kartenmaßstäben verknüpft sind, erzeugt. Die anfänglich verwendete Detaillierungsebene basiert auf dem Kartenmaßstab, der beim Laden der Daten vorliegt. Es werden die Kacheln dieser anfänglichen Detaillierungsebene verwendet, es sei denn, es liegen zu viele Features in einer Kachel vor. Wenn zu viele Features in einer Kachel vorliegen, wird die Kachel auf die nächste Ebene heruntergestuft und eine Anforderung gesendet. Bei Bedarf erfolgt die Herunterstufung der Ebene insgesamt dreimal, ausgehend von der anfänglichen Detaillierungsebene. Die Kacheln werden bei Rückgabe der Antworten gecacht. Zwar werden bei kachelbasierten Abfragen mehr Abfragen an den Server generiert, doch handelt es sich um simple Anforderungen. Zudem werden die gecachten Kacheln genutzt, um eine optimierte Performance sicherzustellen.
Hinweis:
Liegen in einer Raster-Kachel zu viele Features für die Rückgabe in einer einzelnen Anforderung vor, wird eine Benachrichtigung angezeigt, dass auf einen kleineren Bereich gezoomt werden muss.
Indem Sie einen sichtbaren Maßstabsbereich für Layer festlegen, kann die Häufigkeit derartiger Benachrichtigungen reduziert werden.
Weitere Informationen finden Sie unter Layer (Feature Service).