Example of 2D versus 3D results
Following is an example of the different results that occur when using WITHIN_A_DISTANCE or WITHIN_A_DISTANCE_3D spatial relationships with 3D data. The Input Feature Layer is the rooms (purple cubes) and the Selecting Features is the small yellow circle. The operation is trying to answer the question, Which rooms are within a distance of a specific x,y,z location (the yellow dot)? The result is quite different depending on which Relationship is used. If the WITHIN_A_DISTANCE relationship is used, all rooms within a distance (in the x- and y-coordinates only) are selected, so rooms from the bottom to the top floor get selected.
However, if the WITHIN_A_DISTANCE_3D relationship is used, the measurement of distance between the x,y,z location (the yellow dot) and the individual rooms is done using 3D measurements, resulting in only a few rooms within a true 3D distance of the point getting selected.
Valid Input and Selecting Layers
Layers that meet one of the following criteria are valid as Input and Selecting Layers:
- A layer from a feature class with the following geometry types: Point , Multipoint, Line, Multipatch, Polygon.
- A layer in ArcScene or ArcGlobe that uses one of the following renderers: 3D Simple Marker, 3D Character Marker Symbol, 3D Line Symbol. In this situation, the renderer's symbol will be used instead of the feature's geometry.
- A layer in ArcScene or ArcGlobe that uses a base height and/or extrusion.
- A layer that points to a layer file (.lyr) that meets one of the above criteria is also valid. This can be useful when running an operation in a script (outside ArcScene and ArcGlobe).
Getting the Best Result
When using 3D renderers, the surface of the symbol is used when evaluating whether the relationship is met, since the 3D marker is implemented as a multipatch representing a surface, not a 3D solid.
Using WITHIN_A_DISTANCE_3D on data stored in an unprojected coordinate system (that is, data stored in a geographic coordinate system) may yield poor results due to the following:
- The conversion from decimal degrees to linear units is not consistent across large geographic extents.
- The global distances supported by the geographic coordinate system do not take into account the curvature of the surface of the earth (all measurements are done on a plane).