Modèles de requête de couche d’entités Web

Les données sont interrogées dans les couches d’entités Web dans le cadre d’interrogations basées sur les pages ou d’interrogations basées sur les tuiles.

Interrogations basées sur les pages

Dans ArcGIS Pro, la plupart des interrogations utilisées lors de l’affichage et de la mise à jour sont formulées dans le cadre d’une requête basée sur les pages, aussi appelée pagination. Cette technique permet de demander des sous-ensembles de données, appelés pages, plutôt que toutes les données dans une seule requête. Mais avec ces pages, de plus petites demandes peuvent être envoyées et retournées dans un délai raisonnable, améliorant ainsi la réactivité de l’application et l’expérience utilisateur.

La taille des pages dépend de la propriété maxRecordCount associée au service d’entités. Elle repose sur le paramètre Maximum records returned by server (Nombre maximal d’enregistrements renvoyés par le serveur) lors de la publication d’un service d’entités. Cette valeur est ensuite utilisée avec le paramètre resultRecordCount lors des requêtes.

Pour plus d’informations, reportez-vous à la rubrique Paramètres de service.

Au fur et à mesure du remplissage des pages, les réponses à la requête incluent la propriété exceededTransferLimit. Si la valeur de la propriété exceededTransferLimit est true (vrai) dans la réponse, cela indique que plusieurs enregistrements sont disponibles et que des pages supplémentaires vont être demandées. Ces requêtes se poursuivent tant que la valeur de la propriété exceededTransferLimit n’est pas false (faux) ou que cette propriété n’est pas absente de la réponse aux requêtes.

Les pages utilisent la valeur resultOffset pour déterminer le début d’enregistrement de chaque page. Étant donné que des pages supplémentaires sont demandées, la valeur resultOffset augmente et est utilisée pour indiquer le nombre d’enregistrements ignorés et l’enregistrement suivant qui doit démarrer la page (resultOffset + 1). Par exemple, si la taille de page est définie sur 2000, la valeur du paramètre resultOffset de la deuxième demande de page sera de 2000 et la page inclura les 2000 enregistrements disponibles suivants pour remplir la page.

Pour plus d’informations, voir Requête (Service de carte/Couche).

Remarque :

Si les paramètres resultOffset et resultRecordCount ne sont pas utilisés, la propriété exceededTransferLimit peut également être incluse dans les résultats de la requête. Dans ce cas, la valeur de la propriété est true (vrai) uniquement si le nombre d’enregistrements dépasse la valeur du paramètre maxRecordCount configurée par l’administrateur du serveur.

Interrogations basées sur les tuiles

Les interrogations basées sur les tuiles divisent l’étendue d’une carte en tuiles utilisées pour afficher les entités à l’intérieur de la carte. Cela inclut également la mise en cache des tuiles sur le serveur de manière à pouvoir les renvoyer plutôt que d’obliger le serveur à recalculer l’affichage cartographique. Pour utiliser les requêtes basées sur les tuiles, la valeur de la propriété supportsQueryWithCacheHint d’une couche de service doit être true (vrai). Une demande peut alors utiliser le paramètre cacheHint, qui indique si le service doit mettre en cache les résultats de la requête.

Les interrogations se déroulent dans le cadre d’une structure de tuilage qui génère plusieurs niveaux de détail associés à différentes échelles de carte. Le niveau initial de détail utilisé repose sur l’échelle de carte lors du chargement des données. Les tuiles à ce niveau de détail initial sont utilisées, sauf si une tuile contient trop d’entités. Si une tuile contient trop d’entités, elle passe au niveau suivant et formule une demande. Le cas échéant, ce changement de niveau se produit au total trois fois à partir du niveau de détail initial. Les tuiles sont mises en cache au fur et à mesure du renvoi des réponses. Même si les interrogations basées sur les tuiles génèrent plus de requêtes adressées au serveur, les demandes sont légères et utilisent les tuiles mises en cache pour assurer des performances optimales.

Remarque :

Si la tuile de grille contient trop d’entités à renvoyer dans une demande, une notification d’effectuer un zoom avant dans une zone plus petite s’affiche.

La définition d’une plage d’échelle visible sur les couches peut limiter l’affichage de ces notifications.

Pour plus d’informations, reportez-vous à la rubrique Couche (Service d’entités/Couche).