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
  • Мой профиль
  • Выход

Справка

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

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

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

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

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

Рисунок

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

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

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

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

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

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

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

    • Не выполнять проверку на топологические ошибки (Do not check for topological errors) (NO_CHECK в Python) : полученный в процессе упрощения результат не будет проверяться на топологические ошибки. В этом случае обработка происходит быстрее. Используйте этот вариант обработки, когда вы уверены в топологической точности ваших данных.
    • Отметить ошибки (Flag errors) (FLAG_ERRORS в Python): полученный в процессе упрощения результат будет проверен на топологические ошибки, объекты с топологическими ошибками будут помечены. Используйте эту опцию в том случае, когда вам необходимо только найти топологические ошибки, но не обязательно их исправлять. Эта опция не поддерживается во время сессии редактирования.
      • Выходные полигональные данные будут иметь два новых поля для отображения, имеют ли объекты топологические ошибки. Параметры InPoly_FID и SimPlyFlag содержат, соответственно, идентификаторы входных объектов и топологические ошибки.
      • Поле InPoly_FID связывает упрощенные точки со входными полигонами.
      • Значение в поле SimPlyFlag, равное 1, означает наличие ошибки, значение 0 означает, что ошибки не обнаружены.
      • Метки останутся после исправления топологических ошибок. Для изучения объектов, имеющих топологические ошибки, используйте поле SimPlyFlag.
    • Исправлять ошибки топологии (Resolve topological errors) (RESOLVE_ERRORS d Python): исправляет топологические ошибки, возникшие в результате процесса упрощения. Увеличится время обработки.Опция недоступна во время сессии редактирования.
      • Указанный допуск может оказаться подходящим для большинства полигонов, но все же не для всех: Если во время первой итерации процесса упрощения полигонов инструментом обнаружена ошибка топологии, соответствующие сегменты линий полигона (не весь полигон) будут заново размещены, а допуск – уменьшен.
      • Уменьшенный показатель допуска в этом случае составит 50% от исходного. Новый допуск будет использоваться для того, чтобы заново упростить эти сегменты. Процедура будет повторяться раз за разом до тех пор, пока не останется ни одной ошибки топологии объектов.
      • Количество полигонов в выходном классе объектов будет соответствовать количеству полигонов входного класса, при этом появятся два новых поля MaxSimpTol и MinSimpTol, в которых будут храниться максимальные и минимальные значения допусков, которые использовались в процессе упрощения каждого полигона. Если ошибки топологии не обнаружены, значения MaxSimpTol и MinSimpTol будут равны указанному значению допуска упрощения объектов.
      • Если указано относительно большое значение параметра Допуск упрощения (Simplification Tolerance), маленькие полигоны, расположенные вблизи больших, могут оказаться внутри больших. Такая ошибка пространственного отношения не будет определена программой.
    • Для опций NO_CHECK и FLAG_ERRORS в процессе упрощения может быть создана самопересекающаяся геометрия, которая будет автоматически исправлена. Например, если полигон имеет самопересечения, он будет таким образом превращен в составной полигон, что ни одна его часть не будет пересекать другую.Выглядеть при этом такой полигон по-прежнему будет как самопересекающийся.
  • Точечные объекты будут созданы в случаях, когда выбраны опции NO_CHECK или FLAG_ERRORS, а также если отмечен параметр Сохранить линии нулевой длины (Keep collapsed points). Если входной полигональный объект является составным, и одна из частей такого полигона превращается в объект нулевой длины, точка, отображающая эту часть полигона, также сохраняется в выходном точечном слое.

Синтаксис

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 и CHECK – одновременно.

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

Пример кода

Пример работы инструмента SimplifyPolygon (Окно 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 for Desktop Basic: Нет
  • ArcGIS for Desktop Standard: Да
  • ArcGIS for Desktop Advanced: Да

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

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

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. | Конфиденциальность | Правовая информация