ArcGIS for Desktop

  • Документация
  • Стоимость
  • Поддержка

  • My Profile
  • Справка
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS for Desktop

Полноценная профессиональная ГИС

ArcGIS for Server

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Стоимость
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

Справка

  • Главная
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительно...

Восстановить геометрию

  • Краткая информация
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензировании

Краткая информация

Выявляет ошибки геометрии внутри класса пространственных объектов. После обнаружения проблем геометрии, будут выполнены соответствующие исправления и возвращено краткое описание пространственного объекта и встретившейся проблемы.

Корректными входными данными являются шейп-файлы, классы пространственных объектов персональной или файловой базы геоданных.

Более подробно о проверке и восстановлении геометрии

Использование

    Внимание:

    Этот инструмент изменяет входные данные. Более подробно о стратегиях предотвращения неожиданных изменений данных см. в разделе Инструменты, не создающие выходных данных (Tools with no outputs).

  • Инструмент использует ту же логику, что и инструмент Проверить геометрию (Check Geometry) для определения ошибок в геометрии объектов.

  • Ниже приведен перечень ошибок геометрии и соответствующих исправлений, которые будут выполняться этим инструментом:

    • Null geometry: запись будет удалена из класса объектов. Чтобы сохранить записи с нулевой геометрией, снимите отметку Удалить объекты с нулевой геометрией (Delete Features with Null Geometry) (используйте опцию KEEP_NULL параметра delete_null в Python).
    • Short segment: короткий сегмент геометрии будет удален.
    • Incorrect ring ordering: геометрия будет обновлена таким образом, чтобы в ней был установлен корректный порядок колец.
    • Incorrect segment orientation: геометрия будет обновлена таким образом, чтобы в ней была установлена корректная ориентация сегмента.
    • Self intersections: области наложения в полигоне будут слиты.
    • Unclosed rings: незамкнутое звено будет замкнуто путем соединения конечных точек звена.
    • Empty parts: нулевые или пустые части будут удалены.
    • Duplicate vertex: одна из вершин будет удалена.
    • Mismatched attributes: координаты Z или M будут обновлены для соответствия.
    • Discontinuous parts: из дискретной части будет создано несколько частей.
    • Empty Z values: значение Z будет установлено на 0.
    • Bad envelope: конверт объекта будет исправлен.
  • После применения одного из указанных исправлений, инструмент повторно оценит полученную геометрию, и, при обнаружении другой ошибки, будут выполнены соответствующие исправления. Например, в результате исправления геометрии с ошибкой Incorrect ring ordering может появиться геометрия с ошибкой Null geometry.

  • В инструменте Восстановить геометрию (Repair Geometry) нет исправления ошибки bad dataset extent. Чтобы решить эту проблему, обработайте набор данных инструментом Добавить пространственный индекс (Add Spatial Index).

  • Базы геоданных SDE автоматически проверяют и восстанавливают геометрии объектов, если пространственные объекты подгружены в базу данных, поэтому не требуется использовать инструменты Проверить геометрию (Check Geometry) и Восстановить геометрию (Repair Geometry) с классами пространственных объектов SDE.

Синтаксис

RepairGeometry_management (in_features, {delete_null})
ПараметрОбъяснениеТип данных
in_features

Класс пространственных объектов или слой, которые будут восстановлены. Корректными входными объектами являются шейп-файлы и классы пространственных объектов персональной и файловой баз геоданных.

Feature Layer
delete_null
(дополнительно)

Устанавливает, какое действие будет применять нулевую геометрию.

  • DELETE_NULL — Объекты, имеющие геометрию NULL, будут удалены из входных данных. Это значение используется по умолчанию.
  • KEEP_NULL — Объекты, имеющие геометрию NULL, не будут удалены из входных данных.
Boolean

Пример кода

RepairGeometry, пример 1 (окно Python)

Пример скрипта Python для запуска функции RepairGeometry из окна Python.

import arcpy
arcpy.RepairGeometry_management ("c:/data/sketchy.shp")
RepairGeometry, пример 2 (автономный скрипт)

Пример скрипта Python для выполнения функции Восстановить геометрию (Repair Geometry) в автономном режиме.

# 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)

Параметры среды

  • Текущая рабочая область (Current Workspace)
  • Экстент (Extent)

Связанные темы

  • Обзор группы инструментов Пространственные объекты
  • Проверка и восстановление геометрии
Отзыв по этому разделу?

ArcGIS for Desktop

  • На главную
  • Документация
  • Стоимость
  • Поддержка

ArcGIS Platform

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

Об Esri

  • О нас
  • Карьера
  • Блог сотрудников
  • Конференция пользователей
  • Саммит разработчиков
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Конфиденциальность | Правовая информация