並べ替えツールの機能

[並べ替え (Sort)] ツールを使用すると、属性および空間的な特性で並べ替えることができます。 空間的に並べ替えると、空間操作またはジオメトリック操作の効率性が向上します。

フィーチャを空間的に (つまり、位置によって) 並べ替えるには、[フィールド] パラメーターを使用して入力のジオメトリ フィールド (通常は Shape と呼ばれる) を指定します。 Shape フィールドを使用すると、[空間的な並べ替え方法] パラメーターが有効になります。 [空間的な並べ替え方法] パラメーターは、[左上][右上][左下][右下][ペアノ] のオプションに対応しています。

空間的な並べ替え

[左上][右上][左下][右下] のオプションは、プロッターやプリンターのようにフィーチャをスキャンします。 [右上] オプションを選択すると右上隅からスキャンが開始し、最上部のフィーチャが最初に選択されます。 上から下に向かって移動する際に、2 つ以上のフィーチャが同一水平線上にある場合、右から左に並べられます。 スキャンは、反対側 (この場合は左下) の隅に到達するまで、左下に向かって行われます。 フィーチャは、スキャンまたは訪問の順序で並べられます ([降順] オプションを指定した場合は逆の順序)。

[右上] 並べ替えオプションは、均一に分布した一連のポイントを入力として使用することで示すことができます。

右上オプションを指定した空間的な並べ替え

上の図の数字は、[右上] オプションの並べ替えの順序を表します。 [左下] オプションを指定すると、順序は反転します。

以下に、並べ替えにおける上と右のコンポーネントの連携を示します。

上と右を区別する並べ替えの図

空間的な並べ替えの上部コンポーネントは、右側のコンポーネントよりも優先されます。 右側のコンポーネントは、いくつかのフィーチャが同じ水平レベルにある場合にのみ考慮されます。

ペアノ空間並べ替え

[ペアノ] オプションは、ペアノ曲線アルゴリズムを使用します。 アルゴリズムは、小さい近傍のすべての位置を訪問してから、次の近傍に移動します。 したがって、近傍の位置は曲線 (もしくはパス) に近くなります。 範囲全体を検索するのでなく、小さい近傍を 1 つずつ検索します。 大きいエリアの検索を終了したら、別の大きいエリアに移ります。 その後、大きいエリア内の小さい近傍から並べ替えを再開します。

ペアノの並べ替えの図

上記の図では、矢印はスキャンの順序を表します。 アルゴリズムは、4 つの四角形の近傍をそれぞれ個別にスキャンします。 エリアがもっと大きい場合は、検索はまた別の近傍で続行します。 ポイントが密集している場合、より小さい近傍を検索します。

次に、空間充填アルゴリズムの利点を示します。

  • 高速です。
  • 位置と位置の間で距離を計算する必要はありません。
  • 並行処理が可能です。

このアルゴリズムは、巡回セールスマン問題の解決、ルート検索システムの構築、マップを描画するペンプロッターの制御に応用できます。