ArcGIS for Desktop

  • ドキュメント
  • 価格
  • サポート

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS for Desktop

完全なプロ仕様の GIS

ArcGIS for Server

エンタープライズ GIS

ArcGIS for Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • 価格
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ヘルプ

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • その他...

同一値を持つレコードの検出 (Find Identical)

  • サマリ
  • 図
  • 使用法
  • 構文
  • コードのサンプル
  • 環境
  • ライセンス情報

サマリ

フィールドの一覧内で同一値を持つ、フィーチャクラスまたはテーブルのレコードを報告し、同一値を持つこれらのレコードを示すテーブルを生成します。Shape フィールドが選択されている場合は、フィーチャ ジオメトリが照合されます。

同一値を持つレコードを検出して削除するには、[同一値を持つレコードの削除 (Delete Identical)] ツールを使用します。

図

[同一値を持つレコードの検出 (Find Identical)] の図
この例では、1、2、3、8、9、および 10 の OBJECTID を持つポイントが空間的に一致 (青でハイライト表示) しています。出力テーブルは、同じ CATEGORY を共有している空間的に一致するこれらのポイントを特定します。

使用法

  • 選択した入力フィールドの値が同じレコードは、同一とされます。入力データセット内の複数のフィールドにある値を照合することができます。複数のフィールドが指定された場合、レコードは、最初のフィールド内の値によって照合された後、2 番目のフィールドの値によって照合されるという具合に、順次照合されます。

  • フィーチャクラスまたはフィーチャ レイヤーを入力に指定して、[フィールド] パラメーターでフィールド Shape を選択すると、同一値を持つフィーチャを位置によって検索するためにフィーチャ ジオメトリが照合されます。[XY 許容値] と [Z 許容値] パラメーターは、入力フィールドの 1 つとして Shape が選択されている場合のみ有効になります。

    Shape フィールドが選択されていて、入力フィーチャの M 値または Z 値が有効な場合、同一フィーチャの判定に M 値または Z 値も使用されます。

  • 出力テーブルの対象を重複レコードだけにする場合は、[重複レコードのみを出力] パラメーターをオンにします。このパラメーターがオフの場合、出力は入力データセットと同数のレコードを持ちます (デフォルト)。

  • 出力テーブルには、IN_FID と FEAT_SEQ という 2 つのフィールドがあります。

    • IN_FID フィールドを使用すると、出力テーブルのレコードを入力データセットと結合できます。
    • 同一レコードは同じ FEAT_SEQ 値を持ちます。一方、同一でないレコードは連続した値を持ちます。FEAT_SEQ の値と入力レコードの ID に関連性はありません。

構文

FindIdentical_management (in_dataset, out_dataset, fields, {xy_tolerance}, {z_tolerance}, {output_record_option})
パラメータ説明データ タイプ
in_dataset

同一値を持つレコードを検出するテーブルまたはフィーチャクラス。

Table View
out_dataset

同一値を持つレコードを報告する出力テーブル。入力テーブルの FEAT_SEQ フィールドは、同一レコードでは同じ値を持ちます。

Table
fields
[fields,...]

同一値を持つレコードを検出するために値が照合されるフィールド。

Field
xy_tolerance
(オプション)

別のフィーチャ内に同一値の頂点が存在するかどうかを評価するときに各頂点に適用される XY 許容値。このパラメーターは、[Shape] がフィールドの 1 つとして選択されている場合のみ有効になります。

Linear unit
z_tolerance
(オプション)

別のフィーチャ内に同一値の頂点が存在するかどうかを評価するときに各頂点に適用される Z 許容値。このパラメーターは、[Shape] がフィールドの 1 つとして選択されている場合のみ有効になります。

Double
output_record_option
(オプション)

出力テーブルに重複レコードだけを出力するかどうかを選択します。

  • ALL —すべての入力レコードが、出力テーブル内に対応するレコードを持ちます。これがデフォルトです。
  • ONLY_DUPLICATES —重複レコードだけが、出力テーブル内に対応するレコードを持ちます。重複が検出されない場合、出力は空になります。
Boolean

コードのサンプル

FindIdentical (同一値を持つレコードの検出) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで FindIdentical (同一値を持つレコードの検出) 関数を使用する方法を示しています。

import arcpy

