類似フィーチャの検索 (Find Similar Locations) (GeoAnalytics)

サマリー

フィーチャ属性に基づいて、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 値が指定されます。

    このフィールドは、ArcGIS Enterprise 10.6.1 以降で使用できます。

    search_id

    検索フィーチャの一意の ID 値。参照フィーチャには、NULL 値が指定されます。

    このフィールドは、ArcGIS Enterprise 10.6.1 以降で使用できます。

  • 出力は自動的にコンテンツ ウィンドウに追加され、labelrank フィールドにはデフォルトのレンダリングが適用されます。

  • 次の 1 つまたは複数のヒントを使用して、[類似フィーチャの検索 (Find Similar Locations)] ツールのパフォーマンスを向上させることができます。

    • 対象データのみが解析されるように、範囲環境を設定します。
    • 参照レイヤーの数個のフィーチャのみを選択します。
    • 解析が実行されている場所に対してローカルなデータを使用します。

  • ジオプロセシング ツールは、ArcGIS GeoAnalytics Server を活用しています。解析は GeoAnalytics Server で実行され、結果が ArcGIS Enterprise のコンテンツに保存されます。

  • GeoAnalytics Server ツールを実行する場合、解析は GeoAnalytics Server で実行されます。最適なパフォーマンスを得るためには、ArcGIS Enterprise ポータルでホストされているフィーチャ レイヤーかビッグ データ ファイル共有を通じて、GeoAnalytics Server にデータを提供する必要があります。GeoAnalytics Server のローカルにないデータは、解析が開始する前に GeoAnalytics Server に移動されます。つまり、ツールを実行する時間が長くなり、場合によっては ArcGIS Pro から GeoAnalytics Server にデータを移動できないこともあります。エラーの閾値はネットワークの速度や、データのサイズや複雑さに左右されます。したがって、データを必ず共有するか、ビッグ データ ファイル共有を作成することをお勧めします。

    データをポータルで共有する方法の詳細

    ArcGIS Server Manager を使用してビッグ データ ファイル共有を作成する方法の詳細

  • ArcGIS Pro の [空間統計] ツールボックスの [類似検索 (Similarity Search)] ツールを使用して、類似分析を実行することもできます。

パラメーター

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

照合するフィーチャを含む参照レイヤー (またはレイヤーの選択セット)。ツールは、これらのフィーチャに類似する他のフィーチャを検索します。複数のフィーチャを指定すると、属性の平均に基づいて照合が行われます。

Record Set
検索レイヤー

照合する候補フィーチャを含む候補レイヤー (またはレイヤーの選択セット)。このツールは、[入力レイヤー] パラメーターに最も類似する (または最も類似しない) フィーチャを、これらの候補の中から検索します。

Record Set
出力名

出力フィーチャクラスの名前。出力フィーチャクラスには、[入力レイヤー] パラメーターごと、および見つかったすべての一致結果フィーチャに対応したレコードが入ります。

String
分析フィールド

照合基準を表す数値属性の一覧。

String
類似度の高低

検出されるフィーチャが [入力レイヤー] パラメーターに最も類似するか、最も類似しないかを指定します。

  • 最も類似する最も類似するフィーチャを見つけます。
  • 最も類似しない最も類似しないフィーチャを見つけます。
  • 両方最も類似するフィーチャと最も類似しないフィーチャを見つけます。
String
照合方法

照合を値またはコサイン関係のいずれに基づいて行うか指定します。

  • 属性値類似度または相違度は、すべての [分析フィールド] 属性の標準化した属性値の差の二乗和に基づきます。
  • 属性プロファイル類似度または相違度は、すべての [分析フィールド] 属性のコサイン類似度の関数として計算されます。
String
結果の数

検索する一致結果の数。0 または [検索レイヤー] フィーチャの合計数より大きい数字を入力すると、すべての候補フィーチャのランキングが返されます (最大値は 10,000)。

Long
追加フィールド
(オプション)

出力に含まれるオプションの属性の一覧。たとえば、名前識別子、カテゴリ フィールド、日付フィールドなどを含めることができます。これらのフィールドは類似度を判断するために使用されるものではなく、参照用として出力パラメーター属性に含められます。デフォルトでは、すべてのフィールドが追加されます。

Field
データ ストア
(オプション)

出力の保存先の ArcGIS Data Store を指定します。デフォルトは、[ビッグ データ ストア] です。ビッグ データ ストアに格納されたすべての結果は、WGS84 で保存されます。リレーショナル データ ストアに格納された結果は、それらの座標系を維持します。

  • ビッグ データ ストア出力がビッグ データ ストアに格納されます。これがデフォルトです。
  • リレーショナル データ ストア出力がリレーショナル データ ストアに格納されます。
