ArcGIS Desktop

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

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

ArcGIS Online

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

ArcGIS Desktop

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

ArcGIS Enterprise

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

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

Упростить полигоны

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

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

Упрощает полигоны посредством удаления лишних изгибов с сохранением основной формы.

Иллюстрация

Упрощение полигона

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

  • Используется два метода упрощения:

    • Метод POINT_REMOVE – более быстрый из двух алгоритмов. Он заключается в удалении избыточных вершин. Используйте этот метод для сжатия и более грубого упрощения хорошо известных данных. Угловатость получившегося полигона после применения этого инструмента значительно возрастет, в связи с чем полигон может выглядеть менее реалистично, чем входной.
    • Метод BEND_SIMPLIFY является более медленным, зато обычно позволяет получить более качественный результат. Метод заключается в удалении незначительных изгибов контуров полигонов. Используйте этот метод для точного упрощения.
  • Параметр Минимальная площадь относится только к упрощенным полигонам. Все полигоны, площадь которых после процесса упрощения меньше этого показателя, будут удалены из выходного класса пространственных объектов. Для группы смежных полигонов, имеющих общие стороны, параметр относится к общей площади группы.

  • Инструмент создает два выходных класса объектов: класс полигональных пространственных объектов, в котором сохраняются упрощенные полигоны, и класс точечных пространственных объектов для сохранения в нем точек, соответствующих полигонам, которые в результате обработки стали «нулевыми». Имя и местоположение выходного класса точечных объектов вычисляются автоматически при добавлении суффикса _Pnt. Выходной класс полигональных объектов будет содержать все поля входного слоя, а выходной точечный слой не будет содержать никаких полей из числа входных.

  • Части составных полигонов упрощаются отдельно.

  • Предусмотрено три варианта обработки топологических ошибок выходных данных:

    • Не выполнять проверку на топологические ошибки (error_option = 'NO_CHECK'NO_CHECK в Python) : полученный в процессе упрощения результат не будет проверяться на топологические ошибки. В этом случае обработка происходит быстрее. Используйте этот вариант обработки, когда вы уверены в топологической точности ваших данных. Используется по умолчанию.
    • Отметить ошибки (error_option = 'FLAG_ERRORS' в Python): полученный в процессе упрощения результат будет проверен на топологические ошибки и объекты с топологическими ошибками будут помечены. Используйте эту опцию в том случае, когда вам необходимо только найти топологические ошибки, но не обязательно их исправлять. Эта опция не поддерживается во время сессии редактирования.
      • Выходные полигональные данные будут иметь два новых поля для отображения, имеют ли объекты топологические ошибки. Параметры InPoly_FID и SimPlyFlag содержат, соответственно, идентификаторы входных объектов и топологические ошибки.
      • Поле InPoly_FID связывает упрощенные точки со входными полигонами.
      • Значение в поле SimPlyFlag, равное 1, означает наличие ошибки, значение 0 означает, что ошибки не обнаружены.
      • Метки останутся после исправления топологических ошибок. Для изучения объектов, имеющих топологические ошибки, используйте поле SimPlyFlag.
    • Исправлять ошибки топологии (error_option = 'RESOLVE_ERRORS' в Python): исправляет топологические ошибки, возникшие в результате процесса упрощения. В этом случае время обработки увеличивается. Эта опция не поддерживается во время сессии редактирования.
      • Указанный допуск может оказаться подходящим для большинства полигонов, но все же не для всех: Если во время первой итерации процесса упрощения полигонов инструментом обнаружена ошибка топологии, соответствующие сегменты линий полигона (не весь полигон) будут заново размещены, а допуск – уменьшен.
      • Новый допуск на 50% меньше будет использоваться для того, чтобы заново упростить эти сегменты. Процедура будет повторяться раз за разом до тех пор, пока не останется ни одной ошибки топологии объектов.
      • Выходной класс полигональных объектов будет содержать такое же количество полигонов, что и входной класс объектов. Он будет содержать два новых поля MaxSimpTol и MinSimpTol, в которых будут храниться максимальные и минимальные значения допусков, которые использовались в процессе упрощения каждого полигона. Если ошибки топологии не обнаружены, значения MaxSimpTol и MinSimpTol будут равны указанному значению допуска упрощения объектов.
      • Внимание:

        Если указано относительно большое значение параметра Допуск упрощения, маленькие полигоны, расположенные вблизи больших, могут оказаться внутри больших. Такая ошибка пространственного отношения не будет определена алгоритмом.

    • Для опций NO_CHECK и FLAG_ERRORS в процессе упрощения может быть создана самопересекающаяся геометрия, которая будет автоматически исправлена. Например, если полигон имеет самопересечения, он будет таким образом превращен в составной полигон, что ни одна его часть не будет пересекать другую.Выглядеть при этом такой полигон по-прежнему будет как самопересекающийся.
  • Точечные объекты будут созданы в случаях, когда выбраны опции NO_CHECK или FLAG_ERRORS, а также если отмечен параметр Сохранить линии нулевой длины. Если входной полигональный объект является составным, и одна из частей такого полигона превращается в объект нулевой длины, точечный объект, отображающий эту часть полигона, также сохраняется в выходном точечном слое.

