ラベル | 説明 | データ タイプ |
入力レイヤー | グループ化されるポイント、ライン、またはポリゴン フィーチャ。 | Feature Layer |
出力 | group_id という名前の新しいフィールドで表されるグループ フィーチャを含む出力フィーチャクラス。 | Feature Class |
空間リレーションシップ | フィーチャのグループ化の基準となるリレーションシップのタイプを指定します。
| String |
空間的近接距離 (オプション) |
近接フィーチャのグループ化に使用される距離。 このパラメーターは、[空間リレーションシップ] パラメーター値が [平面近接] または [測地線近接] の場合のみ使用されます。 | Linear Unit |
時系列リレーションシップ (オプション) | フィーチャの一致に使用する時間条件を指定します。 このパラメーターが [交差する] または [近接する] に設定されると、空間条件と時間条件の両方が満たされている場合にフィーチャがグループ化されます。 このオプションをサポートするには、入力で時間が有効化されている必要があります。
| String |
時間的近接距離 (オプション) |
近接フィーチャのグループ化に使用される時間的距離。 このパラメーターは、[時系列リレーションシップ] パラメーター値が [近接する] の場合のみ使用されます。 | Time Unit |
属性リレーションシップ (オプション) | フィーチャのグループ化に使用される ArcGIS Arcade 式。 たとえば、$a["Amount"] == $b["Amount"] は Amount フィールドの値が同じ場合にフィーチャをグループ化します。 | String |
サマリー
空間的または時空間的に相互に近接しているフィーチャをグループ化します。
[近接性でグループ化 (Group By Proximity)] ワークフローによって回答できる質問の例を次に示します。
- どの道路が接続されていますか?
- 互いの距離と時間が近い範囲内で発生した犯罪のグループはどこにありますか?
- 互いに重なり合っているポリゴンのグループがありますか?
図
使用法
出力結果は、group_id という名前の新しいフィールドを含む入力のコピーになります。 group_id フィールドはフィーチャのグループ化を表します。 同じ group_id 値を持つフィーチャは、同じグループに属します。 グループ番号は特定のグループ内のメンバーシップを表し、値を示すものではありません。 グループ番号は、連続していない場合や、ツールで同じ番号が繰り返し使用される場合があります。 結果は 8 つのグループでシンボル化されます。 結果に 8 個を超えるグループがある場合、デフォルトでは 8 個の色ですべてのグループがシンボル化されます。 シンボルを変更し、group_id フィールドの一意のシンボルでシンボル化することで一意の各グループを表示できます。
ツールは、次のリレーションシップの組み合わせをサポートしています。
- 空間リレーションシップ
- 空間リレーションシップと時系列リレーションシップ
- 空間リレーションシップと属性リレーションシップ
- 空間リレーションシップ、時系列リレーションシップ、および属性リレーションシップ
サポートされている空間リレーションシップと入力ジオメトリを次の表に示します。
入力ジオメトリのタイプ 交差する 接する 測地線近接 平面近接 ポイント
ポリライン
ポリゴン
オーバーレイ方法 説明 交差する
フィーチャまたはフィーチャの一部が重なり合っている場合、フィーチャは交差しています。 これがデフォルトです。
接する
フィーチャが交点を持つが、重なり合っていない場合、フィーチャは別のフィーチャと接しています。
測地線近接
頂点またはエッジが別のフィーチャの指定の測地線距離内にある場合、フィーチャは近接しています。
平面近接
頂点またはエッジが別のフィーチャの指定の平面距離内にある場合、フィーチャは近接しています。
[空間リレーションシップ] パラメーターの [平面近接] オプションを使用するには、[入力レイヤー] パラメーター値が投影変換される必要があります。そうでない場合、出力座標系が投影座標系に設定されます。
サポートされている時系列リレーションシップと時系列のタイプを次の表に示します。
入力時系列のタイプ 交差する 最近接 なし
インスタント
間隔
時系列リレーションシップの方法 説明 交差する
フィーチャの時間の一部が別のフィーチャの時間と重なり合っている場合、フィーチャは交差しています。
最近接
フィーチャの時間が別のフィーチャの指定の時間距離内にある場合、フィーチャは互いに近接しています。
時系列リレーションシップを使用するには、入力で時間を有効化する必要があります。 時間を有効化するには、次の手順に従います。
- MFC (マルチファイル フィーチャ コネクション) 入力上の時間を有効にします。
- マップ内のレイヤーで時間を有効化します。 必要に応じて、時間対応レイヤーを *.lyrx ファイルとして保存することもできます。
属性式は対称演算です。 ツールは、グループ化する際に、入力レイヤー自体と比較する 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 をご参照ください。
パラメーター
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 | フィーチャのグループ化の基準となるリレーションシップのタイプを指定します。
| String |
spatial_near_distance (オプション) |
近接フィーチャのグループ化に使用される距離。 このパラメーターは、spatial_relationship パラメーター値が NEAR_PLANAR または NEAR_GEODESIC の場合のみ使用されます。 | Linear Unit |
temporal_relationship (オプション) |
フィーチャの一致に使用する時間条件を指定します。 このパラメーターが INTERSECTS または NEAR に設定されると、空間条件と時間条件の両方が満たされている場合に、フィーチャがグループ化されます。 このオプションをサポートするには、入力で時間が有効化されている必要があります。
| String |
temporal_near_distance (オプション) |
近接フィーチャのグループ化に使用される時間的距離。 このパラメーターは、temporal_relationship パラメーター値が Near の場合のみ使用されます。 | Time Unit |
attribute_relationship (オプション) | フィーチャのグループ化に使用される ArcGIS Arcade 式。 たとえば、$a["Amount"] == $b["Amount"] は Amount フィールドの値が同じ場合にフィーチャをグループ化します。 | String |
コードのサンプル
次の 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)