String

派生した出力

ラベル説明データ タイプ
出力フィーチャクラス

入力のフィーチャおよび見つかったすべての一致結果フィーチャに対応したフィーチャ。

レコード セット

arcpy.geoanalytics.FindSimilarLocations(input_layer, search_layer, output_name, analysis_fields, most_or_least_similar, match_method, number_of_results, {append_fields}, {data_store})
名前説明データ タイプ
input_layer

照合するフィーチャを含む参照レイヤー (またはレイヤーの選択セット)。ツールは、これらのフィーチャに類似する他のフィーチャを検索します。複数のフィーチャを指定すると、属性の平均に基づいて照合が行われます。

Record Set
search_layer

照合する候補フィーチャを含む候補レイヤー (またはレイヤーの選択セット)。このツールは、input_layer パラメーターに最も類似する (または最も類似しない) フィーチャを、これらの候補の中から検索します。

Record Set
output_name

出力フィーチャ サービスの名前。出力フィーチャ サービスには、input_layer パラメーターごと、および見つかったすべての一致結果フィーチャに対応したレコードが入ります。

String
analysis_fields
[analysis_fields,...]

照合基準を表す数値属性の一覧。

String
most_or_least_similar

検出されるフィーチャが input_layer パラメーターに最も類似するか、最も類似しないかを指定します。

  • MOST_SIMILAR最も類似するフィーチャを見つけます。
  • LEAST_SIMILAR最も類似しないフィーチャを見つけます。
  • BOTH最も類似するフィーチャと最も類似しないフィーチャを見つけます。
String
match_method

照合を値またはコサイン関係のいずれに基づいて行うか指定します。

  • ATTRIBUTE_VALUES類似度または相違度は、すべての analysis_fields 属性の標準化した属性値の差の二乗和に基づきます。
  • ATTRIBUTE_PROFILES類似度または相違度は、すべての analysis_fields 属性のコサイン類似度の関数として計算されます。
String
number_of_results

検索する一致結果の数。0 または search_layer フィーチャの合計数より大きい数字を入力すると、すべての候補フィーチャのランキングが返されます (最大値は 10,000)。

Long
append_fields
[append_fields,...]
(オプション)

出力に含まれるオプションの属性の一覧。たとえば、名前識別子、カテゴリ フィールド、日付フィールドなどを含めることができます。これらのフィールドは類似度を判断するために使用されるものではなく、参照用として出力パラメーター属性に含められます。デフォルトでは、すべてのフィールドが追加されます。

Field
data_store
(オプション)

出力の保存先の ArcGIS Data Store を指定します。デフォルトは、SPATIOTEMPORAL_DATA_STORE です。ビッグ データ ストアに格納されたすべての結果は、WGS84 で保存されます。リレーショナル データ ストアに格納された結果は、それらの座標系を維持します。

  • SPATIOTEMPORAL_DATA_STORE出力がビッグ データ ストアに格納されます。これがデフォルトです。
  • RELATIONAL_DATA_STORE出力がリレーショナル データ ストアに格納されます。
String

派生した出力

名前説明データ タイプ
output

入力のフィーチャおよび見つかったすべての一致結果フィーチャに対応したフィーチャ。

レコード セット

コードのサンプル

FindSimilarLocations (類似フィーチャの検索) (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、FindSimilarLocationsツールの使用方法を示しています。

#-------------------------------------------------------------------------------
# Name: FindSimilarLocations.py
# Description: Find Similar stores to a top performing store
#
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
referenceStore = "https://MyGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_Stores/BigDataCatalogServer/TopPerformer"
candidateStores = "https://MyGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_Stores/BigDataCatalogServer/AllStores"
analysisFields = [ "SickDays", "TotalCustomers", "AvgPurchaseAmount"]
outputName = "BestStores_10"
dataStore = "SPATIOTEMPORAL_DATA_STORE"
# Execute Find Similar Locations
arcpy.geoanalytics.FindSimilarLocations(referenceStore, candidateStores, 
                                        outputName, analysisFields, 
                                        "MOST_SIMILAR", "ATTRIBUTE_VALUES", 10, 
                                        None, dataStore)

環境

特殊なケース

出力座標系

解析で使用される座標系。このパラメーターで指定されない限り、入力の座標系で解析が行われます。GeoAnalytics Tools の場合、最終結果は WGS84 のビッグ データ ストアに保存されます。

ライセンス情報

  • Basic: 次のものが必要 ArcGIS GeoAnalytics Server
  • Standard: 次のものが必要 ArcGIS GeoAnalytics Server
  • Advanced: 次のものが必要 ArcGIS GeoAnalytics Server

関連トピック