| Подпись | Описание | Тип данных |
Входные объекты | Полигональные объекты, которые будут сглажены. | Feature Layer |
Выходной класс объектов | Выходной класс полигональных объектов, который будет создан. | Feature Class |
Алгоритм сглаживания | Определяет алгоритм сглаживания, который будет использован.
| String |
Допуск сглаживания | Допуск, который используется опцией Полиномиальная аппроксимация с экспоненциальным ядром (PAEK) параметра Алгоритм сглаживания. Должен быть указан допуск, значение которого больше нуля. Вы можете выбрать предпочитаемые единицы измерения; единицами измерения по умолчанию являются единицы измерения объекта. Этот параметр недоступен, если для параметра Алгоритм сглаживания используется опция Интерполяция Безье. | Linear Unit |
Сохранить конечную точку для колец (Дополнительный) | Этот параметр больше не используется. Ранее этот параметр использовался для того, чтобы задать, будет ли сохраняться концевая точка отдельного полигонального кольца. Этот параметр пока присутствует в синтаксисе скрипта для совместимости в скриптах и моделях, но скрыт на панели Геообработка. Определяет, будут ли сохранены конечные точки отдельных полигональных колец. Эта опция доступна только для опции Полиномиальная аппроксимация с экспоненциальным ядром (PAEK) параметра Алгоритм сглаживания.
| Boolean |
Управление топологическими ошибками (Дополнительный) | Определяет способ обработки топологических ошибок, которые могут появиться в процессе обработки (например, пересечения и наложения линий).
| String |
Входные слои барьеров (Дополнительный) | Входные данные, содержащие пространственные объекты, которые будут выполнять роль барьеров для сглаживания. Получившиеся сглаженные полигоны не будут касаться или пересекать объекты-барьеры. | Feature Layer |
Краткая информация
Улучшает визуальное и картографическое качество линий границ полигонов посредством сглаживания их углов.
Более подробно о работе инструментов Сгладить линию и Сгладить полигоны
Иллюстрация

Использование
Параметр Алгоритм сглаживания имеет следующие опции:
- Полиномиальная аппроксимация с использованием экспоненциального ядра (PAEK) - сглаживает полигоны на основе допуска сглаживания. Каждый сглаженный полигон может иметь большее количество вершин, чем исходный. Параметр Допуск сглаживания определяет длину сдвига кривой и используется при вычислении координат новых вершин. Чем меньше длина, тем больше деталей сохранится и тем больше времени займет обработка.
- Интерполяция Безье - сглаживает полигоны без использования допуска путем создания аппроксимированных параметрических кривых, совпадающих со входными полигонами.
Используйте параметр Входные барьерные слои для определения пространственных объектов, которые не должны пересекаться сглаженными полигонами. Объектами-барьерами могут быть полигоны, линии или точки.
Обработка больших наборов входных данных может вызвать превышение ограничений использования оперативной памяти. В таком случае попытайтесь разделить входные данные на части, определив соответствующий полигональный класс пространственных объектов с помощью параметра среды Картографические разделы. Части данных, разделенные между собой границами разделов, будут последовательно обрабатываться отдельно друг от друга. Полученный класс объектов будет бесшовным и совпадать с границами разделов. Более подробно см. Генерализация больших наборов данных с использованием разделов.
Внимание:
Параметр среды Картографические разделы игнорируется, если для параметра Управление топологическими ошибками задано значение Не выполнять проверку на топологические ошибки или Проверить и пометить топологические ошибки.
Домены и подтипы будут скопированы в выходные данные, даже если параметр среды Перенос доменов, подтипов и правил атрибутов не отмечен.
Выходной класс линейных объектов будет топологически корректным. Все топологические ошибки входных данных будут помечены в выходном полигональном классе пространственных объектов. Выходной класс объектов будет включать следующие дополнительные поля:
- InPoly_FID- Содержит ID объектов входных данных.
- SmoPgnFlag- Содержит топологические ошибки входных данных. Значение, равное 1, означает наличие топологической ошибки; значение 0 (ноль) означает, что ошибок нет.
Прежние версии:
До версии ArcGIS Pro 2.2 этого инструмента, параметр Сохранить конечную точку для колец использовался для сохранения конечной точки полученного изолированного полигонального кольца. Этот параметр пока присутствует в синтаксисе инструмента для совместимости в скриптах и моделях, но в диалоговом окне инструмента он игнорируется и скрыт.
Параметры
arcpy.cartography.SmoothPolygon(in_features, out_feature_class, algorithm, tolerance, {endpoint_option}, {error_option}, {in_barriers})| Имя | Описание | Тип данных |
in_features | Полигональные объекты, которые будут сглажены. | Feature Layer |
out_feature_class | Выходной класс полигональных объектов, который будет создан. | Feature Class |
algorithm | Определяет алгоритм сглаживания, который будет использован.
| String |
tolerance | Допуск, который используется опцией PAEK параметра algorithm. Должен быть указан допуск, значение которого больше нуля. Вы можете выбрать предпочитаемые единицы измерения; единицами измерения по умолчанию являются единицы измерения объекта. Вы должны ввести 0 в качестве заполнителя при использовании опции BEZIER_INTERPOLATION параметра algorithm. | Linear Unit |
endpoint_option (Дополнительный) | Этот параметр больше не используется. Ранее этот параметр использовался для того, чтобы задать, будет ли сохраняться концевая точка отдельного полигонального кольца. Этот параметр пока присутствует в синтаксисе инструмента для совместимости в скриптах и моделях. Определяет, будут ли сохранены конечные точки отдельных полигональных колец. Эта опция доступна только для опции PAEK параметра algorithm.
| Boolean |
error_option (Дополнительный) | Определяет способ обработки топологических ошибок, которые могут появиться в процессе обработки (например, пересечения и наложения линий).
| String |
in_barriers [in_barriers,...] (Дополнительный) | Входные данные, содержащие пространственные объекты, которые будут выполнять роль барьеров для сглаживания. Получившиеся сглаженные полигоны не будут касаться или пересекать объекты-барьеры. | Feature Layer |
Пример кода
Пример скрипта окна Python для использования функции SmoothPolygon в режиме прямого запуска.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.cartography.SmoothPolygon("soils.shp", "C:/output/output.gdb/smoothed_soils", "PAEK", 100)В следующем автономном скрипте показано использование функции SmoothPolygon.
# Name: SmoothPolygon_Example2.py
# Description: Eliminate small islands before simplifying and smoothing lake boundaries
# Import system modules.
import arcpy
# Set environment settings.
arcpy.env.workspace = "C:/data/Portland.gdb/Hydrography"
# Set local variables.
inLakeFeatures = "lakes"
barriers = "C:/data/Portland.gdb/Structures/buildings"
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.
arcpy.management.EliminatePolygonPart(
inLakeFeatures, eliminatedFeatures, 100, "OR", 0, "CONTAINED_ONLY")
# Simplify lake polygons.
arcpy.cartography.SimplifyPolygon(
eliminatedFeatures, simplifiedFeatures, "POINT_REMOVE", 50, 200,
"RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS", barriers)
# Smooth lake polygons.
arcpy.cartography.SmoothPolygon(
simplifiedFeatures, smoothedFeatures, "PAEK", 100, "", "FLAG_ERRORS",
barriers)Параметры среды
Информация о лицензиях
- Basic: Нет
- Standard: Да
- Advanced: Да