设置空间索引快速浏览
空间索引用于在显示、编辑或查询数据时快速定位要素。因此,空间索引非常重要,尤其是在处理大量数据时。
数据源不同,空间索引的工作方式也不同。DB2 中的个人地理数据库、文件地理数据库和企业级地理数据库,使用二进制几何存储机制的 Oracle 和 SQL Server 企业级地理数据库及使用 ST_Geometry 存储机制的 Oracle 企业级地理数据库均使用基于格网的空间索引。Oracle Spatial、Informix 和 PostgreSQL 不使用格网大小 - 它们使用 R 树索引。同样,使用 SQL Server 空间类型的要素类不使用 Esri 空间格网索引。
ArcGIS 如何维护空间索引
在文件、企业级、工作组和桌面地理数据库中完成某些操作后,ArcGIS 会自动重建空间索引以确保索引处于最优状态。下面介绍 ArcGIS 如何管理空间索引:
- 使用“新建要素类”向导创建空要素类时,将会为(不包括 DB2 数据库中的)文件、工作组、桌面和所有企业级地理数据库创建空间索引。在编辑或使用“加载数据”命令时,将使用空间索引。在 DB2 的企业级地理数据库中,在将数据加载到空要素类后会创建空间索引。
- 如果从个人地理数据库、shapefile 或 coverage 导入数据,或者将计算机辅助绘图 (CAD) 或智能数据压缩 (SDC) 数据导入文件、企业级、工作组或桌面地理数据库,则会为新的要素类自动计算空间索引。
- 在使用 ArcCatalog 的“复制”和“粘贴”命令将要素类从个人地理数据库复制到文件、企业级、工作组或桌面地理数据库时,将会自动重新构建空间索引。如果从 Oracle Spatial、PostgreSQL 或 Informix 复制要素类,也会重新构建空间索引。如果将要素类从使用基于格网索引的文件或企业级地理数据库(Oracle 二进制和 ST_Geometry、SQL Server 二进制或 DB2)复制到其他使用基于格网的索引的地理数据库,则会将索引与源数据一同复制,而不会重新计算。
- 在使用创建要素类的地理处理工具时,会检查新要素类中的要素,并自动计算出新的空间索引。
- 对于没有空间索引的要素类,在保存编辑或“加载数据”命令时,将会在保存编辑或加载数据操作结束时计算空间索引。
- 压缩文件地理数据库要素类使用的空间索引类型与未压缩要素类中使用的空间索引类型不同。在压缩文件地理数据库要素类时,系统会自动重新构建索引。此索引无法修改。解压缩要素类时,将自动重新建立与压缩前要素类所具有的相同的空间索引。
何时更新空间索引
因为 ArcGIS 会维护文件、企业级、工作组和桌面地理数据库中的空间索引,所以用户极少需要手动重新创建空间索引。仅在以下极少数情况下需要重新创建空间索引:
- 在添加了大量与要素类中原有要素大小不同的要素后,需要手动重新计算空间索引。这只适用于在编辑会话中添加要素的情况。例如,您可能启动了一个编辑会话,并手动添加了大量线要素或使用“对象加载器”加载了这些要素。添加的许多要素与要素类中原有的要素相比可能很长或很短。为确保空间索引与新要素的配合达到最优,应当进行更新。
个人地理数据库中的空间索引
在个人地理数据库中创建要素类时,无论是使用“新建要素类”向导、地理处理工具还是任何其他方法,ArcGIS 都将计算空间索引,并且无法修改。空间索引将基于要素类坐标系的范围,并且始终是最优的。
相关主题
5/10/2014