2D 结果与 3D 结果示例
下面的示例显示了使用 3D 数据的 WITHIN_A_DISTANCE 或 WITHIN_A_DISTANCE_3D 空间关系时得到的不同结果。输入要素图层是房间(紫色立方体),选择要素是黄色的小圆。操作正试图回答的问题是:哪些房间位于特定的 x,y,z 位置(黄点)的距离内?如果使用的关系不同,结果也会有很大的不同。如果使用 WITHIN_A_DISTANCE 关系,那么将选择距离(仅使用 x 坐标和 y 坐标)内的所有房间,因此从底层到顶层之间的房间都将被选取。
不过,如果使用 WITHIN_A_DISTANCE_3D 关系,那么 x,y,z 位置(黄点)和各个房间之间的距离将使用 3D 测量方法来测量,因此,只有位于该点真正 3D 距离内的几个房间才会被选取。
有效的输入和选择图层
满足下列条件之一的图层是有效的输入和选择图层:
- 具有下列几何类型的要素类中的图层:点、多点、线、多面体 (Multipatch)、面。
- 使用下列渲染器之一的 ArcScene 或 ArcGlobe 中的图层:3D 简单标记、3D 字符标记符号、3D 线符号。在这种情况下,将使用渲染器的符号,而不是 要素的几何。
- 使用基本高度和/或拉伸的 ArcScene 或 ArcGlobe 中的图层。
- 指向满足上述条件之一的图层文件 (.lyr) 的图层也是有效的。在脚本中(位于 ArcScene 和 ArcGlobe 之外)执行操作时,这一点很有用。
取得最佳结果
如果使用的是 3D 渲染器,当评估是否满足该关系时会使用符号的表面,因为 3D 标记将作为表示表面(而不是 3D 实体)的多面体来加以实现。
如果对采用未投影坐标系存储的数据(即,采用地理坐标系存储的数据)使用 WITHIN_A_DISTANCE_3D,则可能会因下列原因而产生不理想的结果:
- 从十进制度到线性单位的转换在较大地理范围内不一致。
- 地理坐标系支持的全局距离没有考虑到地球表面的曲率(所有测量均在平面上进行)。