ラベル | 説明 | データ タイプ |
入力フィーチャ | 処理対象のフィーチャクラスまたはレイヤー。 | Feature Layer |
出力テーブル (オプション) | 特定された問題のレポート (テーブル形式)。 | Table |
検証方法 (オプション) | ジオメトリの問題の識別に使用するジオメトリ検証方法を指定します。
| String |
派生した出力
ラベル | 説明 | データ タイプ |
ジオメトリ エラーを含む | ツールが何らかのジオメトリの問題を特定したかどうかを示します。 | Boolean |
フィーチャクラスに存在するジオメトリの問題についてレポートを作成します。
ジオメトリの問題、それらの問題がソフトウェアに与える影響、および可能性のある原因に関する詳細については、「ジオメトリのチェックと修正のためのツール」をご参照ください。
有効な入力形式は、シェープファイル、およびファイル ジオデータベース、エンタープライズ データベース、エンタープライズ ジオデータベース、GeoPackage、SpatiaLite データベースに保存されているフィーチャクラスです。 エンタープライズ データベースまたはエンタープライズ ジオデータベースに保存されているフィーチャクラスでは、次の空間タイプがサポートされます。
エンタープライズ ジオデータベースに保存され、バージョン対応登録されているフィーチャクラスはサポートされていません。
[出力テーブル] パラメーター値には、検出されたジオメトリの問題ごとに 1 つのレコードが含まれます。 問題が見つからなかった場合は、テーブルは空になります。
PROBLEM フィールドのコードを含んでいる [出力テーブル] パラメーター値の内容は、英語で記述されます。
ポイント フィーチャの場合は、NULL ジオメトリの問題だけが適用されます。
ジオメトリの問題があると報告されたフィーチャを確認するために、[テーブルの結合 (Add Join)] ツールを使用して、入力の OBJECTID または FID フィールドと出力テーブルの FEATURE_ID フィールドとともに、[入力フィーチャ] パラメーター値を [出力テーブル] パラメーター値に結合することができます。 [入力フィーチャ] パラメーター値のいずれかがエンタープライズ ジオデータベース、エンタープライズ データベース、GeoPackage、または SpatiaLite データベースに保存されている場合、出力テーブルは、非整数に基づく OBJECTID 列に使用される TEXT_ID フィールドも含みます。
[Esri] の検証オプションでは、Esri Simplify メソッドを使用してジオメトリがトポロジ的に正しいことを確認します。 エンタープライズ ジオデータベースに保存されているデータでは、Esri の検証のみが利用可能です。
OGC (Open Geospatial Consortium) の検証方法では、「OpenGIS Implementation Standard for Geographic information – simple feature access – Part 1: common architecture」で定義された OGC 仕様にジオメトリが準拠していることを確認します。
[OGC] オプションを使用してフィーチャのジオメトリを修正した後に続けて編集や変更を行うと、ジオメトリが OGC 仕様に準拠しなくなる可能性があります。
フィーチャの変更後は、[ジオメトリのチェック (Check Geometry)] ツールを再実行して、ジオメトリの問題が新たに発生していないか確認してください。 必要な場合は、[ジオメトリの修正 (Repair Geometry)] ツールを実行します。
[OGC] オプションを使用して検証または修正されたジオメトリは [Esri] オプションに対して有効になります。 両方の方法の詳細については、「シンプルなポリゴンとは」をご参照ください。
このツールで特定された問題には、次の方法で対処することができます。
[出力テーブル] パラメーター値には次のフィールドがあります。
PROBLEM フィールドには、次のコードの 1 つが格納されます。
エンタープライズ ジオデータベースに格納されたデータの場合、PROBLEM フィールドには次のいずれかのコードが含まれます。
ラベル | 説明 | データ タイプ |
入力フィーチャ | 処理対象のフィーチャクラスまたはレイヤー。 | Feature Layer |
出力テーブル (オプション) | 特定された問題のレポート (テーブル形式)。 | Table |
検証方法 (オプション) | ジオメトリの問題の識別に使用するジオメトリ検証方法を指定します。
| String |
ラベル | 説明 | データ タイプ |
ジオメトリ エラーを含む | ツールが何らかのジオメトリの問題を特定したかどうかを示します。 | Boolean |
arcpy.management.CheckGeometry(in_features, {out_table}, {validation_method})
名前 | 説明 | データ タイプ |
in_features [in_features,...] | 処理対象のフィーチャクラスまたはレイヤー。 | Feature Layer |
out_table (オプション) | 特定された問題のレポート (テーブル形式)。 | Table |
validation_method (オプション) | ジオメトリの問題の識別に使用するジオメトリ検証方法を指定します。
| String |
名前 | 説明 | データ タイプ |
problems_found | ツールが何らかのジオメトリの問題を特定したかどうかを示します。 | Boolean |
次の Python ウィンドウ スクリプトは、ファイル ジオデータベースでイミディエイト モードで CheckGeometry 関数を使用する方法を示しています。
import arcpy
arcpy.env.workspace = "c:/data/data.gdb"
arcpy.management.CheckGeometry(["contours", "roads", "vegetation"], "CheckGeom_Result")
次のスタンドアロン スクリプトでは、ファイル ジオデータベース内のすべてのフィーチャクラスにループをかけて CheckGeometry 関数を使用します。
# BatchCheckGeometry.py
# Description: Loop through all the feature classes in a geodatabase, and
# generate a report of the problems encountered with feature
# geometry.
# Import modules
import arcpy
import os
# The geodatabase in which the feature classes will be checked
arcpy.env.workspace = "C:\\data\\St_Lucia.gdb"
out_table = "checkGeometryResult"
# A variable that will hold the list of all the feature classes
# in the geodatabase
fc_list = []
# Identify all feature classes in the geodatabase
for path, dirnames, fcs in arcpy.da.Walk(arcpy.env.workspace,
datatype='FeatureClass'):
for fc in fcs:
fc_list.append(os.path.join(path, fc))
print("Running the check geometry tool on {} feature classes".format(
len(fc_list)))
arcpy.management.CheckGeometry(fc_list, out_table)
print("{} geometry problems found, see {} for details.".format(
arcpy.management.GetCount(out_table)[0], out_table))
次のスクリプトは、CheckGeometry 関数を使用して、派生した出力をチェックし、問題が検出されたかどうかを判定します。
import arcpy
result = arcpy.management.CheckGeometry('c:/data/data.gdb/badgeometryfc')
if result[1] == 'true':
# Geometry problems found, print the tool messages.
print(result.getMessages())
else:
# No problems found
print("No problems Found")
環境が設定されていない場合 (デフォルト) または 0 に設定されている場合、並列処理は無効になります。 100 に設定されている場合、ツールはコンピューター上のすべての論理コアに作業を分配しようとします。 ファクターを 1 ~ 99 に指定すると、ツールは数式 (並列処理ファクター / 100 * 論理コア) の小数部を切り上げた整数を適用して、使用する論理コアの割合を特定します。 この数式の結果が 0 または 1 の場合、並列処理は有効化されません。