近接性でグループ化 (Group By Proximity) (GeoAnalytics Desktop)

サマリー

空間的または時空間的に相互に近接しているフィーチャをグループ化します。

[近接性でグループ化 (Group By Proximity)] ワークフローによって回答できる質問の例を次に示します。

  • どの道路が接続されていますか?
  • 互いの距離と時間が近い範囲内で発生した犯罪のグループはどこにありますか?
  • 互いに重なり合っているポリゴンのグループがありますか?

近接性でグループ化ツールの図

使用法

  • 出力結果は、group_id という名前の新しいフィールドを含む入力のコピーになります。 group_id フィールドはフィーチャのグループ化を表します。 同じ group_id 値を持つフィーチャは、同じグループに属します。 グループ番号は特定のグループ内のメンバーシップを表し、値を示すものではありません。 グループ番号は、連続していない場合や、ツールで同じ番号が繰り返し使用される場合があります。 結果は 8 つのグループでシンボル化されます。 結果に 8 個を超えるグループがある場合、デフォルトでは 8 個の色ですべてのグループがシンボル化されます。 シンボルを変更し、group_id フィールドの一意のシンボルでシンボル化することで一意の各グループを表示できます。

  • ツールは、次のリレーションシップの組み合わせをサポートしています。

    • 空間リレーションシップ
    • 空間リレーションシップと時系列リレーションシップ
    • 空間リレーションシップと属性リレーションシップ
    • 空間リレーションシップ、時系列リレーションシップ、および属性リレーションシップ
    指定したすべてのリレーションシップが満たされると、フィーチャがグループ化されます。

  • サポートされている空間リレーションシップと入力ジオメトリを次の表に示します。

    入力ジオメトリのタイプ交差する接する測地線近接平面近接

    ポイント

    チェック マークチェック マークチェック マーク

    ポリライン

    チェック マークチェック マークチェック マークチェック マーク

    ポリゴン

    チェック マークチェック マークチェック マークチェック マーク

    オーバーレイ方法説明

    交差する

    フィーチャまたはフィーチャの一部が重なり合っている場合、フィーチャは交差しています。 これがデフォルトです。

    接する

    フィーチャが交点を持つが、重なり合っていない場合、フィーチャは別のフィーチャと接しています。

    測地線近接

    頂点またはエッジが別のフィーチャの指定の測地線距離内にある場合、フィーチャは近接しています。

    平面近接

    頂点またはエッジが別のフィーチャの指定の平面距離内にある場合、フィーチャは近接しています。

  • [空間リレーションシップ] パラメーターの [平面近接] オプションを使用するには、[入力レイヤー] パラメーター値が投影変換される必要があります。そうでない場合、出力座標系投影座標系に設定されます。

  • サポートされている時系列リレーションシップと時系列のタイプを次の表に示します。

    入力時系列のタイプ交差する最近接

    なし

    インスタント

    チェック マークチェック マーク

    間隔

    チェック マークチェック マーク

    時系列リレーションシップの方法説明

    交差する

    フィーチャの時間の一部が別のフィーチャの時間と重なり合っている場合、フィーチャは交差しています。

    最近接

    フィーチャの時間が別のフィーチャの指定の時間距離内にある場合、フィーチャは互いに近接しています。

  • 時系列リレーションシップを使用するには、入力で時間を有効化する必要があります。 時間を有効化するには、次の手順に従います。

  • 属性式は対称演算です。 ツールは、グループ化する際に、入力レイヤー自体と比較する 1 つの入力レイヤーを使用します。 このため、ArcGIS Arcade 式では、入力レイヤーは a と b の両方で示され、すべての式は a と b の両方を含む必要があります。 たとえば、Amount フィールドの値が同じ場合にすべてのレコードをグループ化するには、次の式を使用します: $a["Amount"] == $b["Amount"]

  • 次の 1 つ以上の操作を実行すると、[近接性でグループ化 (Group By Proximity)] ツールのパフォーマンスを向上させることができます。

    • 対象データのみが解析されるように、範囲環境を設定します。
    • [空間リレーションシップ] パラメーターの [平面近接] または [測地線近接] オプションを使用するときは、使用する [空間的近接距離] パラメーターの値を小さくします。
    • [空間リレーションシップ] パラメーターを使用するときは、[平面近接] オプションを [測地線近接] オプションよりも短い距離に設定します。
    • [時系列リレーションシップ] パラメーターの [近接する] オプションを使用するときは、使用する [時間的近接距離] パラメーターの値を小さくします。
    • 解析が実行されているロケーションに対してローカルなデータを使用します。

  • ジオプロセシング ツールは、Spark を活用しています。 解析は、複数のコアを並列に使用して、デスクトップ コンピューター上で実行されます。 解析の実行方法の詳細については、「GeoAnalytics Desktop ツールに関する考慮事項」をご参照ください。

  • GeoAnalytics Desktop ツールを実行する場合、解析はデスクトップ コンピューター上で実行されます。 最適なパフォーマンスを実現するには、データがデスクトップ上で使用可能である必要があります。 ホスト フィーチャ レイヤーを使用している場合は、ArcGIS GeoAnalytics Server を使用することをお勧めします。 データがローカルに存在していない場合、ツールの実行時間が長くなります。 ArcGIS GeoAnalytics Server を使用して解析を実行する方法については、GeoAnalytics Tools をご参照ください。

