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