[類似フィーチャの検索] ツールは、フィーチャ属性に基づいて、1 つ以上の入力フィーチャに最も類似している候補フィーチャ、または最も類似していない候補フィーチャを識別します。
ワークフロー図
解析での使用 GeoAnalytics Tools
GeoAnalytics Tools を使用した解析は、複数の ArcGIS GeoAnalytics Server コンピューターやコアにまたがる分散型処理を使用して実施されます。GeoAnalytics Tools と ArcGIS Enterprise の標準的なフィーチャ解析ツールは、異なるパラメーターと機能を持ちます。これらの相違点については、「フィーチャ解析ツールの相違点」をご参照ください。
例
顧客プロファイルに関して、どの店舗が最も成績が優秀な店舗に類似しているかを判断します。
病気によって最も大きな打撃を受けた村の特性を考慮すると、他のどの村のリスクが高いか。
ある都市の放課後のフィットネス プログラムは非常に成功を収めています。プロモーターは、プログラム拡大の候補先として挙げられる、類似する特徴を持つ他の都市を検索できます。
犯罪分析者は、すべての犯罪のデータベースを検索して、最近の犯罪がより大きなパターンまたは傾向に含まれているかどうかを調べることができます。
ある人事マネージャーが、会社の給与範囲が正当であることを説明したいとします。規模、生活費、および環境に関して類似する都市を特定し、対象職種の給与範囲を確認することで、それらが会社の給与に一致しているかどうかを判断することができます。
使用上の注意
テーブル、ポイント、ライン、またはエリア フィーチャを使用できます。
参照レイヤーを作成するには、入力レイヤー内のすべてのフィーチャを使用するか、選択を実行します。[選択] ボタン を使用して対話形式で選択するか、[クエリ] ボタン を使用してフィルターで選別することができます。複数のフィーチャを選択または選択解除するには、[選択] ボタンを使用します。参照レイヤーに対して選択を行う場合は、1 つのクエリしか使用できません。
入力候補レイヤーが必要です。候補レイヤー内のフィーチャは、参照場所との類似性でランク付けされます。
ランク付けされる類似性は、[類似性の基準] パラメーターで指定されたフィールドに基づきます。複数のフィールドを指定することができます。参照レイヤーと同じ名前の数値フィールドのみ選択できます。ランク数値が最も小さいフィーチャは、参照レイヤーとの類似性が最も高いことを意味します。
デフォルトでは、候補地レイヤー内のすべてのフィーチャ (最大 10,000) は、類似性の高いものから低いものへ順位が付けられます。[表示] パラメーターを使用すると、返すフィーチャの数を指定できます。
[次を使用して最も類似するものと最も類似しないものを決定] パラメーターを使用して、フィーチャの照合方法を指定できます。[フィールド値] または [フィールド プロファイル] を選択できます。
- [フィールド値] の場合、[類似性の基準] に指定したすべてのフィーチャの差の二乗和 (SSD) が最も小さいものが最も類似した候補になります。差を計算する前に、すべての値が標準化されます。
- [フィールド プロファイル] の場合、コサイン類似度が測定されます。コサイン類似度では、大きさを照合するのではなく、標準化された属性値の間で同じ関係を探します。[類似性の基準] パラメーターを使用する A1、A2、A3 という 3 つのフィールドがあるとします。A2 は A1 の 2 倍であり、A3 は A2 とほぼ同じです。[フィールド プロファイル] の場合、ツールはこのような同じ属性関係 (A2 が A1 の 2 倍である、A2 とほぼ等しい) を持つ候補を検索します。この方法は属性間の関係に注目するため、[類似性の基準] パラメーターの 2 つ以上のフィールドを指定する必要があります。コサイン類似度方式 ([フィールド プロファイル]) を使用して、ロサンゼルスなどの場所を、より小さい縮尺で見つけることができます。たとえば、20 人未満の住民の数に対する車の数という人口のプロファイルに興味がある場合です。コサイン類似度指標の範囲は、1.0 (完全に類似) から -1.0 (完全に相違) までです。コサイン類似度指標は、出力フィーチャsimindex(コサイン類似度) フィールドに書き込まれます。
照合に使用されたすべてのフィールドが、出力に書き込まれます。[結果に追加するフィールドの選択] を使用すると、必要に応じて出力テーブルに追加するフィールドを指定できます。デフォルトでは、すべてのフィールドが追加されます。
一致するフィールドと結果に追加するフィールド以外に、次のフィールドも出力に含められます。
フィールド名 | 説明 | 備考 |
---|---|---|
location_type | フィーチャのソースが参照レイヤーであるか検索レイヤーであるかを示す文字列。 | このフィールドは常に出力に含められます。 |
simrank | [類似性の最も高い場所] または [最も類似するものと最も類似しないもの] を選択すると、すべての一致結果が、最も類似するものから最も類似しないものへの順にランク付けされます。最も類似する一致結果は、ランク値が 1 になります。 | このフィールドは、[最も類似する] または [最高と最低] を選択したときのみに含まれます。 |
dissimrank | [類似性の最も低い場所] または [最も類似するものと最も類似しないもの] を選択すると、すべての一致結果が、最も類似しないものから最も類似するものへの順にランク付けされます。最も類似しない一致結果は、ランク値が 1 になります。 | このフィールドは、[最も類似しない] または [最高と最低] を選択したときのみに含まれます。 |
simindex | このフィールドは、それぞれの一致結果が参照フィーチャにどれだけ類似しているかを定量化します。[フィールド値] を指定した場合、この値は二乗差の合計になります。 | このフィールドは、[フィールド値] を選択したときのみに含まれます。 |
cosimindex | このフィールドは、それぞれの一致結果が参照フィーチャにどれだけ類似しているかを定量化します。[フィールド プロファイル] を指定した場合、この値はコサイン類似度を表します。 | このフィールドは、[フィールド プロファイル] を選択したときのみに含まれます。 |
labelrank | このフィールドは、表示のためにのみ使用されます。このツールは、このフィールドを使用して解析結果のデフォルトのレンダリングを提供します。 | このフィールドは常に出力に含められます。 |
reference_id | 参照フィーチャの一意の ID 値。検索フィーチャには、NULL 値が指定されます。 | この値は ArcGIS Enterprise 10.6.1 で導入されました。 |
search_id | 検索値フィーチャの一意の ID 値。参照フィーチャには、NULL 値が指定されます。 | この値は ArcGIS Enterprise 10.6.1 で導入されました。 |
ArcGIS Enterprise 10.6.1 では、類似性計算のサマリーは、アイテムの詳細ページで使用できます。サマリーには以下が含まれます。
- [入力フィーチャのサマリー] - 参照フィーチャとして使用される 1 つ以上のフィーチャの統計情報サマリー。複数のフィーチャが使用されている場合、これは平均値となります。計算で使用される各フィールドは、行として表示されます。
- [対象属性のサマリー] - 検索フィーチャの統計情報サマリー。計算で使用される各フィールドは、行として表示されます。
- 3 番目のテーブルには、最も一致性の高い検索フィーチャが表示されます。これより多くのフィーチャが一致している場合であっても、このテーブルには最大 50 フィーチャが表示されます。このテーブルには、上記のテーブルで示した search_id、simrank、simindex の値が表示されます。
制限事項
- 参照レイヤーと候補レイヤーには、同じ名前の数値フィールドが少なくとも 1 つ必要です。
- フィールド プロファイル方法を使用する場合、参照レイヤーと候補レイヤーには、同じ名前の数値フィールドが少なくとも 2 つ必要です。
[類似フィーチャの検索 (Find Similar Locations)] の詳細
[類似フィーチャの検索] を使用するには、参照場所、候補の検索場所、および照合する基準を表すフィールドを指定します。解析用に選択するレイヤーには、参照場所または基準場所を含める必要があります。たとえば、参照場所は、最も成績が優秀な店舗または病気によって最も大きな打撃を受けた村を含んでいるとします。次に、候補の検索場所を含んでいるレイヤーを指定します。これは、すべての店舗またはすべてのその他の村となる場合があります。 最終的に、1 つ以上のフィールドを特定して、類似性の測定に使用します。 次に、[類似フィーチャの検索 (Find Similar Locations)] は、選択したすべてのフィールドに対して候補の検索場所が参照場所にどれだけ一致しているかを基準にして、候補の検索場所すべてにランクを付けます。
解析レイヤーに、参照場所と候補の検索場所の両方が含まれている場合があります。たとえば、すべての店舗が含まれている単一のレイヤーがあり、最も成績が良い店舗との類似性が最も高いものから最も低いものまで順位を付けたいとします。店舗レイヤーを解析レイヤーおよび候補の検索場所の両方として使用します。次に、選択ツールの 1 つを使用して、どの店舗が最も成績が良いかを特定します。対話式のクエリを使用するか、クエリを作成して参照場所を選択できます。または、店舗レイヤーのコピーを作成して、[コンテンツ] ウィンドウに 2 つのバージョンを用意します。最初のコピーの下にあるフィルター ボタンをクリックし、[フィルター] を定義して、最も成績の良い店舗を選択します。次に、2 番目のレイヤーの下にあるフィルター ボタンをクリックし、[フィルター] を定義して、候補の検索場所 (最も成績の良い店舗を除いたすべての店舗) を選択します。最初のレイヤーは解析レイヤーです (レイヤーの下の [解析の実行] またはマップ上部の [解析] ボタンをクリックし、[場所の検索] カテゴリを展開して [類似場所の検索] に移動します)。[類似するフィーチャの検索] パラメーターに 2 番目のレイヤーを指定します。これらが、候補の検索場所です。
別々の参照と候補の検索レイヤーがある場合もあります。店舗のカスタマー ベースを説明するフィールド (たとえば、平均収入や婚姻状況など) を含む最も成績が良い店舗が含まれている店舗レイヤー、および新しい店舗を構えるのに最適な場所を特定する候補区画から成る 2 番目のレイヤーがあるとします。このケースでは、参照場所レイヤーに自分の参照場所以外の場所が含まれている場合、はじめに上記の選択ツールの 1 つを使用して、参照場所を特定する必要があります。レイヤーに自分の参照場所 (最も成績が良い店舗など) のみが含まれている場合、選択する必要はありません。候補の検索場所として区画レイヤーを指定します (パラメーター 2)。区画および最も成績が良い店舗の両方にカスタマー ベースを説明するフィールドがある場合、[類似フィーチャの検索] を実行すると、最も成績が良い店舗の顧客のような人口統計的な特性を持つ候補の区画を特定することができます。
複数の参照場所がある場合、類似性は指定するフィールドの平均に基づいて決まります。たとえば、2 つの参照場所があり、人口の一致状況について調べたい場合、ツールは、両方の参照場所の平均人口に最も近い人口を持つ場所を候補の参照場所として探します。たとえば、参照場所の値が 100 と 102 の場合、ツールは、101 に近い人口を持つ場所を候補の検索場所として探します。この結果、類似した値を持つ参照場所のフィールドを選択することができます。たとえば、一方の参照場所の人口値が 100 で、もう一方が 100,000 である場合、ツールは、2 つの値の平均である 50,050 に近い人口値を持つ場所を候補の検索場所として探します。この平均値は、いずれの参照場所の人口にも近くないことに注意してください。
ArcGIS API for Python の例
[類似フィーチャの検索] は ArcGIS API for Python で使用できます。
この例では、現在の最適な場所とその属性に基づいて、潜在的な小売場所を検索します。
# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS
from arcgis.geoanalytics import find_locations
# Connect to your ArcGIS Enterprise portal and confirm that GeoAnalytics is supported
portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password", verify_cert=False)
if not portal.geoanalytics.is_supported():
print("Quitting, GeoAnalytics is not supported")
exit(1)
# Find the feature layer containing the stores and filter to obtain stores in the top percentile
stores_search_result = portal.content.search("Stores", "Feature Layer")
stores_layer = stores_search_result[0].layers[0]
stores_layer.filter = "top_percentile = 'true'"
# Find the feature layer you'll use to search for similar locations
locations_search_result = portal.content.search("PotentialLocations", "Feature Layer")
locations = locations_search_result[0].layers[0]
# Run the Find Similar Locations tool
similar_location_result = find_locations.find_similar_locations(input_layer = stores_layer,
search_layer = locations,
analysis_fields = "median_income, population, nearest_competitor",
most_or_least_similar = "MostSimilar",
match_method = "AttributeValues",
number_of_results = 50,
output_name = "similar_locations")
# Visualize the tool results if you are running Python in a Jupyter Notebook
processed_map = portal.map('Europe')
processed_map.add_layer(similar_location_result)
processed_map
類似のツール
[類似フィーチャの検索 (Find Similar Locations)] では、候補レイヤーと参照レイヤー内の場所の類似性を測定します。その他のツールは、類似した少し異なる問題を解決するのに効果的です。
Map Viewer解析ツール
標準解析ツールを使用し、類似フィーチャを検索する方法については、[類似フィーチャの検索 (Find Similar Locations)] をご参照ください。
クエリを使用して既存の場所を選択する場合は、標準ツールの [既存フィーチャの検索 (Find Existing Locations)] ツールを使用します。
クエリを使用して新規のフィーチャを作成する場合は、標準ツールの [新規フィーチャの作成 (Derive New Locations)] ツールを使用します。
ArcGIS Desktop 解析ツール
GeoAnalytics Tools の [類似フィーチャの検索 (Find Similar Locations)] は ArcGIS Pro でも利用できます。