パラメーター

ラベル説明データ タイプ
入力レイヤー

グループ化されるポイント、ライン、またはポリゴン フィーチャ。

Feature Layer
出力

group_id という名前の新しいフィールドで表されるグループ フィーチャを含む出力フィーチャクラス。

Feature Class
空間リレーションシップ

フィーチャのグループ化の基準となるリレーションシップのタイプを指定します。

  • 交差するフィーチャまたはフィーチャの一部が重なり合っている場合に、フィーチャがグループ化されます。 これがデフォルトです。
  • 接するフィーチャが交点を持つが、重なり合っていない場合に、フィーチャが別のフィーチャと一緒にグループ化されます。
  • 平面近接頂点またはエッジが別のフィーチャの指定の平面距離内にある場合に、フィーチャがグループ化されます。
  • 測地線近接頂点またはエッジが別のフィーチャの指定の測地線距離内にある場合に、フィーチャがグループ化されます。
String
空間的近接距離
(オプション)

近接フィーチャのグループ化に使用される距離。 このパラメーターは、[空間リレーションシップ] パラメーター値が [平面近接] または [測地線近接] の場合のみ使用されます。

Linear Unit
時系列リレーションシップ
(オプション)

フィーチャの一致に使用する時間条件を指定します。 このパラメーターが [交差する] または [近接する] に設定されると、空間条件と時間条件の両方が満たされている場合にフィーチャがグループ化されます。 このオプションをサポートするには、入力で時間が有効化されている必要があります。

  • 交差するフィーチャの時間のある部分が別のフィーチャの時間と重なり合っている場合に、フィーチャがグループ化されます。 これがデフォルトです。
  • 最近接フィーチャの時間が別のフィーチャの時間範囲内にある場合に、フィーチャがグループ化されます。
  • なし時間はフィーチャのグループ化に使用されません。
String
時間的近接距離
(オプション)

近接フィーチャのグループ化に使用される時間的距離。 このパラメーターは、[時系列リレーションシップ] パラメーター値が [近接する] の場合のみ使用されます。

Time Unit
属性リレーションシップ
(オプション)

フィーチャのグループ化に使用される ArcGIS Arcade 式。 たとえば、$a["Amount"] == $b["Amount"]Amount フィールドの値が同じ場合にフィーチャをグループ化します。

String

arcpy.geoanalytics.GroupByProximity(input_layer, output, spatial_relationship, {spatial_near_distance}, {temporal_relationship}, {temporal_near_distance}, {attribute_relationship})
名前説明データ タイプ
input_layer

グループ化されるポイント、ライン、またはポリゴン フィーチャ。

Feature Layer
output

group_id という名前の新しいフィールドで表されるグループ フィーチャを含む出力フィーチャクラス。

Feature Class
spatial_relationship

フィーチャのグループ化の基準となるリレーションシップのタイプを指定します。

  • INTERSECTSフィーチャまたはフィーチャの一部が重なり合っている場合に、フィーチャがグループ化されます。 これがデフォルトです。
  • TOUCHESフィーチャが交点を持つが、重なり合っていない場合に、フィーチャが別のフィーチャと一緒にグループ化されます。
  • NEAR_PLANAR頂点またはエッジが別のフィーチャの指定の平面距離内にある場合に、フィーチャがグループ化されます。
  • NEAR_GEODESIC頂点またはエッジが別のフィーチャの指定の測地線距離内にある場合に、フィーチャがグループ化されます。
String
spatial_near_distance
(オプション)

近接フィーチャのグループ化に使用される距離。 このパラメーターは、spatial_relationship パラメーター値が NEAR_PLANAR または NEAR_GEODESIC の場合のみ使用されます。

Linear Unit
temporal_relationship
(オプション)

フィーチャの一致に使用する時間条件を指定します。 このパラメーターが INTERSECTS または NEAR に設定されると、空間条件と時間条件の両方が満たされている場合に、フィーチャがグループ化されます。 このオプションをサポートするには、入力で時間が有効化されている必要があります。

  • INTERSECTSフィーチャの時間のある部分が別のフィーチャの時間と重なり合っている場合に、フィーチャがグループ化されます。 これがデフォルトです。
  • NEARフィーチャの時間が別のフィーチャの時間範囲内にある場合に、フィーチャがグループ化されます。
  • NONE時間はフィーチャのグループ化に使用されません。
String
temporal_near_distance
(オプション)

近接フィーチャのグループ化に使用される時間的距離。 このパラメーターは、temporal_relationship パラメーター値が Near の場合のみ使用されます。

Time Unit
attribute_relationship
(オプション)

フィーチャのグループ化に使用される ArcGIS Arcade 式。 たとえば、$a["Amount"] == $b["Amount"]Amount フィールドの値が同じ場合にフィーチャをグループ化します。

String

コードのサンプル

GroupByProximity の例 (スタンドアロン スクリプト)

次の Python ウィンドウ スクリプトは、GroupByProximity 関数の使用方法を示しています。

# Name: GroupByProximity.py
# Description: Group roads together that touch
#
# Requirements: An advanced license

# Import system modules
import arcpy

# Set local variables
inFeatures = "C:\myData\cities.gdb\roads"
outname = "groupedRoads"
overlayType = "TOUCHES"

# Run Group By Proximity
result = arcpy.gapro.GroupByProximity(inFeatures, outname, overlayType)