ラベル | 説明 | データ タイプ |
入力レイヤー | 照合するフィーチャを含む参照レイヤー (またはレイヤーの選択セット)。ツールは、これらのフィーチャに類似する他のフィーチャを検索します。複数のフィーチャを指定すると、属性の平均に基づいて照合が行われます。 | Table View |
検索レイヤー | 照合する候補フィーチャを含む候補レイヤー (またはレイヤーの選択セット)。このツールは、[入力レイヤー] パラメーターに最も類似する (または最も類似しない) フィーチャを、これらの候補の中から検索します。 | Table View |
出力データセット | 出力フィーチャクラスの名前。出力フィーチャクラスには、[入力レイヤー] パラメーターごと、および見つかったすべての一致結果フィーチャに対応したレコードが入ります。 | Feature Class; Table |
分析フィールド | 照合基準を表す数値属性の一覧。 | String |
類似度の高低 | 検出されるフィーチャが [入力レイヤー] パラメーターに最も類似するか、最も類似しないかを指定します。
| String |
照合方法 | 照合を値またはコサイン関係のいずれに基づいて行うか指定します。
| String |
結果の数 | 検索する一致結果の数。0 または [検索レイヤー] フィーチャの合計数より大きい数字を入力すると、すべての候補フィーチャのランキングが返されます (最大値は 10,000)。 | Long |
追加フィールド (オプション) | 出力に含まれるオプションの属性の一覧。たとえば、名前識別子、カテゴリ フィールド、日付フィールドなどを含めることができます。これらのフィールドは類似度を判断するために使用されるものではなく、参照用として出力パラメーター属性に含められます。デフォルトでは、すべてのフィールドが追加されます。 | Field |
サマリー
フィーチャ属性に基づいて、1 つ以上の入力フィーチャに最も類似しているフィーチャ、または最も類似していない候補フィーチャを特定します。
図
使用法
テーブル、ポイント、ライン、またはエリア フィーチャを使用できます。
入力検索 (候補) レイヤーが必要です。検索レイヤー内のフィーチャは、入力 (参照) 場所との類似性でランク付けされます。
[入力レイヤー] に複数のフィーチャが存在する場合、一致は、[入力レイヤー] の平均値に基づきます。たとえば、[入力レイヤー] のフィーチャが 2 つあり、[分析フィールド] の 1 つが人口変数である場合、平均人口値に最も近い人口値を持つ [検索レイヤー] が検索されます。たとえば、人口値が 100 と 102 なら、人口が 101 に近い候補が検索されます。
注意:
複数の [入力レイヤー] がある場合、類似する値を持つ [分析フィールド] 属性を選択します。たとえば、1 つの入力の人口値が 100、もう 1 つの入力の人口値が 100,000 なら、2 つの平均値である 50,050 に近い人口値で照合が行われます。この平均値が、いずれの [入力レイヤー] の人口値からも離れていることに注意してください。
[類似度の高低] パラメーターを使用し、[最も類似する] または [最も類似しない] オプションをそれぞれ使用して、[入力レイヤー] フィーチャに対して最も類似するフィーチャまたは最も類似しないフィーチャを検索します。場合によっては、両方を確認します。たとえば、[結果数] パラメーターに「3」、[類似度の高低] パラメーターに [両方] を入力すると、最も類似する 3 つの候補フィーチャと最も類似しない 3 つの候補フィーチャが検索されます。
出力フィーチャの一致結果は、ターゲットの入力フィーチャに最も類似する結果か、最も類似しない結果のいずれかです。1 つの結果が両方を兼ねることはできません (また、出力フィーチャ内で一致結果が重複することもありません)。したがって、[類似度の高低] パラメーターに [両方] を選択すると、可能な一致結果の最大数 ([結果数]) は、[検索レイヤー] の半数になります。
- 最大 10,000 の検索レイヤー フィーチャが返されます。
[照合方法] パラメーターには、次の値オプションがあります。
- [属性値] - すべての [分析フィールド] 属性の差の二乗和が最も小さいものが最も類似した候補になります。差を計算する前に、すべての値が標準化されます。
- [属性プロファイル] - コサイン類似度が測定されます。コサイン類似度では、大きさを照合するのではなく、標準化された属性値の間で同じ関係を探します。たとえば、A1、A2、A3 という 3 つの [分析フィールド] があるとします。A2 は A1 の 2 倍であり、A3 は A2 とほぼ同じです。[照合方法] パラメーター値が [属性プロファイル] である場合、ツールは、属性関係が同じ (A2 が A1 の 2 倍で、A3 が A2 とほぼ同じ) の候補を検索します。この方法は属性間の関係に注目するため、2 つ以上の [分析フィールド] 属性を指定する必要があります。たとえば、20 歳未満の住民の数に対する車の数と比較した人口のプロファイルを基に、コサイン類似度方式 ([属性プロファイル] オプション) を使用して、ロサンゼルスと類似する場所を、異なる縮尺で見つけることができます。コサイン類似度指標の範囲は、1.0 (完全に類似) から -1.0 (完全に相違) までです。コサイン類似度指標は、出力フィーチャの simindex (コサイン類似度) フィールドに書き込まれます。
[分析フィールド] パラメーターは、数値でなければならず、[入力レイヤー] および [検索レイヤー] データセットの両方に (同じフィールド名とフィールド タイプで) 存在する必要があります。[検索レイヤー] に対応するフィールドがない場合、存在しない属性が解析から除外されたことを知らせる警告が表示されます。
照合に使用されたすべての属性が、出力に書き込まれます。[追加フィールド] パラメーターを使用すると、出力テーブルに追加するフィールドを指定できます。デフォルトでは、すべてのフィールドが追加されます。[追加フィールド] パラメーターを使用して、[検索レイヤー] から追加する特定のフィールドを選択します。
[入力レイヤー] と一致結果はすべて、[分析フィールド] および [追加フィールド] のパラメーターとともに [出力フィーチャ] に書き込まれます。さらに、次のフィールドが出力フィーチャに含められます。
フィールド名 説明 備考 location_type
フィーチャが参照レイヤー (入力) であるか、または候補レイヤー (検索) であるかを示す文字列です。
simrank
[類似度の高低] パラメーターに [最も類似する] または [両方] を選択すると、すべての一致結果が、最も類似するものから最も類似しないものへの順にランク付けされます。最も類似する一致結果は、ランク値が 1 になります。
[類似度の高低] パラメーターに [最も類似する] または [両方] を選択した場合にのみ、このフィールドは [出力フィーチャ] に含められます。
dissimrank
[類似度の高低] パラメーターに [最も類似しない] または [両方] を選択すると、すべての一致結果が、最も類似しないものから最も類似するものへの順にランク付けされます。最も類似しない一致結果は、ランク値が 1 になります。
[類似度の高低] パラメーターに [最も類似しない] または [両方] を選択した場合にのみ、このフィールドは [出力フィーチャ] に含められます。
simindex
このフィールドは、それぞれの一致結果がターゲット フィーチャにどれだけ類似しているかを定量化します。[照合方法] パラメーターに [属性値] を指定した場合、この値は二乗差の合計になります。
この指標の計算方法の詳細については、「類似検索 (Similarity Search) の詳細」をご参照ください。
[照合方法] パラメーターに [属性値] を選択した場合にのみ、このフィールドは [出力フィーチャ] に含められます。
cosimindex
このフィールドは、それぞれの一致結果がターゲット フィーチャにどれだけ類似しているかを定量化します。[照合方法] パラメーターに [属性プロファイル] を指定した場合、この値はコサイン類似度を表します。
この指標の計算方法の詳細については、「類似検索 (Similarity Search) の詳細」をご参照ください。
[照合方法] パラメーターに [属性プロファイル] を選択した場合にのみ、このフィールドは [出力フィーチャ] に含められます。
labelrank
このフィールドは、表示のためにのみ使用されます。このツールは、このフィールドを使用して解析結果のデフォルトのレンダリングを提供します。
reference_id
参照フィーチャの一意の ID 値。検索フィーチャには、NULL 値が指定されます。
search_id
検索フィーチャの一意の ID 値。参照フィーチャには、NULL 値が指定されます。
出力は自動的にコンテンツ ウィンドウに追加され、labelrank フィールドにはデフォルトのレンダリングが適用されます。
次の 1 つまたは複数のヒントを使用して、[類似フィーチャの検索 (Find Similar Locations)] ツールのパフォーマンスを向上させることができます。
- 対象データのみが解析されるように、範囲環境を設定します。
- 参照レイヤーの数個のフィーチャのみを選択します。
- 解析が実行されている場所に対してローカルなデータを使用します。
ジオプロセシング ツールは、Spark を活用しています。 解析は、デスクトップ コンピューターで複数のコアを並列に使用して行われます。 解析の実行の詳細については、「GeoAnalytics Desktop ツールの考慮事項」をご参照ください。
GeoAnalytics Desktop ツールを実行する際、解析はデスクトップ コンピューターで行われます。 最適なパフォーマンスを得るために、データがデスクトップで利用できる必要があります。 ホスト フィーチャ レイヤーを使用している場合は、ArcGIS GeoAnalytics Server を使用することをお勧めします。 データがローカルではない場合は、ツールの実行時間は長くなります。 ArcGIS GeoAnalytics Server を使用して解析を実行する方法については、GeoAnalytics Tools をご参照ください。
ArcGIS AllSource の [空間統計] ツールボックスの [類似検索 (Similarity Search)] ツールを使用して、類似分析を実行することもできます。
パラメーター
arcpy.geoanalytics.FindSimilarLocations(input_layer, search_layer, output, analysis_fields, most_or_least_similar, match_method, number_of_results, {append_fields})
名前 | 説明 | データ タイプ |
input_layer | 照合するフィーチャを含む参照レイヤー (またはレイヤーの選択セット)。ツールは、これらのフィーチャに類似する他のフィーチャを検索します。複数のフィーチャを指定すると、属性の平均に基づいて照合が行われます。 | Table View |
search_layer | 照合する候補フィーチャを含む候補レイヤー (またはレイヤーの選択セット)。このツールは、input_layer パラメーターに最も類似する (または最も類似しない) フィーチャを、これらの候補の中から検索します。 | Table View |
output | 出力データセットには、input_layer パラメーター値ごと、および見つかったすべての一致結果フィーチャに対応したレコードが入ります。 | Feature Class; Table |
analysis_fields [analysis_fields,...] | 照合基準を表す数値属性の一覧。 | String |
most_or_least_similar | 検出されるフィーチャが input_layer パラメーターに最も類似するか、最も類似しないかを指定します。
| String |
match_method | 照合を値またはコサイン関係のいずれに基づいて行うか指定します。
| String |
number_of_results | 検索する一致結果の数。0 または search_layer フィーチャの合計数より大きい数字を入力すると、すべての候補フィーチャのランキングが返されます (最大値は 10,000)。 | Long |
append_fields [append_fields,...] (オプション) | 出力に含まれるオプションの属性の一覧。たとえば、名前識別子、カテゴリ フィールド、日付フィールドなどを含めることができます。これらのフィールドは類似度を判断するために使用されるものではなく、参照用として出力パラメーター属性に含められます。デフォルトでは、すべてのフィールドが追加されます。 | Field |
コードのサンプル
次の Python ウィンドウ スクリプトは、FindSimilarLocations 関数の使用方法を示しています。
#-------------------------------------------------------------------------------
# Name: FindSimilarLocations.py
# Description: Find Similar stores to a top performing store
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/SalesData.gdb"
# Set local variables
referenceStore = "TopPerformer"
candidateStores = "AllStores"
analysisFields = [ "SickDays", "TotalCustomers", "AvgPurchaseAmount"]
outputName = "BestStores_10"
# Run Find Similar Locations
arcpy.gapro.FindSimilarLocations(referenceStore, candidateStores,
outputName, analysisFields,
"MOST_SIMILAR", "ATTRIBUTE_VALUES", 10)