排序 (数据管理)

摘要

根据一个或多个字段值对要素类或表中的记录按升序或降序进行重新排序。 经过重新排序的结果将写入新数据集。

了解有关排序工作原理的详细信息

插图

“排序”工具图示
通过对一个或多个字段进行排序来更改要素类或表的顺序。

使用情况

  • 可在空间上对要素类进行重新排序或排列。 必须将 Shape 字段用作空间排序的排序字段。 许多空间排序方法可以根据要素的位置以不同的方式对要素进行排列。

  • 如果选择输入记录,则仅对所选记录的子集进行排序并将其写入输出。

  • 如果将多个字段设置为排序字段,则首先按第一个字段对行进行排序,然后在该顺序内按第二个字段进行排序,依此类推。

  • 可使用地理数据库要素类的 Shape_Area 字段按面积对面要素进行排序。 同样,也可使用 Shape_Length 字段按长度对折线要素进行排序。 要对 shapefile 中的面要素进行排序,请添加一个新字段,并使用计算字段计算面积作为新字段的值,然后根据新建字段运行排序

  • 许可:

    对于字段参数,按 Shape 字段排序或按多个字段排序仅在具有 ArcGIS Pro Advanced 许可时适用。 按单个属性字段(不包括 Shape 字段)排序在所有级别许可下都适用。

  • 要将输入数据集的子类型、域和其他高级地理数据库字段属性传送至输出数据集,可以使用传送地理数据库属性环境。

  • 要将输入数据集的地理数据库附件复制到输出数据集,可以使用维护附件环境。

参数

标注说明数据类型
输入数据集

要根据一个或多个排序字段中的字段值对记录进行重新排序的输入数据集。

Table View
输出数据集

输出要素类或表。

Feature Class; Table
字段

包含对输入记录重新排序所用的值的一个或多个字段,以及记录的排序方向。

许可:

Shape 字段排序或按多个字段排序仅在具有 ArcGIS Pro Advanced 许可时适用。 按单个属性字段(不包括 Shape 字段)排序在所有级别许可下都适用。

  • 升序 - 将按照值从低到高的顺序对记录进行排序。
  • 降序 - 将按照值从高到低的顺序对记录进行排序。
Value Table
空间排序方法
(可选)

指定将对要素进行空间排序的方法。 仅当指定 Shape 字段作为排序字段之一时,此排序方法才可用。

  • 右上角将从右上角开始排序。 这是默认设置。
  • 左上角将从左上角开始排序。
  • 右下角将从右下角开始排序。
  • 左下角将从左下角开始排序。
  • 皮亚诺曲线将使用空间填充曲线算法(也称为皮亚诺曲线)进行排序。
String

arcpy.management.Sort(in_dataset, out_dataset, sort_field, {spatial_sort_method})
名称说明数据类型
in_dataset

要根据一个或多个排序字段中的字段值对记录进行重新排序的输入数据集。

Table View
out_dataset

输出要素类或表。

Feature Class; Table
sort_field
[[sort_field, direction],...]

包含对输入记录重新排序所用的值的一个或多个字段,以及记录的排序方向。

许可:

Shape 字段排序或按多个字段排序仅在具有 ArcGIS Pro Advanced 许可时适用。 按单个属性字段(不包括 Shape 字段)排序在所有级别许可下都适用。

  • 升序 - 将按照值从低到高的顺序对记录进行排序。
  • 降序 - 将按照值从高到低的顺序对记录进行排序。
Value Table
spatial_sort_method
(可选)

指定将对要素进行空间排序的方法。 仅当指定 Shape 字段作为排序字段之一时,此排序方法才可用。

  • UR将从右上角开始排序。 这是默认设置。
  • UL将从左上角开始排序。
  • LR将从右下角开始排序。
  • LL将从左下角开始排序。
  • PEANO将使用空间填充曲线算法(也称为皮亚诺曲线)进行排序。
String

代码示例

Sort 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何根据字段值使用 Sort 函数对要素进行排列。

import arcpy
from arcpy import env

env.workspace = "C:/data/city.gdb"

arcpy.Sort_management("crime", "crime_Sort", [["DATE_REP", "ASCENDING"]])
Sort 示例 2(独立脚本)

以下 Python 脚本演示了如何在独立脚本中使用 Sort 函数。

# Name: Sort_example2.py
# Description: Sorts wells by location and well yield.

# Import system modules
import arcpy

# Set workspace environment
arcpy.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)