レコードの並べ替え(Sort) (データ管理)
サマリ
1 つ以上のフィールドに基づいて、フィーチャクラスまたはテーブルのレコードを昇順または降順で並べ替えます。並べ替えの結果は、新しいデータセットに書き込まれます。
図
使用法
-
フィーチャクラスは、空間的に並べ替えることができます。空間的な並べ替えの場合、並べ替えフィールドとして Shape フィールドを使用する必要があります。位置に基づいて、さまざまな形でフィーチャを並べ替える、多数の空間的な並べ替え方法があります。
-
有効な入力は、ジオデータベースおよび SDE のフィーチャクラス、シェープファイル、フィーチャ レイヤ、テーブル、テーブル ビューです。CAD および SDC データセットの各コンポーネントも、有効な入力です。
-
入力レコードを選択すると、選択レコードのサブセットだけが並べ替えられ、出力に書き込まれます。
-
1 つ以上のフィールドをソート フィールドとして設定すると、まず最初のフィールドによって行が並べ替えられ、次にその順序内で 2 番目のフィールドによって並べ替えられ、以降、同様に並べ替えが続けられます。
-
ジオデータベース フィーチャクラスの Shape_Area フィールドを使って、ポリゴン フィーチャを面積で並べ替えることができます。同様に、Shape_Length フィールドを使って、ポリライン フィーチャを長さで並べ替えることができます。シェープファイルのポリゴン フィーチャを並べ替えたい場合には、[フィールド演算(Calculate Field)] を使って面積を演算して新しいフィールドに値を表示し、そのフィールドを使って並べ替えを実行します。
[フィールド] パラメータの場合、Shape フィールドまたは複数のフィールドによる並べ替えは Advanced ライセンスでのみ実行可能です。単一の属性フィールドによる並べ替え(Shape を除く)は、どのライセンス レベルでも実行できます。
構文
パラメータ | 説明 | データ タイプ |
in_dataset |
ソート フィールドのフィールド値に基づいてレコードが並べ替えられる、入力データセット。 | Table View |
out_dataset |
出力フィーチャクラスまたはテーブル。 | Feature Class;Table |
sort_field [[Sort Field, Direction],...] |
入力レコードを並べ替えるために値を使用するフィールドと、レコードを格納する方向を指定します。
| Value Table |
spatial_sort_method (オプション) |
フィーチャを空間的に並べ替える方法を指定します。このパラメータは、ソート フィールドの 1 つとして「Shape」が選択されている場合のみ有効になります。
| String |
コードのサンプル
次の Python ウィンドウ スクリプトは、Sort(並べ替え)を使ってフィールドの値でフィーチャを並べ替える方法を示しています。
import arcpy
from arcpy import env
env.workspace = "C:/data/city.gdb"
arcpy.Sort_management("crime", "crime_Sort", [["DATE_REP", "ASCENDING"]])
次の Python スクリプトは、スタンドアロン スクリプトで Sort(並べ替え)を使用する方法を示しています。
# 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]