Exemple de résultats en 2D et en 3D
L'exemple suivant montre les différents résultats obtenus selon que l'on utilise WITHIN_A_DISTANCE ou des relations spatiales WITHIN_A_DISTANCE_3D avec des données 3D. La Couche d'entités en entrée correspond aux chambres (cubes violets) et la Couche de sélection au petit cercle jaune. L'opération consiste à répondre à la question "Quelles chambres se trouvent dans une certaine distance d'un emplacement x, y, z donné (le point jaune)" ? Le résultat est assez différent selon la Relation utilisée. Si la relation WITHIN_A_DISTANCE est utilisée, toutes les chambres se trouvant dans la dite distance (dans les coordonnées x et y uniquement) sont sélectionnées, c'est-à-dire celles situées du rez-de-chaussée au dernier étage.
En revanche, avec la relation WITHIN_A_DISTANCE_3D, la distance entre l'emplacement de x,y,z (point jaune) et chaque chambre est calculée à l'aide de mesures 3D ; seules quelques chambres se trouvant réellement dans la distance 3D indiquée sont sélectionnées.
Couches de sélection en entrée valides
Les couches qui satisfont l'un des critères suivants sont valides comme entrée et couche de sélection :
- Couche d'une classe d'entités avec les types de géométrie suivants : Point, Multi-points, Ligne, Multipatch, Polygone.
- Couche dans ArcScene ou ArcGlobe qui utilise l'une des représentations suivantes : Symbole ponctuel simple 3D, Symbole ponctuel caractère 3D, Symbole ligne simple 3D. Dans ce cas, le symbole de la représentation est utilisé à la place de la géométrie de l'entité.
- Couche dans ArcScene ou ArcGlobe qui utilise une hauteur de base et/ou une extrusion.
- Couche qui pointe sur un fichier de couches (.lyr) qui satisfait l'un des critères ci-dessus est également valide. Cela peut être utile lors de l'exécution d'une opération dans un script (à l'extérieur d'ArcScene et d'ArcGlobe).
Obtention du meilleur résultat
Lors de l'utilisation de représentations 3D, la surface du symbole est utilisée pour évaluer si la relation est avérée, car le symbole ponctuel 3D est implémenté en tant que multipatch représentant une surface et pas un solide en 3D.
L'utilisation de WITHIN_A_DISTANCE_3D sur des données stockées dans un système de coordonnées non projeté (autrement dit, stockées dans un système de coordonnées géographiques) peut produire de mauvais résultats pour les raisons suivantes :
- La conversion de degrés décimaux en unités linéaires n'est pas cohérente dans de grandes étendues géographiques.
- Les distances globales prises en charge par le système de coordonnées géographiques ne tiennent pas compte de la courbure de la surface de la Terre (toutes les mesures sont faites sur un plan).