摘要
根据一个或多个字段对要素类或表中的记录按升序或降序进行重新排列。重新排序的结果将被写入到新数据集中。
插图
用法
可在空间上对要素类进行重新排序或排列。必须将 Shape 字段用作空间排序的排序字段。有很多空间排序方法根据要素位置以不同方式来排列要素。
有效输入包括地理数据库要素类、shapefile、要素图层、表和表视图。CAD 和 SDC 数据集的各组成元素也是有效输入。
如果选择了任何输入记录,则只会对所选记录的子集进行排序并将其写入到输出。
如果将多个字段设置为排序字段,则首先按第一个字段对行进行排序,然后按第二个字段对经过排序的行进行排序,依此类推。
可使用地理数据库要素类的 Shape_Area 字段按面积对面要素进行排序。同样,也可使用 Shape_Length 字段按长度对折线要素进行排序。如果要对 shapefile 中的面要素进行排序,请添加一个新字段,并使用计算字段计算面积作为新字段的值,然后根据新建字段运行排序。
语法
Sort_management (in_dataset, out_dataset, sort_field, {spatial_sort_method})
参数 | 说明 | 数据类型 |
in_dataset | 要根据排序字段中的字段值对记录进行重新排序的输入数据集。 | Table View |
out_dataset | 输出要素类或表。 | Feature Class; Table |
sort_field [[sort_field, direction],...] | 指定包含对输入记录重新排序所用的值的字段,以及记录的排序方向。
| Value Table |
spatial_sort_method (可选) | 指定对要素进行空间排序的方法。仅当将 Shape 字段作为排序字段之一时,排序方法才可用。
| String |
代码实例
排序示例 1(Python 窗口)
以下 Python 窗口脚本演示了如何根据字段值使用“排序”对要素进行排列。
import arcpy
from arcpy import env
env.workspace = "C:/data/city.gdb"
arcpy.Sort_management("crime", "crime_Sort", [["DATE_REP", "ASCENDING"]])
排序示例 2(独立 Python 脚本)
以下 Python 脚本演示了如何在独立脚本中使用“排序”。
# Name: Sort_example2.py
# Description: Sorts wells by location and well yield.
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
try:
# Set workspace environment
env.workspace = "C:/data/newfoundland.gdb"
# set local variables
in_dataset = "wells"
out_dataset = "wells_Sort"
# Order features first by location (Shape) and then by WELL_YIELD
sort_fields = [["Shape", "ASCENDING"], ["WELL_YIELD", "DESCENDING"]]
# Use Peano algorithm
sort_method = "PEANO"
# execute the function
arcpy.Sort_management(in_dataset, out_dataset, sort_fields, sort_method)
print arcpy.GetMessages()
except arcpy.ExecuteError:
# Print error messages
print arcpy.GetMessages(2)
except Exception as ex:
print ex.args[0]