サマリー
フィーチャ属性に基づいて、どの候補フィーチャが 1 つ以上の入力フィーチャに最も類似しているか、または最も類似していないかを識別します。
図
使用法
1 つ目のレイヤーに照合する入力フィーチャを指定し、2 つ目のレイヤーに照合するための候補フィーチャを指定します。多くの場合、照合する入力フィーチャと候補フィーチャは同じフィーチャ レイヤーが設定されます。2 つのデータセットを別々に作成するオプションがありますが、そうする必要はありません。それよりも、2 つの異なる選択セットを持つレイヤーを作成するほうがはるかに簡単です。この 1 か月間に発生したすべての犯罪事件を格納したファイルがあるとします。最新の自動車乗っ取り事件に最も類似した犯罪をすべて見つけたい場合は、次のようにします。
- 標準の ArcMap 選択ツールまたはジオプロセシング ツールを使用して、すべての犯罪事件を格納したレイヤーから最新の自動車乗っ取り事件の記録を選択します。
- 選択セットを持つレイヤーを右クリックし、[選択] > [選択フィーチャからレイヤーを作成] の順にクリックします。[照合する入力フィーチャ] パラメーターにこの新規レイヤーを使用します。
- すべての犯罪事件を持つレイヤーの選択セットに切り替えます。[候補フィーチャ] パラメーターにこのレイヤーを使用します。
照合する入力フィーチャが複数ある場合、照合は対象属性の平均値に基づいて行われます。そのため、たとえば、照合する入力フィーチャが 2 つあり、対象属性の 1 つが人口変数である場合、平均人口値に最も近い人口値を持つ候補フィーチャが検索されます。たとえば、人口値が 100 と 102 なら、人口が 101 に近い候補が検索されます。
照合する入力フィーチャと候補フィーチャが両方ともポリゴンまたはポリラインである場合を除いて、出力フィーチャには常にポイントが含まれます。ポリゴンまたはポリラインの出力フィーチャを作成すると、大きいデータセットでのパフォーマンスが低下する可能性があるため、[出力からポイントを作成] をオンにして強制的にポイント ジオメトリとすることで、パフォーマンスを改善することができます。
[類似度の高低] パラメーターを指定すると、照合する入力フィーチャに MOST_SIMILAR または LEAST_SIMILAR フィーチャを検索できます。必要に応じて、範囲の両端を確認することもできます。たとえば、[結果数] パラメーターに「3」、[類似度の高低] パラメーターに BOTH を入力すると、最も類似する 3 つの候補フィーチャと最も類似しない 3 つの候補フィーチャが返されます。
出力フィーチャの一致結果は、ターゲットの照合する入力フィーチャに最も類似するか、最も類似しない結果のいずれかです。1 つの結果が両方を兼ねることはできません (また、出力フィーチャ内で一致結果が重複することもありません)。したがって、[類似度の高低] パラメーターに [両方] を選択すると、可能な一致結果の最大数 ([結果数]) は、候補フィーチャの半数になります。入力した [結果数] の値が大きすぎる場合は、ツールが可能な最大数に調整します。
類似度の空間パターンを検討するために、すべての候補フィーチャの類似性をランク付けしたい場合があります。[結果数] パラメーターに「0」を入力すると、すべての候補フィーチャを簡単にランク付けできます。そうすると、ツールは候補データセット内の有効なフィーチャの数を判断し、そのすべてを最も類似するものから類似しないものへランク付けして、その順番に出力フィーチャに書き込みます。
[照合方法] パラメーターには、ATTRIBUTE_VALUES、RANKED_ATTRIBUTE_VALUES、または ATTRIBUTE_VALUES を選択できます。
- ATTRIBUTE_VALUES の場合、すべての対象属性の差の二乗和 (SSD) が最も類似した候補になります。差を計算する前に、すべての値が標準化されます。
- RANKED_ATTRIBUTE_VALUES の場合、すべての対象属性のランクの差の二乗和が最も小さいものが最も類似した候補になります。出力フィーチャは、SIMINDEX (ランクの差の二乗和) フィールドでこれらの合計を報告します。
- ATTRIBUTE_PROFILES の場合、コサイン類似度が測定されます。コサイン類似度では、大きさを照合するのではなく、標準化された属性値の間で同じ関係を探します。A1、A2、A3、A4 という 4 つの対象属性があり、A2 は A1 の 2 倍の大きさで、A3 は A2 とほぼ同じ、A4 は A3 の 3 倍の大きさだとします。ATTRIBUTE_PROFILES 照合方法の場合、それらと同じ属性関係 (2 倍の大きさ、ほぼ同じ大きさ、3 倍の大きさ) を持つ候補を検索します。この方法は属性関係に注目するため、2 つ以上の対象属性を指定する必要があります。コサイン類似度方式 (ATTRIBUTE_PROFILES) を使用して、ロサンゼルスなどの場所を、より小さい縮尺で見つけることができます。コサイン類似度指標の範囲は、1.0 (完全に類似) から -1.0 (完全に相違) までです。コサイン類似度指標は、出力フィーチャ SIMINDEX (コサイン類似度) フィールドに書き込まれます。
対象属性は、数値でなければならず、照合する入力フィーチャおよび候補フィーチャ データセットの両方に (同じフィールド名とフィールド タイプで) 存在する必要があります。対象属性パラメーターを指定すると、照合する入力フィーチャ データセット内で見つかったすべての数値フィールドが表示されます。候補フィーチャに対応するフィールドがない場合、存在しない属性が解析から除外されたことを知らせる警告が表示されます。すべての対象属性が除外されると、照合に使用する属性がなくなるため、ツールが解析を実行できないことを知らせるエラーが表示されます。
照合に使用されたすべての属性が、出力フィーチャに書き込まれます。[出力に追加するフィールド] パラメーターを使用すると、必要に応じて他のフィールドを出力テーブルに含めることができます。対象属性の数値フィールドは有効な識別子にならない可能性が高いため、一致結果ごとに名前などの識別子フィールドを追加することができます。複数の一致結果によって判断する必要がある場合は、他の非数値属性を追加することもできます。たとえば、求めている結果がいくつかの土地利用タイプの 1 つでなければならない場合、カテゴリ土地利用属性を追加すると、この要件を満たす結果を絞り込むために役立ちます。場合によっては、参照目的で出力テーブルに追加の数値属性を含めることができます。たとえば、特定の動物の生息に適した場所を探しているとします。その種が適応している既知の場所を照合する入力フィーチャに使用することができます。種の適応に関連する [対象属性] を選択できます。さらに、数値範囲属性を出力フィーチャに追加できます。これは、実際にターゲットの範囲値と照合するためではなく、可能な最大の範囲で結果を探すためです。
照合する入力フィーチャと一致結果はすべて、対象属性および出力に追加するフィールドと共に出力フィーチャに書き込まれます。さらに、次のフィールドが出力フィーチャに含められます。
フィールド名 フィールドのエイリアス 説明 注意事項 MATCH_ID
MATCH_ID
照合する入力フィーチャ レイヤーのすべてのターゲット フィーチャが、MATCH_ID フィールドに書き込まれた OID または FID 識別子と共に最初に表示されます。一致結果のこのフィールドには NULL 値が入ります。
出力フィーチャがシェープファイルの場合、NULL 値は非常に大きい負の数 (-21474836 など) で表されます。
CAND_ID
CAND_ID
次にすべての一致結果が表示され、この値はその OID または FID 識別子になります。照合する入力フィーチャ レイヤーのターゲット フィーチャのこのフィールドには NULL 値が入ります。
出力フィーチャがシェープファイルの場合、NULL 値は非常に大きい負の数 (-21474836 など) で表されます。
SIMRANK
類似ランク
[照合方法] パラメーターに MOST_SIMILAR または BOTH を選択すると、すべての一致結果が、最も類似するものから最も類似しないものへの順にランク付けされます。最も類似する一致結果は、ランク値が 1 になります。
[照合方法] パラメーターに MOST_SIMILAR または BOTH を選択した場合にのみ、このフィールドは出力フィーチャに含められます。
DSIMRANK
相違ランク
[照合方法] パラメーターに LEAST_SIMILAR または BOTH を選択すると、すべての一致結果が、最も類似しないものから最も類似するものへの順にランク付けされます。最も類似しない一致結果は、ランク値が 1 になります。
[照合方法] パラメーターに LEAST_SIMILAR または BOTH を選択した場合にのみ、このフィールドは出力フィーチャに含められます。
SIMINDEX
差の二乗和 (SSD)、ランクの差の二乗和、コサイン類似度
このフィールドは、それぞれの一致結果がターゲット フィーチャにどれだけ類似しているかを定量化します。
- [照合方法] に ATTRIBUTE_VALUES を指定すると、フィールド エイリアスは二乗差の合計になります。
- [照合方法] に RANKED_ATTRIBUTE_VALUES を指定すると、フィールド エイリアスはランクの差の二乗和になります。
- [照合方法] に ATTRIBUTE_PROFILES を指定すると、フィールド エイリアスはコサイン類似度になります。
照合する入力フィーチャが 1 つのみの場合、このフィーチャがターゲット フィーチャになります。複数の照合する入力フィーチャを指定した場合、すべての対象属性の平均値で作成される一時フィーチャがターゲット フィーチャになります。
LABELRANK
レンダリング ランク
このフィールドは、表示のためにのみ使用されます。このツールは、このフィールドを使用して解析結果のデフォルトのレンダリングを提供します。
出力フィーチャ<ArcGIS>/Desktop10.x/ArcToolbox/Templates/Layers レイヤーは自動的に [コンテンツ] ウィンドウに追加され、LABELRANK フィールドにはデフォルトのレンダリングが適用されます。適用されるレンダリングは、<ArcGIS>/Desktop10.x/ArcToolbox/Templates/Layers にあるレイヤー ファイルによって定義されます。必要に応じて、テンプレート レイヤー シンボルをインポートすれば、デフォルトのレンダリングを再適用できます。
構文
SimilaritySearch_stats (Input_Features_To_Match, Candidate_Features, Output_Features, Collapse_Output_To_Points, Most_Or_Least_Similar, Match_Method, Number_Of_Results, Attributes_Of_Interest, {Fields_To_Append_To_Output})
パラメーター | 説明 | データ タイプ |
Input_Features_To_Match | 照合するフィーチャを含むレイヤー (またはレイヤー上の選択セット)。これらのフィーチャに類似した他のフィーチャを探します。複数のフィーチャを指定すると、属性の平均に基づいて照合が行われます。 ヒント: 照合する入力フィーチャと候補フィーチャが 1 つのデータセットから取得されるときは、次のようにします。
| Feature Layer |
Candidate_Features | 照合する候補フィーチャを含むレイヤー (またはレイヤーの選択セット)。このツールは、Input_Features_To_Match に最も類似する (または最も類似しない) フィーチャを、これらの候補の中から探します。 | Feature Layer |
Output_Features | 出力フィーチャクラスには、Input_Features_To_Match ごと、および見つかったすべての一致結果フィーチャに対応したレコードが入ります。 | Feature Class |
Collapse_Output_To_Points | Input_Features_To_Match と Candidate_Features が両方ともラインまたはポリゴンの場合、Output_Features のジオメトリをポイントに単純化するか、入力フィーチャの元のジオメトリ (ラインまたはポリゴン) に一致させるかを選択できます。このオプションは、Desktop Advanced ライセンスでのみ利用可能です。大きいラインまたはポリゴン データセットで COLLAPSE を選択すると、ツールのパフォーマンスが向上します。
| Boolean |
Most_Or_Least_Similar | に最も類似するフィーチャまたは最も類似しないフィーチャのいずれに関心があるかを選択します。Input_Features_To_Match
| String |
Match_Method | 照合を値、ランク、またはコサイン関係のいずれに基づいて行うか選択します。
| String |
Number_Of_Results | 検索する一致結果の数。0 または Candidate_Features の合計数より大きい数字を入力すると、すべての候補フィーチャのランキングが返されます。 | Long |
Attributes_Of_Interest [field,...] | 照合基準を表す数値属性の一覧。 | Field |
Fields_To_Append_To_Output [field,...] (オプション) | Output_Features に含まれるオプションの属性の一覧。たとえば、名前識別子、カテゴリ フィールド、日付フィールドなどを含めることができます。これらのフィールドは類似度を判断するために使用されるものではなく、参照用として Output_Features に含められます。 | Field |
コードのサンプル
SimilaritySearch (類似検索) の例 1 (Python ウィンドウ)
次の Python ウィンドウ スクリプトは、SimilaritySearch (類似検索) ツールの使用方法を示しています。
import arcpy
import arcpy.stats as SS
arcpy.env.workspace = r"C:\Analysis"
SS.SimilaritySearch ("Crime_selection", "AllCrime", "c:\\Analysis\\CrimeMatches",
"NO_COLLAPSE", "MOST_SIMILAR", "ATTRIBUTE_VALUES", 4,
"HEIGHT;WEIGHT;SEVERITY;DST2CHPSHP", "Name;WEAPON")
SimilaritySearch (類似検索) の例 2 (スタンドアロン Python スクリプト)
次のスタンドアロン Python スクリプトは、SimilaritySearch (類似検索) ツールの使用方法を示しています。
# Similarity Search of crime data in a metropolitan area
# Import system modules
import arcpy
import os
import arcpy.stats as SS
# Set property to overwrite existing output
arcpy.env.overwriteOutput = True
try:
# Set the current workspace (to avoid having to specify the full path to
# the feature classes each time)
arcpy.env.workspace = r"C:\Analysis"
# Make a layer from the crime feature class
arcpy.MakeFeatureLayer_management("AllCrime", "Crime_selection")
# Select the target crime to match
# Process: Select By Attribute
arcpy.SelectLayerByAttribute_management("Crime_selection", "NEW_SELECTION",
'"OBJECTID" = 1230043')
# Use Similarity Search to find to create groups based on different variables
# or analysis fields
# Process: Group Similar Features
SS.SimilaritySearch("Crime_selection", "AllCrime", "CJMatches", "NO_COLLAPSE",
"MOST_SIMILAR", "ATTRIBUTE_VALUES", 4,
"HEIGHT;WEIGHT;SEVERITY;DST2CHPSHP", "Name;WEAPON")
except:
# If an error occurred when running the tool, print out the error message.
print(arcpy.GetMessages())
環境
ライセンス情報
- ArcGIS Desktop Basic: はい
- ArcGIS Desktop Standard: はい
- ArcGIS Desktop Advanced: はい