# Find identical records based on a text field and a numeric field.
arcpy.FindIdentical_management("C:/data/fireincidents.shp", "C:/output/duplicate_incidents.dbf", ["ZONE", "INTENSITY"])
FindIdentical (同一値を持つレコードの検出) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、FindIdentical (同一値を持つレコードの検出) ツールを使用して、テーブルまたはフィーチャクラスの重複するレコードを識別する方法を示しています。

# Name: FindIdentical_Example2.py
# Description: Finds duplicate features in a dataset based on location (Shape field) and fire intensity

import arcpy
from arcpy import env

env.overwriteOutput = True

# Set workspace environment
env.workspace = "C:/data/findidentical.gdb"

try:
    # Set input feature class
    in_dataset = "fireincidents"
    
    # Set the fields upon which the matches are found
    fields = ["Shape", "INTENSITY"]
    
    # Set xy tolerance
    xy_tol = ".02 Meters"
    
    out_table = "duplicate_incidents"

    # Execute Find Identical 
    arcpy.FindIdentical_management(in_dataset, out_table, fields, xy_tol)
    print arcpy.GetMessages()

except arcpy.ExecuteError:
    print arcpy.GetMessages(2)
    
except Exception as ex:
    print ex.args[0]
FindIdentical (同一値を持つレコードの検出) の例 3: 重複レコードのみを出力 (スタンドアロン スクリプト)

オプションの [重複レコードのみを出力] パラメーターを使用する方法を示しています。ツール ダイアログ ボックスでオンにするか、ONLY_DUPLICATES の値を設定すると、一意のレコードは出力からすべて削除され、重複レコードだけが残されます。

# Name: FindIdentical_Example3.py
# Description: Demonstrates the use of the optional parameter Output only duplicated records.

import arcpy
from arcpy import env

env.overwriteOutput = True

# Set workspace environment
env.workspace = "C:/data/redlands.gdb"

try:
    
    in_data = "crime"
    out_data = "crime_dups"
    
    # Note that XY Tolerance and Z Tolerance parameters are not used
    # In that case, any optional parameter after them must assign
    # the value with the name of that parameter    
    arcpy.FindIdentical_management(in_data, out_data, ["Shape"], output_record_option="ONLY_DUPLICATES")
    
    print arcpy.GetMessages()
    
except Exception as ex:
    print arcpy.GetMessages(2)
    print ex.args[0]
FindIdentical (同一値を持つレコードの検出) の例 4: FEAT_SEQ 値による同一レコードのグループ化

FindIdentical (同一値を持つレコードの検出) ツールの出力を読み取り、FEAT_SEQ 値によって同一レコードをグループ化します。

import arcpy

from itertools import groupby
from operator import itemgetter

# Set workspace environment
arcpy.env.workspace = r"C:\data\redlands.gdb"

# Run Find Identical on feature geometry only.
result = arcpy.FindIdentical_management("parcels", "parcels_dups", ["Shape"])
    
# List of all output records as IN_FID and FEAT_SEQ pair - a list of lists
out_records = []   
for row in arcpy.SearchCursor(result.getOutput(0), fields="IN_FID; FEAT_SEQ"):
    out_records.append([row.IN_FID, row.FEAT_SEQ])

# Sort the output records by FEAT_SEQ values
# Example of out_records = [[3, 1], [5, 3], [1, 1], [4, 3], [2, 2]]
out_records.sort(key = itemgetter(1))
    
# records after sorted by FEAT_SEQ: [[3, 1], [1, 1], [2, 2], [5, 3], [4, 3]]
# records with same FEAT_SEQ value will be in the same group (i.e., identical)
identicals_iter = groupby(out_records, itemgetter(1))
    
# now, make a list of identical groups - each group in a list.
# example identical groups: [[3, 1], [2], [5, 4]]
# i.e., IN_FID 3, 1 are identical, and 5, 4 are identical.
identical_groups = [[item[0] for item in data] for (key, data) in identicals_iter]

print identical_groups

環境

  • 現在のワークスペース
  • テンポラリ ワークスペース
  • 範囲
  • XY 許容値
  • Z 許容値

ライセンス情報

  • ArcGIS for Desktop Basic: ×
  • ArcGIS for Desktop Standard: ×
  • ArcGIS for Desktop Advanced: ○

関連トピック

  • 一般ツールセットの概要
このトピックへのフィードバック

ArcGIS for Desktop

  • ホーム
  • ドキュメント
  • 価格
  • サポート

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • スタッフ ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | プライバシー | リーガル