ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

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

ArcGIS Online

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

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

ジオメトリの修正 (Repair Geometry)

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

概要

フィーチャクラスの各フィーチャにジオメトリの問題があるかどうかを検査します。 問題が検出されると、修正が行われ、1 行分の説明によって対象のフィーチャと修正されたジオメトリの問題を特定します。

このツールは、[ジオメトリのチェック (Check Geometry)] ツールと同じロジックを使用して、ジオメトリの問題を修正します。

ジオメトリのチェックと修正に関する詳細

使用法

    注意:

    このツールを実行すると、入力データが変更されます。詳しい説明および不適切なデータの変更を防ぐための方法については、「出力データセットを作成しないツール」をご参照ください。

  • このツールでは次のジオメトリの問題を修正します。

    • Null geometry - フィーチャクラスからレコードを削除します。 NULL ジオメトリを含むレコードを保持するには、[NULL ジオメトリを含むフィーチャを削除] パラメーターをオフにします (Python では delete_null = "KEEP_NULL")。
    • Short segment - ジオメトリの短い線分を削除します。
    • Incorrect ring ordering - リングの順序が正しくなるように、ジオメトリを更新します。
    • Incorrect segment orientation - 線分の方向が正しくなるように、ジオメトリを更新します。
    • Self intersections - ポリゴンの重複を解消します。
    • Unclosed rings - リングの端点を接続して、閉じていないリングを閉じます。
    • Empty parts - 無効または空のパートを削除します。
    • Duplicate vertex - 頂点の 1 つを削除します。
    • Mismatched attributes - Z 座標または M 座標を一致するように更新します。
    • Discontinuous parts - 既存の不連続パートから複数のパートを作成します。
    • Empty Z values - Z 値を 0 に設定します。
    • Bad envelope - フィーチャのエンベロープを修正するように更新します。
  • 修正後、結果のジオメトリがツールによって再評価されます。別の問題が検出された場合は、その問題に対する適切な修正が実行されます。 たとえば、Incorrect ring ordering の問題のあるジオメトリの修正結果によって、Null geometry の問題のあるジオメトリが発生する場合もあります。

  • Bad dataset extent の問題はこのツールでは修正できません。 この問題を解決するには、データセットで [フィーチャクラスの範囲を再計算 (Recalculate Feature Class Extent)] ツールを実行します。

  • エンタープライズ ジオデータベースではフィーチャをデータベースにアップロードする際に、フィーチャ ジオメトリが自動的に検査、修復されます。したがって、エンタープライズ フィーチャクラスに対して [ジオメトリのチェック (Check Geometry)] ツールと [ジオメトリの修正 (Repair Geometry)] ツールを使用する必要はありません。

構文

arcpy.management.RepairGeometry(in_features, {delete_null})
パラメーター説明データ タイプ
in_features

処理対象のフィーチャクラスまたはレイヤー。

Feature Layer
delete_null
(オプション)

NULL ジオメトリを含むフィーチャを削除するか指定します。

  • DELETE_NULL —NULL ジオメトリを含むフィーチャを入力から削除します。 これがデフォルトです。
  • KEEP_NULL —NULL ジオメトリを含むフィーチャを入力から削除しません。
Boolean

派生した出力

名前説明データ タイプ
out_feature_class

更新された入力フィーチャ。

Feature Layer

コードのサンプル

RepairGeometry の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで RepairGeometry 関数を使用する方法を示しています。

import arcpy
arcpy.RepairGeometry_management("c:/data/sketchy.shp")
RepairGeometry の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、RepairGeometry 関数をスクリプティングに適用する例を示しています。

# Description: 
#   Goes through the table generated by the Check Geometry tool and does 
#   the following
#   1) backs-up all features which will be 'fixed' to a "_bad_geom" feature class
#   2) runs repairGeometry on all feature classes listed in the table 

import arcpy
import os
 
# Table that was produced by Check Geometry tool
table = r"c:\temp\data.gdb\cg_sample1"
 
# Create local variables
fcs = []
 
# Loop through the table and get the list of fcs
for row in arcpy.da.SearchCursor(table, ("CLASS")):
    # Get the class (feature class) from the cursor
    if not row[0] in fcs:
        fcs.append(row[0])
 
# Now loop through the fcs list, backup the bad geometries into fc + "_bad_geom"
# then repair the fc
print("> Processing {0} feature classes".format(len(fcs)))
for fc in fcs:
    print("Processing " + fc)
    lyr = 'temporary_layer'
    if arcpy.Exists(lyr):
        arcpy.Delete_management(lyr)
    
    tv = "cg_table_view"
    if arcpy.Exists(tv):
        arcpy.Delete_management(tv)

    arcpy.MakeTableView_management(table, tv, ("\"CLASS\" = '%s'" % fc))
    arcpy.MakeFeatureLayer_management(fc, lyr)
    arcpy.AddJoin_management(lyr, arcpy.Describe(lyr).OIDFieldName, tv, "FEATURE_ID")
    arcpy.CopyFeatures_management(lyr, fc + "_bad_geom")
    arcpy.RemoveJoin_management(lyr, os.path.basename(table))
    arcpy.RepairGeometry_management(lyr)

環境

  • 現在のワークスペース
  • 範囲

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック

  • フィーチャ ツールセットの概要
  • ジオメトリのチェックと修正

ArcGIS Desktop

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

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2021 Esri. | プライバシー | リーガル