检查几何 (Data Management)

许可等级:BasicStandardAdvanced

摘要

生成要素类中几何问题的报告。

有效的输入格式包括 shapefile 以及存储在个人地理数据库或文件地理数据库中的要素类。而 SDE 地理数据库则会在上传几何时自动检查每个几何的有效性;因此,检查几何修复几何工具无需用于 SDE。

有关几何问题、这些问题对软件造成的影响以及可能的起因的详细信息,请参阅检查和修复几何

用法

语法

CheckGeometry_management (in_features, out_table)
参数说明数据类型
in_features
[in_features,...]

要检查是否存在几何问题的一个或多个要素类或要素图层。有效的输入格式包括 shapefile 以及存储在个人地理数据库或文件地理数据库中的要素类。

Feature Layer
out_table

包含输入要素中所发现问题的列表的表。

Table

代码实例

检查几何示例(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 CheckGeometry 函数。

import arcpy
arcpy.env.workspace = "c:/data/data.gdb"

arcpy.CheckGeometry_management (["contours", "roads", "vegetation"], "CG_Result")
检查几何示例 2(独立脚本)

下述独立脚本通过在地理数据库的所有要素类中循环来使用 CheckGeometry 函数。

# BatchCheckGeometry.py
# Description: 
#   Loops through all the feature classes in a geodatabase, and generates 
#   a report of the problems encountered with feature geometry.
# Requirements: Python

# Import modules
import arcpy
 
# The workspace in which the feature classes will be checked
outTable = "C:/data/St_Lucia.gdb/checkGeometryResult"
arcpy.env.workspace = "C:/data/St_Lucia.gdb"
 
# A variable that will hold the list of all the feature classes 
# inside the geodatabase
fcs = []
 
# List all feature classes in feature datasets
for fds in arcpy.ListDatasets("","featuredataset"):
    fcs += arcpy.ListFeatureClasses("*","",fds)
          
# List all standalone feature classes
fcs = arcpy.ListFeatureClasses()
     
print "Running the check geometry tool on %i feature classes" % len(fcs)
arcpy.CheckGeometry_management(fcs, outTable)

print (str(arcpy.GetCount_management(outTable)) + " geometry problems were found.")
print ("See " + outTable + " for full details")

环境

相关主题

许可信息

ArcGIS for Desktop Basic: 是
ArcGIS for Desktop Standard: 是
ArcGIS for Desktop Advanced: 是
5/10/2014