サマリー
1 つ以上のフィールドに基づいて、フィーチャクラスまたはテーブルのレコードを昇順または降順で並べ替えます。並べ替えの結果は、新しいデータセットに書き込まれます。
図
使用法
フィーチャクラスは、空間的に並べ替えることができます。空間的な並べ替えの場合、並べ替えフィールドとして Shape フィールドを使用する必要があります。位置に基づいて、さまざまな形でフィーチャを並べ替える、多数の空間的な並べ替え方法があります。
入力レコードを選択すると、選択レコードのサブセットだけが並べ替えられ、出力に書き込まれます。
1 つ以上のフィールドをソート フィールドとして設定すると、まず最初のフィールドによって行が並べ替えられ、次にその順序内で 2 番目のフィールドによって並べ替えられ、以降、同様に並べ替えが続けられます。
ジオデータベース フィーチャクラスの Shape_Area フィールドを使用して、ポリゴン フィーチャを面積で並べ替えることができます。同様に、Shape_Length フィールドを使用して、ポリライン フィーチャを長さで並べ替えることができます。シェープファイルのポリゴン フィーチャを並べ替えたい場合は、[フィールド演算 (Calculate Field)] を使用して、面積を計算して新しいフィールドに値を表示し、そのフィールドを使用して [レコードの並べ替え (Sort)] を実行します。
構文
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 (オプション) | フィーチャを空間的に並べ替える方法を指定します。並べ替え方法は、並べ替えフィールドの 1 つとして Shape フィールドが選択されている場合のみ有効になります。
| 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)
環境
ライセンス情報
- ArcGIS Desktop Basic: 制限付き
- ArcGIS Desktop Standard: 制限付き
- ArcGIS Desktop Advanced: はい