qu'est-ce qui dicte l'ordre de dessin des entités qui se chevauchent dans la même couche / classe d'entités dans ArcGIS?

8

Je sais que dans ArcGIS, l'ordre de dessin est contrôlé par des couches, et si je veux que certaines entités soient dessinées par-dessus d'autres entités, je peux utiliser des requêtes de définition pour les séparer en différentes couches et les positionner l'une sur l'autre.

Mais je me demandais (principalement par curiosité) ce qui dicte l'ordre de dessin des 1000 polygones qui se chevauchent dans ma classe d'entités, et s'il y a un moyen de contrôler quelles entités sont affichées en haut dans une couche?

whatahitson
la source
2
L'ordre de dessin des entités est hors du contrôle d'ArcGIS. Cela dépend entièrement de l'ordre de retour du pilote de format de stockage à l'échelle à laquelle le dessin se produit. Vous devez spécifier à la fois le format et l'échelle (et probablement les données) pour obtenir une réponse spécifique.
Vince

Réponses:

7

Normalement, les entités seront dessinées dans l'ordre où elles sont renvoyées de la base de données / du fichier. Cet ordre est arbitraire et peut changer.

La seule façon que je connaisse de contrôler l'ordre de dessin dans un calque est d'utiliser des niveaux de symboles. Avec les niveaux de symboles, vous pouvez dicter l'ordre de dessin des groupes de symboles individuels au sein d'un calque. Vous devrez symboliser votre calque soit par catégories, soit par symboles gradués, mais vous pouvez utiliser le même style pour tout si vous le souhaitez.

Plus d'informations sur les niveaux de symboles: Utilisation des niveaux de symboles

Génie du mal
la source
Cela fonctionne car chaque symbole est une requête distincte; à l'intérieur de chaque symbole, vous revenez à un ordre arbitraire. Ceci est également plus lent (surtout s'il n'y a pas d'index sur la ou les colonnes de symbolisation).
Vince
Mal ou @Vince, l'un de vous pourrait-il fournir plus d'informations sur l'ordre de retour spécifique à ArcGIS et aux géodatabases fichier / personnelles ou aux fichiers de formes? Mon expérience est généralement créée en dernier = dessiné en haut par défaut, mais je sais que cela peut changer (pas sûr qu'arbitraire soit le bon mot). Tout ce que je peux trouver provient de Qu'est-ce que le dessin au niveau des symboles , qui dit que "les entités sont dessinées en fonction de l'ordre des tables, c'est-à-dire l'ordre dans lequel les entités sont stockées dans la table des classes d'entités (ou dans l'ordre dans lequel elles sont renvoyées depuis la géodatabase ). "
Chris W
1
@ChrisW Cela va vraiment être spécifique au fonctionnement du format de stockage. Étant donné que les fichiers de formes sont des fichiers plats, il est logique que les fonctionnalités créées ultérieurement soient renvoyées après celles créées précédemment. Les PGDB ne sont que des bases de données Access, qui sont des fichiers composés, un système de fichiers AKA dans un fichier, ce qui signifie que la table est stockée dans des mandrins, pas nécessairement dans l'ordre dans le fichier. La modification d'un enregistrement peut modifier l'ordre de ces morceaux, ou ce n'est pas le cas ... c'est au conducteur.
Evil Genius
1
L'ordre dans lequel les entités se trouvent dans l'index spatial joue également un rôle dans l'ordre de dessin - Avec les bases de données, cela peut vraiment être arbitraire sans ORDER BY (ce qui nuit aux performances)
Vince
1
Une petite note sur ORDER BY: La commande doit être effectuée par ArcGIS (Source> Requête de modification), et non par exemple dans une vue de base de données à partir de laquelle ArcGIS collecte les données.
Anders