标注 | 说明 | 数据类型 |
输入要素类 | 将要更新的 shapefile 或地理数据库要素类。 | Feature Layer |
存储范围 (可选) | 用于指定是否将为未注册的要素类存储范围。 仅当输入要素类是数据库或企业级地理数据库中未注册的空间表时,此参数才有效。 如果输入要素类经常更新,您可以选择不存储重新计算的范围值。 如果您选择存储范围,则系统将不会在每次将要素类添加到地图时重新计算范围。
| Boolean |
派生输出
标注 | 说明 | 数据类型 |
已更新的要素类 | 已更新的要素类。 | Feature Class |
可基于要素类中的各个要素重新计算要素类的 xy、z 和 m 范围属性。
要素类的空间范围取决于要素类中的所有坐标。 要重新居中且显示范围内的所有要素而向地图中添加要素类时,将会使用空间范围。 要素类的范围属性将包含上一个已知空间范围,而不会在每次向地图中添加要素类时检查此要素类中的每一个要素(这个过程可能会很长)。 但是,在对要素类中的要素进行编辑时,将不会始终更新此范围属性。 这意味着范围属性中的值可能不包含要素的实际空间范围。 重新计算要素类范围工具将读取所有要素并更新范围属性。
XY、Z 和 M 范围与空间参考域有所不同。空间参考中的 XY、Z 和 M 域用于定义可存储在要素类中的坐标值的有效范围。要素类范围反映了存在于要素类中的坐标值的实际范围。这些范围不能大于域。
此工具用于更新地理数据库要素类或 shapefile(点、多点、线或面)。
在企业级地理数据库中,范围是要素类方案的属性,需要运行独占方案锁。
如果在将企业级地理数据库要素类作为输入的情况下使用此工具,则将根据该要素类中所有版本的要素计算范围。 除非在数据库已压缩后运行此工具,否则范围不会扩充或减小。
数据库或企业级地理数据库中未注册的空间表支持存储范围参数。 如果选中该参数,则新范围将存储在基础表的形状列元数据上。 如果未选中该参数,则将重新计算范围,但不会存储值,当基础数据频繁更新时,此功能将非常有用。
如果您不具备编辑要素类的权限,则此工具将失败。
重新计算要素类范围的操作无法撤销。
范围的值将通过 arcpy.Describe 函数的 extent 属性返回。
此工具会修改输入数据。 有关详细信息以及避免数据被意外更改的策略,请参阅修改或更新输入数据的工具。
标注 | 说明 | 数据类型 |
输入要素类 | 将要更新的 shapefile 或地理数据库要素类。 | Feature Layer |
存储范围 (可选) | 用于指定是否将为未注册的要素类存储范围。 仅当输入要素类是数据库或企业级地理数据库中未注册的空间表时,此参数才有效。 如果输入要素类经常更新,您可以选择不存储重新计算的范围值。 如果您选择存储范围,则系统将不会在每次将要素类添加到地图时重新计算范围。
| Boolean |
标注 | 说明 | 数据类型 |
已更新的要素类 | 已更新的要素类。 | Feature Class |
arcpy.management.RecalculateFeatureClassExtent(in_features, {store_extent})
名称 | 说明 | 数据类型 |
in_features | 将要更新的 shapefile 或地理数据库要素类。 | Feature Layer |
store_extent (可选) | 用于指定是否将为未注册的要素类存储范围。 仅当输入要素类是数据库或企业级地理数据库中未注册的空间表时,此参数才受支持。 如果输入要素类经常更新,您可以选择不存储重新计算的范围值。 如果您选择存储范围,则系统将不会在每次将要素类添加到地图时重新计算范围。
| Boolean |
名称 | 说明 | 数据类型 |
out_features | 已更新的要素类。 | Feature Class |
以下 Python 窗口脚本演示了如何在即时模式下使用 RecalculateFeatureClassExtent 函数。 它将重新计算要素类的 xy、z 或 m 范围。
import arcpy
feature_class = r"C:\Data\europe.gdb\norway_cities"
arcpy.management.RecalculateFeatureClassExtent(feature_class)