Синтаксис

SimplifyPolygon_cartography (in_features, out_feature_class, algorithm, tolerance, {minimum_area}, {error_option}, {collapsed_point_option})
ПараметрОбъяснениеТип данных
in_features

Полигональные объекты, которые необходимо упростить.

Feature Layer
out_feature_class

Создаваемый выходной класс полигональных пространственных объектов.

Feature Class
algorithm

Определяет используемый алгоритм упрощения полигонов.

  • POINT_REMOVE —Сохраняет критические точки, определяющие основную форму полигона, и удаляет все остальные точки. Используется по умолчанию.
  • BEND_SIMPLIFY —Сохраняет основную форму полигона, удаляя несущественные изгибы линий его контуров.
String
tolerance

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

  • Для алгоритма POINT_REMOVE допуск определяет максимально допустимое смещение.
  • Для алгоритма BEND_SIMPLIFY допуском является длина базовой линии реперного изгиба.
Linear unit
minimum_area
(Дополнительный)

Определяет минимальную площадь полигонов, которые будут сохранены. Значение по умолчанию равно нулю; в этом случае сохраняются все полигоны. Вы можете выбрать предпочитаемые единицы измерения; единицами измерения по умолчанию являются единицы измерения объекта.

Areal unit
error_option
(Дополнительный)

Определяет способ обработки топологических ошибок, которые могут появиться в процессе обработки (в том числе пересечения и перекрытия линий, а также образовавшиеся линии нулевой длины).

  • NO_CHECK —Топологические ошибки не выявляются. Используется по умолчанию.
  • FLAG_ERRORS —Найденные топологические ошибки помечаются.
  • RESOLVE_ERRORS —Найденные топологические ошибки исправляются.
String
collapsed_point_option
(Дополнительный)

Определяет, необходимо ли сохранять найденные в процессе обработки линии нулевой длины в качестве точечных объектов. Эта опция применяется в случае, когда указан NO_CHECK или FLAG_ERRORS.

  • KEEP_COLLAPSED_POINTS —Образовавшиеся в результате свертывания полигоны с нулевой площадью сохраняются в виде точечных объектов. Точки концов линий границ таких полигонов сохраняются в классе точечных пространственных объектов под именем, соответствующим имени выходного класса пространственных объектов с суффиксом _Pnt. Используется по умолчанию.
  • NO_KEEP —Образовавшиеся в результате свертывания полигоны с нулевой площадью не сохраняются в виде точек; класс точечных пространственных объектов в этом случае будет пустым.
Boolean

Пример кода

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

Представленный скрипт Окна Python демонстрирует порядок непосредственного использования инструмента.

import arcpy
from arcpy import env
import arcpy.cartography as CA
env.workspace = "C:/data"
CA.SimplifyPolygon("soils.shp", "C:/output/output.gdb/simplified_soils", "POINT_REMOVE", 100)
SimplifyPolygon, пример 2 (автономный скрипт)

Этот автономный скрипт демонстрирует пример использования инструмента SimplifyPolygon.

# Name: SimplifyPolygon_Example2.py
# Description: Eliminate small islands before simplifying and smoothing lake boundaries
# Author: ESRI
 
# Import system modules
import arcpy
from arcpy import env
import arcpy.management as DM
import arcpy.cartography as CA
 
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Hydrography"
 
# Set local variables
inLakeFeatures = "lakes"
eliminatedFeatures = "C:/data/PortlandOutput.gdb/lakes_eliminated"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/lakes_simplified"
smoothedFeatures = "C:/data/PortlandOutput.gdb/lakes_smoothed"
# Eliminate small islands in lake polygons.
DM.EliminatePolygonPart(inLakeFeatures, eliminatedFeatures, 100, "OR", 0, "CONTAINED_ONLY")
 
# Simplify lake polygons.
CA.SimplifyPolygon(eliminatedFeatures, simplifiedFeatures, "POINT_REMOVE", 50, 200, "RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS", "CHECK")
 
# Smooth lake polygons.
CA.SmoothPolygon(simplifiedFeatures, smoothedFeatures, "PAEK", 100, "FLAG_ERRORS")

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

  • Текущая рабочая область (Current Workspace)
  • Выходное значение Z по умолчанию (Default Output Z Value)
  • Выходной домен M (Output M Domain)
  • Выходной XY домен (Output XY Domain)
  • Выходная система координат (Output Coordinate System)
  • Экстент (Extent)
  • Выходные данные содержат значения M (Output has M values)
  • Выходные данные содержат Z значения (Output has Z values)
  • Временная рабочая область (Scratch Workspace)
  • Допуск XY (XY Tolerance)

Информация о лицензиях

  • ArcGIS Desktop Basic: Нет
  • ArcGIS Desktop Standard: Да
  • ArcGIS Desktop Advanced: Да

Связанные разделы

  • Обзор группы инструментов Генерализация (Generalization)
  • Разрешение конфликтов и Генерализация
  • Автоматизирование урегулирования конфликтов и процессов генерализации с процессами геообработки
  • Упростить линию
  • Упростить здание
  • Как работает инструмент Упростить линию (Simplify Line)

ArcGIS Desktop

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

ArcGIS Platform

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

Об Esri

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