ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

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

ArcGIS Online

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

ArcGIS Desktop

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

ArcGIS Enterprise

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

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

Сгладить полигоны

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

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

Улучшает визуальное и картографическое качество линий границ полигонов посредством сглаживания их углов.

Иллюстрация

Иллюстрация сглаживания полигонов

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

  • Можно выбрать один из двух доступных методов сглаживания:

    • Метод Полиномиальная аппроксимация с использованием экспоненциального ядра (PAEK) (PAEK в Python) сглаживает полигоны на основе допуска сглаживания. Каждый сглаженный полигон может иметь большее количество вершин, чем исходный. Параметр Допуск сглаживания определяет длину сдвига кривой и используется при вычислении координат новых вершин. Чем меньше длина, тем больше деталей сохранится и тем больше времени займет обработка.
    • Метод Интерполяции Безье (BEZIER_INTERPOLATION в Python) сглаживает полигоны без использования допуска путем создания аппроксимированных параметрических кривых, совпадающих с входными полигонами.
  • Используйте параметр Входные барьерные слои для определения пространственных объектов, которые не должны пересекаться сглаженными полигонами. Объектами-барьерами могут быть полигоны, линии или точки.

  • Обработка больших наборов входных данных может вызвать превышение ограничений использования оперативной памяти. В таких случаях попробуйте выполнить обработку входных данных по частям, определяя соответствующий полигональный класс пространственных объектов с помощью параметра среды Картографические части. Части данных, разделенные между собой границами разделов, будут последовательно обрабатываться отдельно друг от друга. Полученный класс объектов будет бесшовным и совпадать с границами разделов. Более подробно см. Генерализация больших наборов данных путем разделения на части.

  • Выходными данными будет топологически корректный линейный класс пространственных объектов. Все топологические ошибки входных данных будут помечены в выходном линейном классе пространственных объектов. Выходной класс пространственных объектов содержит два дополнительных поля: InPoly_FID и SmoPgnFlag, в которых содержатся соответственно идентификаторы входных пространственных объектов и топологические ошибки входных данных. В поле SmoPgnFlag значение 1 означает наличие топологической ошибки; значение 0 (ноль) означает, что ошибок нет.

    Прежние версии:

    До версии этого инструмента из ArcMap 10.6.1, топологические ошибки могли генерироваться в процессе обработки. Для идентификации этих ошибок использовались параметры Управление топологическими ошибками(error_option в Python) и Сохранить конечную точку для колец (endpoint_option в Python). Эти параметры пока присутствуют в синтаксисе скрипта для совместимости в скриптах и моделях, но в диалоговом окне инструмента скрыты и в данный момент не используются.

Синтаксис

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

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

Feature Layer
out_feature_class

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

Feature Class
algorithm

Определяет алгоритм сглаживания.

  • PAEK —PAEK – аббревиатура, означающая полиномиальную аппроксимацию с использованием экспоненциального ядра. Вычисляет сглаженный полигон, линии границ которого не будут проходить через вершины исходного полигона. Используется по умолчанию.
  • BEZIER_INTERPOLATION —Строит между вершинами параметрические кривые (кривые Безье). Полученные полигоны проходят через вершины входных полигонов. Этот алгоритм не требует указания допуска. Кривые Безье в выходных данных будут аппроксимированы.
String
tolerance

Устанавливает допуск, используемый алгоритмом PAEK. Должен быть указан допуск, значение которого больше нуля. Вы можете выбрать единицы измерения; по умолчанию используются единицы измерения объекта. Необходимо ввести «0» при использовании алгоритма сглаживания BEZIER_INTERPOLATION.

Linear Unit
endpoint_option
(Дополнительный)

Этот параметр больше не используется. Ранее этот параметр использовался для того, чтобы задать, будет ли сохраняться концевая точка отдельного полигонального кольца. Этот параметр пока присутствует в синтаксисе скрипта для совместимости в скриптах и моделях, но в диалоговом окне инструмента скрыт.

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

  • FIXED_ENDPOINT —Сохраняет конечную точку замкнутого кольцевого полигона. Используется по умолчанию.
  • NO_FIXED —Сглаживает замкнутую линию в районе конечной точки кольцевого полигона.
Boolean
error_option
(Дополнительный)

Этот параметр больше не используется. Раньше он использовался для определения способа обработки топологических ошибок, которые могли появиться в процессе обработки. Этот параметр пока присутствует в синтаксисе скрипта для совместимости в скриптах и моделях, но в диалоговом окне инструмента скрыт.

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

  • NO_CHECK —Не выполнять проверку на топологические ошибки. Используется по умолчанию.
  • FLAG_ERRORS —Проверить и отметить обнаруженные топологические ошибки.
String
in_barriers
[in_barriers,...]
(Дополнительный)

Входные данные, содержащие пространственные объекты, которые будут выполнять роль барьеров для сглаживания. Получившиеся сглаженные полигоны не будут касаться или пересекать объекты-барьеры.

Feature Layer

Пример кода

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

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

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

В следующем автономном скрипте показано, как использовать инструмент SmoothPolygon.

# Name: SmoothPolygon_Example2.py
# Description: Eliminate small islands before simplifying and smoothing lake boundaries
# Import system modules
import arcpy
import arcpy.cartography as CA
import arcpy.management as DM
# 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.
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", barriers)
# Smooth lake polygons.
CA.SmoothPolygon(simplifiedFeatures, smoothedFeatures, "PAEK", 100, "", 
                 "FLAG_ERRORS", barriers)

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

  • Текущая рабочая область
  • Выходное Z-значение по умолчанию
  • Выходной M домен
  • Выходной XY домен
  • Выходная система координат
  • Экстент
  • Выходные данные содержат M-значения
  • Выходные данные содержат Z значения
  • Временная рабочая область
  • Допуск XY
  • Картографические разделы

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

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

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

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

ArcGIS Desktop

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

ArcGIS Platform

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

Об Esri

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