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
  • 我的个人资料
  • 登出

帮助

  • 主页
  • 入门
  • 制图
  • 分析
  • 管理数据
  • 工具
  • 更多...

检查几何

  • 摘要
  • 用法
  • 语法
  • 代码实例
  • 环境
  • 许可信息

摘要

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

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

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

用法

  • 输出表可记录发现的每个几何问题。如果未发现任何问题,则该表为空。

  • 输出表中包含以下字段:

    • CLASS - 发现问题的要素类的完整路径和名称。
    • FEATURE_ID - 存在几何问题的要素的要素 ID (FID) 或对象 ID (OID)。
    • PROBLEM - 有关问题的简要描述。
  • PROBLEM 字段中可显示出下列问题之一:

    • Short segment :有些线段短于与几何关联的空间参考的系统单位所允许的长度。
    • Null geometry :该要素不具有几何或者 SHAPE 字段为空。
    • Incorrect ring ordering :面的拓扑结构比较简单,但是面的环可能没有正确地定向(外环 - 顺时针,内环 - 逆时针)。
    • Incorrect segment orientation:各条线段的定向不一致。线段 i 的终点应该与线段 i+1 的起点相接。
    • Self intersections:面不能与自身相交。
    • Unclosed rings :环中最后一条线段的终点必须与第一条线段的起点相接。
    • Empty parts :几何具有多个部分,其中一个部分为空(没有几何)。
    • Duplicate vertex :几何的两个或多个折点坐标相同。
    • Mismatched attributes :某线段端点的 Z 坐标或 M 坐标与下一条线段中与之重合的端点的 Z 坐标或 M 坐标不匹配。
    • Discontinuous parts :几何的某部分由断开的或不连续的部分组成。
    • Empty Z values :几何的一个或多个折点 Z 值为空(例如,NaN)。
    • Bad envelope:包络矩形与几何的坐标范围不匹配。
    • Bad dataset extent:数据集的范围不包括所有要素。
  • 该工具识别出的问题可通过以下方式得到解决:

    • 手动编辑和修复存在几何问题的要素。某些问题无法通过编辑进行修复。
    • 对识别出存在几何问题的要素类运行修复几何工具。
  • 对于点要素,只会存在空几何问题。

  • 为方便查看报告存在几何问题的要素,可使用添加连接工具以及输入的 OBJECTID 或 FID 字段和输出表的 FEATURE_ID 字段将输入要素连接到输出表。

语法

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

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

Feature Layer
out_table

输出表中包含在输入要素中发现的几何问题。

Table

代码实例

CheckGeometry 示例 1(Python 窗口)

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

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

arcpy.CheckGeometry_management (["contours", "roads", "vegetation"], "CheckGeom_Result")
CheckGeometry 示例 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.

# Import modules
import arcpy
 
# The workspace in which the feature classes will be checked
arcpy.env.workspace = "C:/data/St_Lucia.gdb"
outTable = "checkGeometryResult"
 
# 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 {} feature classes".format(len(fcs)))
arcpy.CheckGeometry_management(fcs, outTable)

print("{} geometry problems found, see {} for details.".format(arcpy.GetCount_management(outTable)[0],
                                                               outTable))

环境

  • 范围
  • 临时工作空间
  • 当前工作空间
  • 输出配置关键字

相关主题

  • 要素工具集概述
  • 检查和修复几何
有关此主题的反馈?

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. | 隐私政策 | 法律声明